我刚刚为Vim 添加了Git Gutter插件,该插件显示了根据添加/修改/删除的行git diff
。它使用Sign Column
来在每行旁边显示字符。
目前,该列出现在保存状态,这非常麻烦。我希望该列始终显示,即使为空。
如何使“指示柱”始终可见?
我刚刚为Vim 添加了Git Gutter插件,该插件显示了根据添加/修改/删除的行git diff
。它使用Sign Column
来在每行旁边显示字符。
目前,该列出现在保存状态,这非常麻烦。我希望该列始终显示,即使为空。
如何使“指示柱”始终可见?
Answers:
从Vim 7.4.2201开始,您可以执行以下操作:
:set signcolumn=yes
Cp。:help 'signcolumn'
。对于较旧的Vim版本,您必须定义一个虚拟符号并将其放置在当前缓冲区中:
:sign define dummy
:execute 'sign place 9999 line=1 name=dummy buffer=' . bufnr('')
set signcolumn=yes
没有恶作剧的把戏也是如此。
特别是对于vim-gitgutter,您还可以在以下代码中设置以下变量~/.vimrc
:
let g:gitgutter_sign_column_always = 1
更新
插件现在将发出警告以删除上面的行,而是使用:
set signcolumn="yes"
set signcolumn=yes
没有引号
虽然定义标志并将其放置的小舞蹈可以正常工作,但对我而言,更优雅的替代方法是:
autocmd BufRead,BufNewFile * setlocal signcolumn=yes
并且如果某些文件类型不应该包含该列:
autocmd FileType tagbar,nerdtree setlocal signcolumn=no
signcolumn
添加,但是在7.2中不存在,而在8.0中存在。我不记得在7.4中看到过它,但它可能在那里。它在Vim和Neovim的当前版本中都存在。
autocmd BufEnter * sign define dummy
和autocmd BufEnter * execute 'sign place 9999 line=1 name=dummy buffer=' . bufnr('')
vimrc 都放入。