18 ms·
I've been a heavy Vim user for 20 years, and I hear people say this all the time. Recent converts especially love to write breathless blog posts exalting Vim's
by jmcphers 8y ago
I've been a heavy Vim user for 20 years, and I hear people say this all the time. Recent converts especially love to write breathless blog posts exalting Vim's editing model as the One True Way, but the truth is that if your editing speed is the bottleneck for your productivity, you must surely be some kind of software engineering deity. There's absolutely no shame in sticking with a model that works for you if you're productive and efficient.
- computerex 8y agoCompletely agree. Use whatever you're comfortable with. No one should feel any shame for not using VIM/Emacs. But with that said, I feel like once you are comfortable with these tools, it's a more pleasurable experience.
- godelski 8y agoThey all do pretty much the same, just implemented in different ways. The only reason I tell people that vim is the better choice (when starting from scratch) is that Vi is on every unix system and it is nice to be able to work on any machine. If you don't plan on using unknown machines, do whatever works best for you.
- greenhouse_gas 8y ago>Vi is on every unix system Except Debian's install CD. They only have nano.
- godelski 8y agoAre you sure? I just looked through an old Debian 8 iso that I have and it had vim in it.
- ssijak 8y agoI often have something to do on some remote linux server and I want to kill my self every time I open some large file in Nano trying to edit something. Also, when programming, my writing speed is not my bottleneck, but I hate using my touchpad to move the cursor and want to learn vim for both editing prownes and server file editing too.
- andrewmcwatters 8y agoThanks for chipping in with this. As an Atom undesirable, I've found myself wanting to use Vim now and again over the years, but I know that my productivity shortcomings revolve mostly around motivation, drive and cognitive ability, not typing speed or editing slickness. I think with a handful of keyboard shortcuts I can mostly keep productive speed, although I'm sure I'd never outpace a Vim user.
- yodsanklai 8y agoSame here, I've been using Vim for a long time. The main reason is that I touch type and I really don't like to use the arrow keys. However, I really wonder if I'm really more productive using Vim rather standard shortcuts plus the trackpad.
- jdc0589 8y agoI know im vim'ing wrong, but I just can't stop using arrow keys. Part of it is because I end up navigating around a little bit in insert mode sometimes, and switching between arrow keys for insert mode ans hjkl for other modes seems dumb. I don't have a problem using hjkl, I guess my problem is NOT needing to move around inside insert mode. Tips?
- furgooswft13 8y agoThe vim way is to simply escape out of insert mode, do your movement commands, then go back in. But you can also use ctrl+o [movement command] while in insert mode to do one-off movements and end up back in insert afterwards. I honestly don't think however that you betray any vim sacred cows by using the arrow keys, or even the mouse when they are convenient. Such as when in insert mode. hjkl is just much more convenient in normal mode while your hands are already in the right position.
- maxk42 8y agoiNavigating in insert mode is your problem.ESCo iThe default mode is called "normal mode" for a reason.ESC:wq
- richchurcher 8y agoAs furgooswft13 notes, you can use Ctrl-O <command> to issue single normal mode commands from insert mode. Most purists would say switch to normal mode to navigate, and by and large that's true (especially, IMHO, if you bind 'jk' to Esc which is much faster for a touch typist). However, insert mode does let you do this to avoid the arrow keys: inoremap <A-h> <Left> inoremap <A-l> <Right> inoremap <A-k> <Up> inoremap <A-j> <Down> Which some would say enforces 'bad' habits, but I reckon do whatever feels effective to you. If you do find yourself leaning on the direction keys for more than a few repeats, there's probably a faster way though!
- jsat 8y agoI think editing friction can take a toll on your total mental energy. I also think that workspace automation can significantly improve the speed at which you complete a task. Vim macros make repetitive tasks on any size file a breeze.
- crehn 8y agoI concur. It's often easier to reduce the negative effects of friction than it is to increase the positive effects of efficiency.
- jdc0589 8y agoThis. I switched to Vim full time as part of starting a new job and picking up a new stack/language, because I was so frustrated with how useless/frustrating Ruby IDE and editor environments all seemed. The only time my progress is hindered (im still not amazing in Vim) is during debugging, which is why I'm pretty excited about this update.
- vbezhenar 8y agoYep. I think that I know vim well enough, it was a time when I spend months in vim writing C++. vim really shines when you need to do some repetitive tasks. But I've found out that in recent years I don't have those tasks. I'm using Intellij Idea now. If I need to do some repetitive thing, I either rethink the task; use search-replace with regex or just use Idea multiple cursors. Sure, vim might be a little bit better at text editing, but given that I'm spending may be 1% of time on text editing, this optimization just doesn't matter. I tried IdeaVim and decided to stay with traditional hotkeys. But my vim knowledge helps me every time I need to configure a Linux server, so it wasn't a completely useless experience after all.
- nsomaru 8y agoIt's not always about typing speed. When typing you are articulating a thought process to the computer, and the faster you can articulate the current thought, the quicker you're on to the next one (although that may involve pondering and not typing) and so on. Vim has really useful "intermediate" things like registers, macros, :args and :argdo which make some menial tasks a little more bearable. It also speaks to a part of myself that wants to force myself to use the terminal so that I am forced to use an environment which is, in some sense, fully programmable. Also it's nice when you log in to servers (yes, some do still do that; the dying art of vimming over 400ms This is not necessarily a universal viewpoint. As for plugins, its usually better to learn to do things in pure vim first so that you're not crippled when you get some vanilla goodness 400ms away. Viva vim, viva mosh. Have had some issues with neovim, jedi, jedi-vim python-language server. The prediction looks okay, but it always lags the UI slightly when pulling up predictions which is jarring. This is one part of Pycharm that is missed. edit: lots "clicks" when you understand verbs, nouns and more complex movements. it's rare to use single character movements once you're proficiently expressing yourself.