19

「長い」行に色を付けたいと思います。例として 80 列を使用して、その長さを超える行を強調表示したいと思います。.vimrc ファイルに含める必要があると思われる大まかな内容を以下に示しますが、(1) 機能せず、(2) Vim について十分に理解していないため、Perl の正規表現構文を使用して私の要点を説明しています。

...
highlight Excess ctermbg=0
au Syntax * syn match Excess /.{80,}$/
...

これは (少なくとも私の考えでは) 80 列を超える行をマークする必要があります。私が理想的に望むのは、行の 80 列を超える部分だけに色を付ける機能です。つまり、行が 85 列の場合、81 番目から 85 番目の列が強調表示されます。

Vim がこれを実行できると確信しています。

4

6 に答える 6

32

私はオートコマンドが私のために働く必要がありました:

augroup vimrc_autocmds
  autocmd BufEnter * highlight OverLength ctermbg=darkgrey guibg=#111111
  autocmd BufEnter * match OverLength /\%75v.*/
augroup END

また、平均で 80 列を目指している場合は、75 を使用するというアイデアも気に入っています。

出典:

http://blog.ezyang.com/2010/03/vim-textwidth/

なしで失敗する考えられる理由BufEnter: ハイライト + マッチは 1 回しか使用できません。複数の使用とは、古いものが上書きされることを意味します。複数のハイライトを追加する方法

于 2012-06-12T09:22:20.317 に答える
17

これは私のvimrcにあります。
私はここでそれを見つけました: Vim 80 列レイアウトの問題

highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9
match OverLength /\%81v.*/

好みに合わせて色を調整することもできます。

于 2008-12-27T19:38:06.240 に答える
3

私は Vim 7.3 の列マーカーが好きではないので、列 80 の後にハイライト テキストを使用するだけです...少なくとも 95% の時間はそれが必要です。

残りの 5% の時間については、この小さな拡張機能を作成して、ハイライトを無効にする簡単な方法も提供しました。

https://gist.github.com/fgarcia/9704429#file-long_lines-vim

于 2014-03-22T10:26:41.813 に答える
1

私は次の方法を使用します。

hi gitError ctermbg=Red
match gitError /^.*\s$/
2match gitError /^.\{120\}.*$/

(これらはいくつかの git pre-commit フックに一致します)

2行目はあなたにとって興味深いはずです。

于 2008-12-27T16:06:19.663 に答える