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:


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.

Beamer is an awesome way to make slides with LaTeX. But I always felt that the stock themes do not necessarily look particularly nice and the custom themes often scream “Beamer” at first sight.

So, I sat down and made the mtheme …


In the spirit of Jan Tschichold and Matthew Butterick, the theme tries to minimize visual noise and maximize space for content. Thus an ordinary slide is free of superfluous elements such as a navigation bar, progress indicators and heavy block elements. What’s left is all the necessary information: the frame titles, a frame number to refer to the slide and the actual content.


Yes, teal and orange is an annoying fad in movie productions but it is a refreshing choice for a presentation theme. Rather than using both colors all the time, a dark teal tone is used for the majority of the Beamer elements while orange is used to highlight bits and pieces such as \alert{} commands. Instead of going for an all-white background, I toned it down a tiny notch to reduce eye strain but keep the contrast high enough to easily discern individual letters.


Fira Sans is gorgeous typeface commissioned by Mozilla and designed by Carrois. It comes with an enormous amount of styles and features that cover even the most adventurous presentations. In the mtheme I used Fira Sans Light as the main font and the regular Fira Sans Book typeface for any heavier uses such as \textbf{}. Fira Sans Mono is a perfect match for lstlistings or minted environments.

Titles tend to be difficult to get right because of capitalization which almost always looks weird. I avoid this problem by lowercasing frame titles and set them in small capitals of Fira Sans Book.


In a presentation it can sometimes be difficult to go from one sub-topic to another. An elegant solution is to insert a slide whenever a new section starts. As a little gimmick, the mtheme features a tiny progress bar drawn with TikZ below the section title.

Chart styles

A visual representation of numerical data can help to draw conclusions about an issue quicker than large columns of numbers. Nevertheless, to achieve this honorable goal, this representation must focus on the data and avoid any redundant or unnecessary information by increasing the data-ink ratio, a term coined by Edward Tufte.

I like to use the pgfplots package to visualize two- and three-dimensional data sets but the default style is – although better than what Excel offers – not very impressive. To improve the look, I include the (horizontal) mbarplot and mlineplot styles which reduce the number of visual elements such as boxes and employ a color scheme that is (hopefully) easier on the eyes.


Even though this theme might give your presentation a somewhat “professional” look, you should focus on content first. Because the comments are not back yet, you can leave any feedback in this reddit thread.

There haven’t been in any posts for a while and I sincerely have to apologize that this will continue for at least two months. This will also affect the comment section, which I will deactivate to reduce the amount of moderation.

I knew, Google was scanning my mail to present personalized ads to me but I never saw them though because of AdblockPlus. I got back to reality, when Gmail offered me to track the delivery of an Amazon order …