Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Whereas I view vim as simply a necessary evil and I mean "necessary" in the sense that I want to edit something over ssh.

Bret Viktor's oft-quoted "Inventing on Principle" talk touches on this subject where a lot of research has shown that bimodal editors are worse. While I can't argue for how true that statement is, it's certainly been my experience. I always find it jarring to think I'm in command mode but I'm actually in edit mode or vice versa. Any vim user has had the experience of pasting text in command mode. I just absolutely hate bimodal editors.

Additionally, staunch vim (and emacs) users I know seem to spend an inordinate amount of time screwing around with plugins to get some pale version of behaviour you get out the box on any halfway decent IDE or even text editor.

I feel the same way about learning yet another series of keyboard shortcuts for, say, tmux/screen.

You could argue the mouse is slower. I'm not sure if this actually holds up to empirical measurement (or at least not to the degree that's claimed) but the point is, the barrier for entry is so much lower. You can just click around and find things. If you find yourself doing something a lot, you can find out what the keyboard shortcut is.

Thus you don't need to spend 50 hours upfront on a GUI editor.



It's possible to go overkill with learning tons of unnecessary shortcuts, but in my opinion all you really need for tmux is attach, detach, split horizontal, split vertical, fullscreen.

5 shortcuts is a paltry investment for a pretty sweet gain.

And unlike an IDE, this can be readily available on any machine you SSH into. Which is also what makes VIM so handy.


From the point of view of "onboarding" (aka barriers to entry), as you say, point-and-click is miles ahead of the unfriendly-at-first-glance Vim.

But I'd like to say that I cannot honestly recall an instance where I was in normal mode and ended up pasting something -- I assume you mean Ctrl-V-ing and having the paste interpreted as commands? -- once I got used to it after leaving Sublime Text, which I'd say took me a couple of weeks of hating myself. It's a matter of how much effort one thinks it makes sense to put into learning the editor, but IME there is a significant payoff, even if it is hard-won.

I'm not sure if it's harder for some people to internalize (which is by no means a value judgment; it's why Emacs/ST/Atom/whatever exist and are powerful) but once that is done, one never gets confused about what mode you're in simply because one is almost never in insert mode! "Probabilistically" speaking, you are in insert mode for 0 time. ;)

In any case, I don't hate non-bimodal editors, just hope that the subset of those using them who have not seen Vim for what it is yet do so quickly. (And, of course, there are those who are genuinely repulsed by modal editing, and that's fine!)

I can't speak to "inordinate amount of time screwing around with plugins": I have a plugin for each language I use, and perhaps four or five others. The rest of my init.vim (I use Neovim) is about ... 30 lines long? It's my experience that most (Neo)vi(m) users use little of the power of plain vi -- I know that because I myself was like that for almost three or four years after I started using Vim. (This is ignoring, e.g. large Java projects, where IDE-style code navigation is basically a requirement if you want to get anything done.) But there is definitely a culture where a customized-to-the-hilt editor is seen as something to be proud of, and why shouldn't it? It's what you "live in", isn't it? :)


The 'micro' text editor is a fantastic vim replacement for SSH editing. It's a text-ui like vim, but it has mouse support (for selecting text, etc), and keyboard shortcuts that match bio stands, ctrl-s for save, ctrl-q for quit, etc.


Worth noting, Vim has full mouse support for scrolling, selecting text, resizing windows, etc. in the terminal and when working over SSH.


> You could argue the mouse is slower. I'm not sure if this actually holds up to empirical measurement

It is slower, and does hold up to empirical measurement. Yes, if you want 'ease of onboarding', then vim is not for you. It's a powerful tool for professionals, and like a lot of such tools, it requires some training. No-one ever complains that Photoshop requires training, yet a brand new user to Photoshop is completely befuddled and it takes a long time before they're proficient.


I've owned Photoshop since it was distributed on diskettes and I'm still befuddled every time I need its impressive power. (I'm not a professional graphics/photography person so I use the program only a few times per year now.)

I think this is a really good analogy to using pro-level text editing tools (e.g. Emacs or Vi). A mouse is great for poking around menus and operating sliders in a new or unfamiliar program, but Emacs and especially Vim are so fast to use without a mouse that it pains me to watch other programmers editing while using one.

ST is a fine editor, and I use IntelliJ for Java, but I've already spent the time (years) learning Emacs. Is it worth it for me to start over? No. I use IntelliJ for Java programming, but I use only its basic Emacs keybindings and the mouse for everything else (befuddled like I am in Photoshop).


You don't know the right vim / emacs users then :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: