I've been using it for a while now, love it.
I've been using it for a while now, love it.
There are actually quite a few plugins that have sprung up to bring similar functionality to Vim. From what I have seen, there are two main approaches:
* Surrounding your window with hidden scratch windows to introduce "margins" around your working area
* Making use of natural offsetting mechanisms such as hidden line number columns and foldcolumns to offset text from the left.
The former gives proper centering, but typically makes vsplits troublesome. The latter (which is the approach I took), allows for a better out-of-the-box experience with vsplits (at the expense of perfect centering). I often work with a file open with LiteDFM active and the TagBar window open on the right.
The main reason I wrote my own plugin was out of frustration with most existing implementations. They usually didn't play nice with a vimrc that looked any different from the plugin author's. I had conflicts with colorschemes, plugins, etc...
My current workflow is to use LiteDFM when reading/editing code, and to use Goyo.vim (https://github.com/junegunn/goyo.vim) when working with markdown files. It's a plugin that uses the scratch window padding approach, but it's the only one I've tried that doesn't have compatibility issues with other plugins.
I am interested in seeing how ZenRoom works out. I'll give it a try and see.
I just tried out the LiteDFM / Goyo combo and it is just what I was after. Worked out of the box for me and my mature vimrc.
Still tho' it would be awesome if Vim had better native support for window margins, so you don't have to revert to hacks.
A big part of why most such plugins fail is that they don't take into account user settings and the fact that it is their responsibility to "hide" other plugins. If you look through the source of goyo.vim, you'll find tons of lines dedicated to working around other plugins. Similarly, LiteDFM has a good chunk of code dedicated to remembering and restoring previous user settings.