New answers tagged


It turns out that, when called without arguments, go() actually sets 'operatorfunc' and returns 'g@'. (See this code snippet.) So the concatenation of 'g@' . '_' results in the g@_ command being executed in normal mode. The <expr> in the mapping makes Vim evaluate it as an expression and finally execute the string result as a normal mode command (...


does that mean go() evaluates to empty string which is concatenated by "_"? In short, yes, it does. _ is a normal mode command to move cursor on the first nonblank character of the current line (when used without count). It gets executed due to :h map-<expr>


I would go with either " load Plugins.vim, searching it in "all vim places" runtime Plugins.vim or " load Plugins.vim from the relative path of your vimrc source <sfile>:h/.vim/Plugins.vim


As Christian Brabandt replied: :set signcolumn=no seems to solve the issue. Thanks!


There are two possibilities: Move the check to after plugins have been loaded, e.g. by hooking into the VimEnter event, as outlined by @ChristianBrabandt's answer. Force early loading of the plugin: runtime! plugin/goyo.vim " Try loading the plugin. if exists(":Goyo") " ...

Top 50 recent answers are included