49
R5on11c
7y

Started using Vim and the more i use it, the more using regular editors feels like a waste of time.

Comments
  • 2
    Anything other than vim is waste of time for sure.. But I do find atom ( text editor ) to be really awesome
  • 2
    I'm still to find the allure in vim. I do use it occasionally, but the simple (and probably most important) thing about not being able to edit ehen you open a file confuses me. I usually move the cursor and start typing almost immediately, triggering some weird shortcut in the process.

    Any good link abou vim you guys can share? Willing to give it a proper opportunity. :)
  • 0
    @SISheogorath though vim seems simple but it is really complicated if you try to learn just the basic shortcuts. So just go with the simple and most used ones
  • 0
    @SISheogorath heard about vim tutor ? That's an inbuilt tutorial that you can access
  • 0
    @SISheogorath moreover it's a self help type so don't even need to depend on someone 😁
  • 3
    Whenever I hear the benefits of using vim, I usually hear only about the bulk operations, at which point I'm just thinking:
    "Why would you have that bulk repetitive code in the first place"?

    Everything else? Auto indentation, bracket placement, finding stuff - is present in other editors as well, with not a significant difference in usability.

    How about refactoring? Sure, you can change occurrences in one file, but what if you don't want occurrences, but you want an actual inner scope variable changed in just 1 method and not the rest of them. What if you want to change a class name?

    When most of the demos of the good features of vim were done on crap code, or very small projects, I can't help but question the actual helpfulness of it.
  • 1
    Welcome to the cult of Vim. You'll never figure out how to exit.
  • 1
    @apisarenco you can use it through an SSH session.
  • 0
    @coffeeframe currently i am playing around with certain plugs such as startify.
    Now i have a splashscreen that shows the 50 Blessings logo as ascii art and "50 BLESSINGS" below. Next up would be trying to animate that.
  • 0
    @R5on11c if you're not already familiar, Vundle is a great package manager for Vim. https://github.com/VundleVim/...
  • 1
    The editor/IDE should make coding as simple as possible, so the developer can concentrate on the code. Learning thousands of shortcuts and basically a new language, just to be able to control the editor, is the worst case in my eyes. It might be the best terminal editor, but welcome to the 21st century, we have desktops and a mouse. Even on distant machines I can just connect with WinSCP or any Linux alternative and edit through Sublime or whatever.
  • 2
    @coffeeframe why would I do that?
    Why would I develop through SSH?

    First: It's slow.
    Second: It's a bad practice. SSH usually means production or something. One does not edit code in production.
    Third: Even if I did, it's better to just use sshfs.

    And even when I do have to edit something (a config or whatever), nano works just fine, without the masochism of using hjkl. But that too, shouldn't happen if you're using stuff like salt stack.
  • 2
    @SISheogorath "Last but not least I don't know any other editor that has an :earlier command to jump back and forward in the timeline of a file no matter if it was committed or not." - JetBrains has that feature in all of its IDEs. A comprehensive history of every change, independent on version control. You can compare changes at different times, see the time when they were made, revert, or whatever else you want.

    Visual Studio Code has lots of history plugins. From clipboard history, local file history (every file change), historic edit locations navigation within files.

    Probably Atom has something similar.
  • 0
    The thing with Vim is that i don't need to thibk about anything that isn't right at my fingertips. I don't need to reach out for any gui implemented function.

    Also i don't need to woery about any nieche case or function.
    File too big? No problem.
    Can i search between 3 files at the same time? Easily

    You can simply tap out of your usual limitations. I do agree that it takes a bit to learn vim and it takes a while. But once you have a certain base knowledge and you got used to the way vim works, you don't really spend much time thinking about how anything works. At least in my case.

    I use Vim since almost a week. Editing and writing files looks like wizardry from the outside but is simply the intuitive combination of simple concepts and functions on the inside. And that is what makes Vim so powerful. Its simple and easy in it's core and can ve used and personalized toal a powerful tool.
  • 0
    @R5on11c "I don't need to reach out for any gui implemented function. " - can you change the name of a class? Can you find whether a method is being used anywhere? Can you see which variables aren't being used, or which public or private members are never used? Can you navigate to the declaration of an identifier? Can you quickly open a file in any directory of your project? Can you debug code?
  • 0
    @R5on11c actually part 2:

    Can you automatically implement an interface? Can you immediately see which members are not implemented? Can you quickly encapsulate fields, by automatically modifying every usage of that field to turn into getField() and setField(value) instead? Can it detect unreachable code? Does it support strong-typed languages so that you could validate the code before compiling, if the types aren't mismatched? Can you select and run only pieces of code (in Python for example)?
  • 0
    @SISheogorath "In general the answer is: what ever you can do in a shell, you can do in vim, too, and more." - the problem is that you can't do much in shell actually. And the questions were asked specifically because I know that vim doesn't do that. You can't rename a method so that the change would propagate across files.
    You can't do a lot of the stuff that I mentioned. Because vim is a glorified text editor. Not an IDE. It should not even try to pretend to be an IDE because it's not. And anyone who says that it's the best, is doing more harm than good, because it causes people to actually lose time on a tool that's completely useless to them.
    This hype is totally not worth it, and is fanatical false advertising. It can never replace an IDE. Nor is it the fastest development tool out there. Not when you're dealing with a large, properly designed application that's not all in one file.
  • 0
    @apisarenco A few things. First off, Vim over SSH can be used for more than just Dev. It's also useful for admin tasks like editing config files or regular old text files. Some version of it (usually Vi) generally also comes standard in nearly every Distro so it's pretty much always available.

    It's really not that slow, especially if used in conjunction with something like Mosh.

    Not everyone devs with different testing and prod environments. Some people just have their own servers that they use for whatever, or Dev with SSH on a weak machine like a Chromebook. I ran a headless Tor node for years that I configured entirely with Bash and Vim.

    My University's CS department even mandates that students do their homework and projects on the department servers over SSH, generally with Vim. This way you never get the "it worked on my machine scenario" and it can be submitted directly from the command line. Just type a quick command and boom it runs some unit tests and sends it right to the professor.

    People other than corporate devs use Vim, and their use cases are no less important than yours.
  • 1
    @apisarenco you are kinda taking blind-shots here. I was merely sharing my viewpoint here and my experiences with vim. Also you seem a tad to comfortable with throwing around with dotNet examples.

    I currently work in a dotNet core project, and we have generators for most of the redundant code. Also you can pretty much implement every algorithm you need into vim if you desire to do so. And there are already Plugins for those who want to have IDE functionality from what i can gather from a quick google search.

    I am not trying to glorify Vim. Where i work we use VScode VisualStudio, emacs, Atom and Vim next to each other all alike. Everyone should take what fits his or her needs the best.

    Also, there is no Vim hype. Hell people are even afraid to look at it by default.

    The way you describe the issues with Vim shows that barely had any contact with it, and i am not trying to convince you to use it. But please do more research and be more constructive...
  • 0
    @coffeeframe editing config files should also be avoided. Use Salt Stack. Otherwise it's easier to just use nano or something since it doesn't require 2 months of learning.
    Developing on weak machines is also irrelevant because devs make enough money to afford a nice ultrabook.

    The practice in universities to force work over SSH is bad in my opinion, because it educates people to work on production environments, instead of using stuff like Vagrant to replicate the production environment, and CI in order to automate deployment and testing.

    I'm not saying that their use case to use vim is not important to them. I'm saying that whenever I hear about vim, I hear a ton of hype, with almost no detail, and complete ignorance of the features of modern alternative editors and modern IDEs.
    I wasted days because of this false advertising, trying to make things work, realizing that some features that are crucially important to me, are missing.
  • 0
    @R5on11c the only mention of "net" in this thread is from your post. I didn't work with .NET for a year now, but regardless, still see the same necessities, unless I build very simple scripts or something.

    I cannot program vim for renaming a class member throughout a project. If I did that, I'd have the opportunity to sell this for 100$ per license easy.

    And there is definitely a vim hype. Just one page of devRant had 3 vim posts, which facilitated my "rant" response to one of them.

    I did research. I could not find a decent implementation for a lot of features, and other glorified features that vim has, are made simpler in editors like Sublime and Visual Studio Code, and IDEs from JetBrains.

    And actually such responses like "you probably didn't do enough research" causes people to actually waste even more time on something that can't possibly fulfill their needs.

    The main problem is the narrative: It's for every developer, and everyone becomes faster. Which is grossly false.
  • 0
    @apisarenco My home environment is around half a dozen devices with non-similar roles and configurations. Using something like salt stack in that environment is overkill. It provides zero benefit and adds additional complexity to my site.

    As for nano. I don't use nano because I don't like nano, I like Vim. That's just my workflow and baselessly criticizing it because it differs from yours is absurd.

    Your assertion about SSH teaching dev on production is baseless without further elaboration and data.

    The fact that you tried it and didn't like it is not my problem. Different people have different workflows and if it didnt work for you I'm sorry but that happens. Personally IDEs don't work for me, I prefer to be hands on with my work and know the cogs in my machine so to speak. Thats why I use Arch over something like Debian. Debian is great but not my style.

    And yeah, sometimes we in the dev/FLOSS community can be overenthusiastic, but we're doing it out of love not maliciousness.
  • 0
    @apisarenco I understand where you're coming from. I don't like tiling window managers like i3, awesome, or whatever the new hipster WM is today. I can't be bothered to learn a dozen new key combinations to do something as simple as opening a web browser. So I don't. I get that some people love them and that they get a marginal speed benefit in their day-to-day, but I tried it and didn't like it. So I use something else instead.

    And that's perfectly okay.

    Don't let other people dictate how YOU run YOUR systems. That up to you and you alone. If someone tells you about something cool and you think it might provide a benefit, give it a try. If it doesn't interest you, than don't. If you tried it and don't like it, go back to your old thing. Don't keep trying to tough it out, it never ends well.

    " Do not complain about anything to which you need not subject yourself." -Anton Szandor LaVey
  • 0
    @apisarenco you can open multiple buffers and execute through each the desired command or command combination. So practically you can do that.
    I can see that you percieve the current reaction to Vim as a hype. There are not to many Vim users in comparison to other IDEs and finding likeminded people is refreshing from time to time.
    I can also see the appeal of out-of-the-box functionality with easy to learn usage from your IDE listings.
    The thing is though, that noone forces you to plow through Vim until it fits your needs or you give up on it. I never said it makes everything faster for every developer. All i am saying is that it makes life faster for ME, which is my personal experience. I would invite people to try Vim and see for themselves if it fits their style.

    But what i can't stand is dumbing it down to "Vim doesn't do what i need out of the box so it's useless" or as you said it to be for "building very simple scripts". This is simply not true.
  • 0
    @coffeeframe I'm not saying nano workflow is overall better than vim. I'm saying that for the rare occasions when such work is warranted, it doesn't make sense to spend weeks of learning to edit text in a program that doesn't make sense to use otherwise.

    The benefits of Salt Stack is that you usually have more projects than just one, and they all require an environment, and if you're like most devs, you use almost the same stack everywhere. Which means that starting a new project would mean creating a new VM (VPS), forking the salt stack repo, and initializing it. Very fast and efficient.

    Editing on production is BAD. And I'm surprised that I have to explain why.
    1. Changes can be easily overwritten and lost forever.
    2. Changes aren't being tested before deployment.
    3. The absence of a "central point of truth" - which place stores the correct code?
  • 0
    @coffeeframe "The fact that you tried it and didn't like it is not my problem." - and it shouldn't be. But your problem is that you're doing false advertising. You and a lot of other people. This is the same kind of fanaticism and elitism that has been with Apple 7 years ago. What this does is just alienate people in the community, making them waste a lot of time uselessly, divide it. You can stop doing that simply by being objective and aware that there are more than 1 way of doing things extremely fast and efficiently, and for many - that doesn't include vim. Vim works for a specific kind of workflow. It only caters to a specific subset of needs. And that should be the message.
  • 0
    @R5on11c " dumbing it down to "Vim doesn't do what i need out of the box so it's useless" " - it's not dumbing down. It's stating facts. You can't do important things in it, that you can do in other editors, unless you spend months on developing these features, which means IT DOESN'T DO WHAT I NEED IT. AT ALL.

    And THIS, THIS exact attitude is why I keep saying that this is a community driven by elitism and fanaticism.

    Because it's not "it doesn't support it", it's "you just don't know how to do it", even though nobody has any specific answer on how to do it. And it's not stating facts, but "dumbing down". Because it's the "OTHERS" that dumb things down and don't know what they're talking about, just god forbid not you and your holy vim.

    Acknowledging facts is the first step towards your own, and everyone else's improvements. If you want to hold on to myths - go ahead and live in the stone age.
  • 0
    @apisarenco I think you're misunderstanding me. I'm aware that developing on prod is bad. Nobody is
    arguing that point. What I'm saying is that you're drawing a link between using a text editor over SSH and developing on a production system without anything to back it up.

    Vim makes plenty of sense to use, and I use it every single day. I'm not a fan of programs that hold my hand or think they know more about what I want than I do, and those hours spent learning Vim were something I enjoyed, which itself has intrinsic value.

    Also, you're looking at this from a completely corporate developer oriented perspective. There are other people with other use cases that are just as legitimate and just as important. For some of these people, vim is the perfect tool.

    Now let's take a look at salt stack. Say I take your hype at face value and deploy salt stack in my environment. At that point not only do I need to learn it, but other relevant personnel may need to learn it as well, and it may not even be the optimal option for our environment. Now I've wasted hours or days of not only deploying and learning salt stack, but removing it to reverse the damage. At this point, how are you different from those people who seemingly forced you to use Vim?
  • 0
    @coffeeframe "using a text editor over SSH and developing on a production system without anything to back it up." - because you ssh to remote machines. Why? The only times I do this is when manually deploying stuff or updating the machine. I did do some work on Raspberry PI at first via SSH, but quickly it became a lot better to just mount it with sshfs. Everything became a lot more responsive. And after that it became even faster and safer to test the code locally (with simulated GPIO, then deploy it to "production"). Basically any situation where you think you have to develop via SSH, can be drastically improved in ways where you no longer write code via SSH.

    So when do you write code via SSH? Well it has to be when you do it on another machine.
    Is it a development machine? Mount it, since it will give you more flexibility.
    Is it staging or prod? You shouldn't even access the files directly there.

    So what is it? What's the case?
  • 0
    @coffeeframe "Also, you're looking at this from a completely corporate developer oriented perspective." - again, you're missing the point. I'm not saying that you or anyone else shouldn't use it. I never did.

    I'm saying that you should listen to your own words. There are different use cases. Therefore it's ONLY GOOD FOR A SPECIFIC USE CASE. So stop saying that it's better than anything else. Not you in particular, but vim fans, stop spreading bullshit!

    As for salt stack: the learning curve is extremely small. The `tar` command is harder to use than salt stack. And configuring it is a piece of cake. I learned it in a couple of hours. Saved me days/weeks in the following year.
  • 0
    @apisarenco Sure thing. I ran a home server as a personal Minecraft server. Arch linux, completely headless. Got Arch installed on the disk and opened up an SSH port. Threw it next to my router with a physical connection with no mouse or keyboard and completely configured the rest over SSH. After a while I started adding other services to it since Minecraft wasn't really demanding on the hardware. DHCP, DNS caching, torrent seeding for various libre software. All Vim over SSH. every bash or perl script, every conf file, every .*rc, and every cron job. After that I set up other machines over SSH. Why? Because I enjoyed it.
  • 0
    @apisarenco I'm not saying it's for every scenario. Not once have I said that. I also never said it was the best. That's subjective. I did say that I prefer it for what I do and that you can use whatever other text editor or IDE you want. Nobody is going to stop you. We're also not going to go into a post saying "Visual Studio is great!" and crap all over everyone who uses it because we don't like it ourselves.

    Also, you're right. It's useful for a very specific use case. Editing text. That's because it's a text editor. You can use it any time there is text that needs to be edited or otherwise generated. I've never said that you should use Vim as your version control, or as your hypervisor, or anything of the sort. I've said some people use it for text and it's perfectly capable at that job
  • 0
    @coffeeframe so you enjoy doing repetitive tasks. Good for you. It doesn't mean that it's good for developers though.
  • 0
    @apisarenco That's perfectly fine. Not everybody who uses Vim is a developer. It's unfortunate that you don't find Vim to be to your liking, but some people do. TL;DR, there's no need to be hostile or to start another editor holy war. I'm not going to tell you how to manage your workflow and I would only ask that you extend the same courtesy to others.
    Good day now, I've an episode of Twin Peaks to finish. :)
Add Comment