DEV Community

Discussion on: Will Vim give me more productivity!?

Collapse
 
ktorek profile image
Paweł Kruszewski • Edited

I've done some research and found out that VIM keybindings are supported in most of the tools I use. It was reasonable to learn them but they are hard. I couldn't make the switch because of the steep learning curve and lack of real motivation. What triggered my switch to VIM bindings in the end was a strong emotion, frustration over "delete current line" shortcut :)

On one project in 2014 I was jumping between Notepad++, Eclipse and Intellij IDEA + I was sometimes editing files on the server with VIM. Delete line shortcut was different in all of these environments. One day I was really frustrated by a fact that I cannot remember a delete line shortcut in Eclipse and decided to jump head on into VIM keybindings.

Today I'm happy VIM user plus additionally I use VIM keybindings in:

  • browser (vimium),
  • local and server text file editing (VIM obviously),
  • IDE (IdeaVim),
  • terminal multiplexer (tmux - for searching and copying text),
  • bash - for long command editing + inline editing (set -o vi),
  • less - for searching and text file navigation,
  • clipboard editor (CopyQ)

Another very nice feature of VIM is editing/search/navigation of seriously huge files. You can open, search and navigate 20GB log file without a hiccup. After six years of active day to day usage I conclude that it was a really great choice. Of course you'll need to do some setup to support convenient features like quick fuzzy file lookup with a preview or file tree navigation or ripgreping within the git repo but it'll come. The most pain I had was when I've tried to make IDE from VIM. Language plugins slow VIM down so I've settled on very simple language support like syntax highlighting and sophisticated navigation support. Here is my setup if you wish to try up some of it: github.com/ktor/vimfiles

Some people claim that configuring VIM is a hustle. In retrospective when I look at my vimfiles repo it is 67 commits in 6 years. Mind that every commit was incremental improvement to my setup. I can bear with 11isch configuration increments in a year. I think I was changing more things in Intellij IDEA setup during this time :)

Proven learning resources: