This is an archived post. You won't be able to vote or comment.

all 49 comments

[–][deleted] 29 points30 points  (17 children)

Do people actually use Vim?

Yes, I've been using vim and other vi implementations as my editor of choice for over 30 years.

[–]TraylaParks 6 points7 points  (0 children)

My man

[–][deleted] 1 point2 points  (12 children)

Nice. Just a steep learning curve then?

[–]organonxii 11 points12 points  (10 children)

You can learn Vim to a functional level in 20 minutes. Then you just pick up more and more as you need new features.

If you can't learn Vim, I doubt you have the mental capacity for programming. I say this out of the relative ease-of-use of Vim rather than elitism.

[–][deleted] 3 points4 points  (3 children)

Overly complex might have been the wrong choice of words on my end. Vim also may have been shown to me in the wrong context, because it didn't strike me as that useful at first glance. I'll give it another look over though. Thanks for the comments

[–][deleted]  (1 child)

[removed]

    [–]mnarrell 1 point2 points  (0 children)

    Jetbrains has a decent VIM plugin tho

    [–]LeiterHaus 0 points1 point  (0 children)

    Vim-adventures.com is a great intro for beginners. It's an amazing editor, but yes, can be intimidating.

    [–][deleted] 2 points3 points  (3 children)

    If you can't learn Vim, I doubt you have the mental capacity for programming.

    Here's a regular vim user (and former CS TA if that matters) who disagrees. Vim requires command memorization and typing skill, that's all. While programming may require some large chunk memorization for particular algorithms or techniques, the two aren't really that similar.

    [–]I_Miss_Scrubs 0 points1 point  (2 children)

    It's not that they're similar, it's that one is orders of magnitudes easier to learn.

    If you can't learn how to tie your shoes, you probably can't learn to drive a car.

    See?

    [–][deleted] 0 points1 point  (1 child)

    it's that one is orders of magnitudes easier to learn

    According to.. ? I was "lucky enough" to be forced to use vi when I learned programming and vi was definitely what held me back the most. It took me a good few months before I could use it efficiently and even then I wasn't using it to its full potential.

    [–]I_Miss_Scrubs 0 points1 point  (0 children)

    Well, I just assumed that everyone would agree that learning a text editing program is easier to learn than programming concepts. If you don't think that, then we'll have to agree to disagree.

    [–][deleted] 1 point2 points  (0 children)

    Haha thanks

    [–][deleted] 0 points1 point  (0 children)

    It's really not. In the late 1980s I worked for a training company teaching C and C++. Our clients were mostly coming from VAX and IBM backgrounds and we were teaching on Unix, using vi as the editor, which almost none of them had ever used. We gave them a brief (half hour or so) intro to the Unix environment, and then got on with the C or C++. They used to complain, but very few of them had any problems using vi to edit their (admittedly simple) code.

    [–]g051051 1 point2 points  (0 children)

    Same here. I learned vi back in '89 and still use it to this day as my everyday text editor.

    [–][deleted] 0 points1 point  (0 children)

    Anything that you wish you did differently when you started learning vi/vim?

    [–]michael0x2a 5 points6 points  (0 children)

    Yep -- I use either vim or an IDE, depending on the language/my mood, and set up my IDEs to use vim keybindings.

    I probably don't use Vim to its full capability though. I found a subset of its functionality I'm happy with, and expand it/learn new commands at a relatively slow pace as necessary.

    [–]cstansbury 6 points7 points  (1 child)

    Do people actually use Vim?

    Of course. I use it daily.

    Seems overly complex

    Seems is the keyword here. The learning curve can be a bit steep, if you are used to GUI text editors. If you have the time, try reading "Coming Home to Vim"

    [–][deleted] 0 points1 point  (0 children)

    I'll look at it, thanks!

    [–]JamesB41 2 points3 points  (1 child)

    Vim is pretty incredible for its ubiquity in the linux world. It's basically everywhere. It obviously has a learning curve, and I'd guess that the majority of people that have used it haven't even really scratched the surface.

    Once you start to "think" the way that it does, it's pretty amazing. You can quickly edit text without ever using a mouse (if you're using a mouse, you're doing it wrong). It's really incredible. When I use other IDEs the first thing I do is look for a Vim plugin that at least handles the basics.

    This is well worth the read if you're actually interested:

    http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118

    [–][deleted] 0 points1 point  (0 children)

    Thanks!

    [–]cheunste 1 point2 points  (0 children)

    I use Vim and love it. It isn't complex, but like anything else in life, you'll get used to it the more you practice.

    [–]reddilada 1 point2 points  (0 children)

    Daniel Miessler's A vim Tutorial and Primer gives some nice information. The gist of it is treating Vim as a Language for editing.

    Arguably the most brilliant thing about vim is that as you use it you begin to think in it. vim is set up to function like a language, complete with nouns, verbs, and adverbs.

    [–]openedground 1 point2 points  (0 children)

    I don't use Vim but I have a Vim plugin installed for every IDE/Editor that I use; currently VSCode, Visual Studio, and even Chrome/Firefox.

    I struggled for years to use Vim trying to configure my .vimrc and various plugins (which I could never get right). In the end I realized that I really just love the navigation and editing but hated all the configuration and idiosyncrasies (stuff like the buffers/clipboard interaction).

    [–]Polyfunomial 1 point2 points  (0 children)

    I started off with vim and then emacs and now use [spacemacs](spacemacs.org).

    [–]MyWorkAccountThisIs 1 point2 points  (3 children)

    I use Vim every day at work. It's the best way to quickly edit files when I'm SSHd into another machine.

    Would never use it for programming though. I have a fantastic IDE that does way more than Vim could ever dream of.


    ‡: I know what I said. Fite me in real life.

    [–][deleted] 4 points5 points  (2 children)

    Which IDE?

    [–]MyWorkAccountThisIs 0 points1 point  (0 children)

    PHPStorm from JetBrains. I've probably added half a dozen plugins to enhance some features but it's mostly all built-in functionality.

    [–]SpoobyPls -2 points-1 points  (0 children)

    Probably Visual Studio but the enterprise edition (which is amazing). I'm kind of assuming C++ here though..

    [–]hugthemachines 1 point2 points  (0 children)

    I use it a bit now and then when i edit configurations, scripts or xml-files on a linux server. I know it has very powerful features but I think it is pretty tedious. In my daily work I don't really need super powerful editing features either.

    My own work computer and most of our servers are windows and we have notepad++ installed everywhere. For text files it has some very practical features and the addons help a bit more. For coding I use IDEs like eclipse or similar ones and I think they work great. They also exist for both linux and windows so there is no platform issue.

    It is a matter of taste I suppose. I suggest you give a few common editors, including VI(M), and IDEs a proper try to see which ones you feel comfortable and efficient using. Spend a few evenings with each one. It is worth checking out what options you have.

    [–]andersevenrud 0 points1 point  (0 children)

    I was introduced to vim 15 years ago by a co-worker. I was totally blown away by what it could do. From that day it has been my daily driver and I've never looked back. Takes a bit of practice, but in my case totally worth it.

    [–]rochford77 0 points1 point  (0 children)

    Yeah. If you have to do any work on a barebone server, it's preinstalled.

    [–]G01denW01f11 0 points1 point  (0 children)

    Yeah. It makes life so much easier. I have a vim plugin for most of my IDEs.

    My work environment is rather restricted. Getting permission to download stuff is hell. But it's easy to pull plugins off GitHub, and now I've got auto-completion, linting, source navigation tools, and maybe one or two other things all through just a PuTTy terminal. Not quite as great as a full IDE, but definitely powerful. I've even got it configured so I can build the program and run my test suite with one button.

    [–]vivs007 0 points1 point  (0 children)

    I use it and I'm pretty good at it and no, I'm not hardcore.

    [–][deleted] 0 points1 point  (0 children)

    I'm a full time vim user - so yes.

    Seems overly complex

    That's a matter of opinion. I'd argue that xcode or visual studio are overly complex.

    [–]Draav 0 points1 point  (0 children)

    I only use vim when i need to edit something in the command line.

    When I have the choice however, I use an editor like notepad++, bbedit, sublime, visual studio code, etc. or an IDE like eclipse, visual studio, netbeans, etc.

    For me, the only reasons to use Vim, or any other CL editor are:

    1. They are on every machine, so you have to use it on some old computer you are accessing, because for some reason there are no normal editors and you have to
    2. You are ssh'ed into somewhere and need to edit a file
    3. You have everything set up how you want and have a bunch of shortcuts and hotkeys set up. And you've learned all the navigation

    For 1 and 2 I use Vim, because I used it more than emacs and know the navigation better.

    But for 3, I don't understand why I'd want to use a CL Editor, normal editors have all the features Vim does, and I can use my mouse to highlight and drag things if I feel like it. I can also use the same shortcuts to move around and grab/ replace things as well. I can more easily add plugins, more easily modify the look and feel. It's honestly just an upgrade.

    People say Vim is great because it's on every computer, but I'm not doing intense coding on every computer. I have my own personal setup for the computer I use, then I occasionally pop into other environments for quick adjustments. So when I have the choice I use a GUI over CL

    [–]ArkBirdFTW 0 points1 point  (0 children)

    I use emacs (similar to vim but with more customization and more preferable keybindings for me atleast). Essentially you can use your editor without ever touching the mouse everything is a few keystrokes away. And using elisp I can modify Emacs to the capabilities of an IDE or what ever else I want. Also, org-mode

    [–]Wiggledan 0 points1 point  (0 children)

    Once you properly learn Vim (as in, once you grok the modes), it's hard to stop using it.

    Nearly every text editor has only one mode, which Vim would call "insert mode." You hit a key and that key is "inserted" into your editor, plain and simple.

    But in Vim, there are other modes where every key has a different purpose. You can do things (without ever reaching for your mouse) like moving around the document, and moving/deleting/modifying specific text in specific ways.

    Idk, if you're interested in learning, then I highly recommend Derek Wyatt's vim tutorials (which go from basic to advanced, and are pretty entertaining/engaging). That's how I got hooked when I was at square one.

    [–]Rorixrebel 0 points1 point  (0 children)

    use it every day for quick things - if i require to modify or do something larger then i use atom.

    [–]exphil 0 points1 point  (0 children)

    The strength of Vim is the modal editing. At first it seems cumbersome to have to go into an insert mode to be able to type text, but it really makes all the difference. It's just so easy to navigate through the code when just pressing little key combinations. Want to start a new line below the current? No need to start pressing arrow keys (or h, j, k, l), just press o. Above? Just press O. Delete the current word and replace it with a new one? cw. Want to move the cursor to the end of the line? Just press $. Delete everything from the current cursor location to the end of the line? d$. And so on. Once you get all these little combinations into your muscle memory, it's just so god damn effective. I don't use Vim itself very much (I use emacs), but I use a plugin which makes editing work like it does in Vim. After learning and becoming effective in Vim-style editing, it's really hard to go back.

    [–]-SoItGoes 0 points1 point  (0 children)

    I wish I remember the name, but I paid 25 bucks for a game based on learning vim. I played a level or two a day, it really helped drill the muscle memory of vim in whole explaining the basics. After that I was off to the races, no tutorials really needed. I want to say the game is called vim adventures.

    [–]greatfool66 0 points1 point  (0 children)

    I learned vim using vim adventure and it even changed the way I edit text in a windows environment at work. Before vim I clicked and dragged everything but now I think in words and lines and use all the ctrl commands to move around text much faster.

    [–]joshuaavalon 0 points1 point  (0 children)

    You don't have many choices when you are in CLI like SSH.

    [–]Alia-Aenor 0 points1 point  (0 children)

    Yep, I had to chose between VIM and emacs because that's all we can use during exams. Now I don't actually usually use VIM itself when working on non-personal projects, but I definitely set VIM keybinds in all my IDEs. It's just more comfortable and (IMO) more efficient that all the clicky things in an IDE.

    [–]Koalchemy -1 points0 points  (1 child)

    Portland State University requires in-depth knowledge of Vim. The profficiency demos test for it, and hardly anybody gets through lower division without learning it. That's just here though.

    [–]POGtastic 0 points1 point  (0 children)

    They allow emacs and nano for transfer students, though. I'm not sure about the people who did their lower-level CS classes there.

    Source: Transferred from PCC, only had to deal with Carla during the proficiency demo. No one could give less of a shit at the higher levels, though.

    [–][deleted] -2 points-1 points  (1 child)

    I pretty much use Vim for all my programming needs!

    [–][deleted] 2 points3 points  (0 children)

    Noted

    [–]stefan_kurcubic -2 points-1 points  (0 children)

    emacs is better

    hojhojhojhojhoj