Updates in Vimland 2014
Another year has passed thus it’s time for the third installment of the series on my Vim configuration. The main motto of this year has been “reduction and time saving”.
NeoBundle becomes Plug and Airline becomes Lightline
I know, I know, yet another plugin manager. This time it’s vim-plug, which has
all the features of NeoBundle has but additionally can install plugins in
parallel. This a huge timesaver when installing or updating some twenty
plugins. This requires +ruby
support until we will finally see NeoVim
replacing Bram Moolenaar’s original Vim.
In the process of slimming down my .vimrc
and the overall appearance of a
typical Vim session (“less is more”), I replaced Airline with Lightline. I
removed the majority of additional information except for the color-coded mode,
filename, modified flag and current position. Pure and simple.
Improved vim-tex-fold
I already wrote about the plugin that folds parts of a TeX document. Since the initial release it has seen some major improvements with some input given by Daniel Andreasen. The plugin should be a bit faster (probably not noticeable) and more flexible by allowing to fold custom environments. Give it a shot, if you edit LaTeX documents regularly and do not want to use one of the larger LaTeX toolboxes.
Semi-asynchronous execution
Calling out to external programs and libraries in Vim is synchronous and
blocks any user input. This becomes a big problem when dealing with
long-running processes such as compiling program sources or TeX documents with
Make. NeoVim’s main objective is to lift this limitation by replacing
Vim’s synchronous main loop by an event-driven loop. In the mean time
vim-dispatch fills that role by talking to a surrounding tmux session.
Thus, whenever you run :Make
it will start a new instance on the bottom
while allowing you to continue editing the actual text. This has become a
major time saver in the past.
Honorary plugin mentions
Some more plugins that made it into my .vimrc
:
- Goyo is a whiteroom-like plugin that turns off any distracting elements and adds margins to neatly center the text in the middle. Great for writing non-code.
- vim-vinegar by the venerable Tim Pope is a file opener that complements
CtrlP rather nicely. You type a dash
-
in normal mode which will take you to a file list that you can navigate with regular Vi navigation. That comes in especially handy for files that “neighbour” the current one. - vim-wordy uses a huge list of words, phrases and oddities that indicate poor writing. I only use it occasionally because it tends to nag a bit too much for my taste. But you should definitely read the background sources which give a nice overview what to avoid when writing prose.
Mappings
Probably the biggest change has been remapping the <Leader>
prefix from the
comma key to the space bar. It’s a lot easier now to hit the space bar with my
thumb instead of finding the comma key with my index finger.
Another big timesaver was mapping the command sequence 1z=
to <Leader>ss
.
If spell checking is enabled it will replace a wrong word under the cursor by
the first suggestion of the correction list.