I’d like actual examples instead of “I work faster”, something like “I can move straight to the middle of the file with 7mv” or “I can keep 4 different text snippets in memory and paste each with a number+pt, like 2pt”, things that you actually use somewhat frequently instead of what you can do, but probably only did once.
I’ve been using vim as my daily driver for development for the last 8 years.
There are a million things I could talk about regarding vim’s editing language, consistent interface, scriptability, performance (seriously, I’ve opened 1GB+ files and vim barely breaks a sweat), etc., but one thing I’ll highlight that most people don’t talk about is vim’s ability to interface with other tools. It’s what takes vim from a great editor into a full-fledged development environment. You can:
:help read !
):help write !
):help !
):help quickfix
,:help make
):help <C-R>=
, specifically when used with the:help system()
function)And much more. I use all of these every day: the output of git commands give me filepaths I can jump to with
gf
; a range in vim selected with thev
command gives me line numbers to pass togit log -L
to see the history of a section of code; the current filepath of the vim buffer is pass to many different shell commands to do processing with that file; the symbol under the cursor is passed as an argument to theopen
command on macos to lookup external (company-specific) documentation in a Web browser. And many, many other things. Unix is my IDE, and vim is at the heart of it.