12

vimrcにカーソルラインを設定しました。すべてのバッファではなく、アクティブなバッファの現在の行のみをvimで強調表示する方法はありますか?

4

4 に答える 4

22

BufEnterZsoltの回答で使用されている/フックの問題BufLeaveは、同じバッファーを表示する隣接するウィンドウに移動したときに、/フックが起動しないことです。私は以下をうまく使用しました:

augroup CursorLine
    au!
    au VimEnter,WinEnter,BufWinEnter * setlocal cursorline
    au WinLeave * setlocal nocursorline
augroup END
于 2012-08-18T12:28:38.963 に答える
7

あなたは試すかもしれません:

au BufEnter * setlocal cursorline
au BufLeave * setlocal nocursorline
于 2012-08-18T09:29:49.123 に答える
3

Zsoltの答えに私は追加します:

au WinLeave * setLocal nocursorline

これにより、同じバッファ上の2つのウィンドウ間を移動するときの動作が改善されます。

于 2012-08-18T10:51:46.360 に答える
3

ここでのすべての短い:autocmdソリューションの弱点は、特定のウィンドウのカーソルラインを無効にしたり、(別の)ウィンドウのカーソルラインを永続的にしたりするなどの例外を作成できないことです。の変更は'cursorline'、次の別のウィンドウへの移動によって上書きされます。

私のCursorLineCurrentWindowプラグインは、より複雑なロジックを介してこれらの例外を処理します。

于 2012-08-18T20:40:32.417 に答える