Minimalist Vim

Published: 2020-02-15T11:18:00.000Z

XXX: This is a work in progress. But it still might contain some interesting stuff.

TODO: intro

The Vim User Manual

:help usr_toc.txt

They are great. Initially I felt overwhelmed by them. So I rarely touched them for a few years of using Vim. Then I did and discovered that they aren't very intimidating at all. They're long, yes and stuff is hard to remember. But after reading through them I just remembered certain features so when I felt like I needed them I just went back to the User Manual.

So I can recommend for anyone to read through the Vim User Manual.

Syntax Highlighting

After reading this I tried his theme and was surprised to find that it made reading code feel a bit easier. I started to look at the structures on the screen more and less at the colors. After using (and loving) the "nofils" theme for a few years I now ended up turning off highlighting entirely.

:syntax off

Spell Checking

:set spell spelllang=de

Exiting Insert Mode

Can't live without:

:imap jk <Esc>

Zero (Vim) Config alternative; map Caps-Lock to Escape. Personally I have it mapped to Control. So this doesn't work for me.

In general you might not need to jump into full insert-mode as you thing. A super useful insert mode built-in key mapping is C-o doing this from Insert-mode lets you execute one command from Normal mode and then goes back to insert mode. I use this a lot to jump around.

Autocomplete

The only autocomplete I'm using is the well known C-p/C-o. For those who don't know it; it opens up an autocomplete menu based on previously entered words. See :help ins-completion-menu.

TODO: C-tags

Plugins (if you really can't resist)

Since Vim 8 it's no longer required to use an extra plugin manager, but they have a decent built in mechanism for this. I learned about it from Joe Nelsons great blog post and I can recommend for any minimalist to read it.

Neovim

Neovim has some cool features that upstream Vim doesn't. I used it before Vim supported asynchronous jobs. So Neovim simply had a huge performance advantage. After Vim 8 came out with async support I switched back. Upstream Vim always felt more stable to me. It also feels like the minimalist way.

This isn't really supposed to be authoritative advice, but just something I thought was worth mentioning.

Managing Splits

TODO

Tabs?

TODO

Managing Buffers

TODO