this post was submitted on 17 Jul 2024
81 points (97.6% liked)
Ask Experienced Devs
1427 readers
1 users here now
Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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 thevcommand gives me line numbers to pass togit log -Lto 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 theopencommand 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.And here I am proud that I can open a file, save it, make edits, jump to the beginning/end, and quit it. ๐