web-dev-qa-db-ja.com

vim / gvimでライン長マーカーを設定するにはどうすればいいですか?

GUIテキストエディタの中には、行の長さのマーカーとして機能する縦線があるものがあります(ソースコードファイルで80文字より短い行を維持するのに役立ちます)。

Vim/gvimでも同様のことが可能ですか?私はルーラーvimオプションについて知っていますが、それを大画面で視覚的に追跡するのはあまり便利ではありません。

編集:もっと学ぶために "colorcolumn"のためにグーグルするとき、私はこの質問が https://stackoverflow.com/questions/235439/vim-80-column-layoutの複製であることを発見しましたの懸念

74
vtest

これを実行するだけです

:set colorcolumn=72

引数の前に-または+を付けて、そのtextwidthの左または右にその列の数だけマーカーを配置し、コンマ区切りの列のリストを受け入れることもできます。 colorcolumnオプションはVim 7.3にのみあると思います。見る

:help colorcolumn
129
garyjohn

Damian ConwayのOSCON 2013での "もっとすぐによくなったVim" talk から:

highlight ColorColumn ctermbg=Magenta
call matchadd('ColorColumn', '\%81v', 100)

これにより、行が最大80文字を超えると、Magentaでスクリーンショットがハイライト表示されます(スクリーンショットはDarkCyan)。

vim with highlighting enabled

GVimの場合: これらの2行を.vimrcファイルの最後の部分 に移動して動作を確認するのが最善です。

18
Isxek

あなたはこれを試すことができます:

grep '.\{81\}' file

または

set colorcolumn=80

(またはその短縮版)

set cc=80

または前述のとおり:

match ErrorMsg '\%>80v.\+'
2
Gabriel Zalles

以下は、 Hacking Vimからの不器用なトリックです。Kim Schultzによる最新のVimエディタを最大限に活用するためのクックブック

80文字を超える行はErrorMsg(通常は明るい赤)で強調表示されます。私にとってはうまくいきます。

function! RemoveWidthLimitWarnigns()
    silent! call matchdelete(4)
endfunction
function! InsertWidthLimitWarnings()
    call RemoveWidthLimitWarnigns()
    call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4)
endfunction
0
souser12345