サインが追加されていない場合でも、サイン列を常に表示するにはどうすればよいですか?


32

私はちょうど追加したGitのガタープラグインをラインが追加されたショーのVimのために/修正/削除に応じましたgit diff。を使用して、Sign Column各行の横に文字を表示します。

現時点では、保存時に列が表示されますが、これは非常に不快です。空であっても、列を常に表示することを希望します。

サイン列を常に表示するにはどうすればよいですか?

回答:


40

Vim 7.4.2201以降では、次のことができます。

:set signcolumn=yes

Cp。:help 'signcolumn'。古いVimバージョンの場合、ダミー記号を定義して現在のバッファーに配置する必要があります。

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

14
開くすべての新しいバッファで動作させるには、両方autocmd BufEnter * sign define dummyautocmd BufEnter * execute 'sign place 9999 line=1 name=dummy buffer=' . bufnr('')vimrcに入れます。
akent

shenanigans set signcolumn=yesなしでトリックがするように時代遅れのようです。
cprn

1
@cprn:そのとおりです。それを答えに加えました。ありがとう!
インゴカルカット

私の答えを下から削除して、ありがとうございます。乾杯!
cprn

22

特にvim-gitgutterの場合、次の変数をに設定することもできます~/.vimrc

let g:gitgutter_sign_column_always = 1

更新

プラグインは上記の行を削除する警告を発行し、代わりに以下を使用します。

set signcolumn="yes"

ありがとう、この質問が投稿された後にそのオプションを追加する必要があります。知っておくと便利です。
ジョーデルバー

1
実際、それを追加したコミットは2013年3月14日に行われたようです。質問のちょうど2週間後です!
wjv

他の作業をしている間、最近GitGutterソースの内部を調べました。この変数を設定すると、ダミーの質問を設定することで、この質問に対する受け入れられた回答とまったく同じ方法で署名列が表示されます。
wjv

5
ところで、私のためにそれはだっset signcolumn=yes ずに引用符
tam5

6

サインを定義して配置する小さなダンスは大丈夫ですが、私にとってうまく機能するよりエレガントな代替案は次のとおりです:

autocmd BufRead,BufNewFile * setlocal signcolumn=yes

また、列を持つことになっていない特定のファイルタイプがある場合:

autocmd FileType tagbar,nerdtree setlocal signcolumn=no

「*」のBufReadPost自動コマンドの処理中にエラーが検出されました:E518:不明なオプション:signcolumn = yes
brandones

vimの新しいバージョン@brandonjonesが必要です。いつsigncolumn追加されたかはわかりませんが、7.2にはなく、8.0にはあります。7.4で見たことを覚えていませんが、そこにあるかもしれません。VimとNeovimの両方の現在のバージョンに存在します。
ジムスチュワート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.