Как сделать так, чтобы столбец знаков отображался постоянно, даже если в него не добавлено ни одного знака?

Как сделать так, чтобы столбец знаков отображался постоянно, даже если в него не добавлено ни одного знака?

Я только что добавилПлагин Git Gutterдля Vim, который показывает строки, добавленные/измененные/удаленные в соответствии с git diff. Он использует Sign Columnдля отображения символов рядом с каждой строкой.

В данный момент столбец появляется при сохранении, что довольно раздражает. Я бы предпочел, чтобы столбец всегда отображался, даже если он пустой.

Как сделать так, чтобы столбец со знаками всегда был виден?

решение1

Начиная с Vim 7.4.2201 вы можете:

:set signcolumn=yes

Гл.:help 'signcolumn'. Для более старых версий Vim вам придется определить фиктивный знак и поместить его в текущий буфер:

:sign define dummy
:execute 'sign place 9999 line=1 name=dummy buffer=' . bufnr('')

решение2

Для vim-gitgutter вы также можете установить следующую переменную в вашем файле ~/.vimrc:

let g:gitgutter_sign_column_always = 1

ОБНОВЛЯТЬ

Плагин теперь выдаст предупреждение о необходимости удалить указанную выше строку и вместо нее использовать:

set signcolumn="yes"

решение3

Хотя небольшой танец с определением знака и его размещением работает нормально, более элегантная альтернатива, которая хорошо подходит мне, это:

autocmd BufRead,BufNewFile * setlocal signcolumn=yes

А если есть определенные типы файлов, которые не должны иметь этот столбец:

autocmd FileType tagbar,nerdtree setlocal signcolumn=no

Связанный контент