vimでナノなどの空白ハイライトを有効にするには?

vimでナノなどの空白ハイライトを有効にするには?

nano2つの状況でスペース(タブとスペース)を実際に強調表示する便利な構文強調機能があります。 (1)スペースが最後の文字であるか、行の先頭で、その間にスペース以外の文字がない場合、(2)ファイルはショッピングリストなどのプレーンテキストではないソースコードです。でこの動作をどのように模倣できますかvim

ベストアンサー1

私はshowとtrailを使用して、set listオプションのファイル形式に対してこのような条件を使用できます。set listchars.vimrctabswhite spaces

if !(&filetype == "txt")
  set list                " show special characters
  set listchars=tab:→\ ,trail:·,nbsp:·
endif

したがって、これらの文字がある場合、私のファイルは次のようになります。

function someFunc() { // no trailing spaces here
→   var a = "hola"; // 3 trailing spaces.···
    alert(a); // this line starts with spaces instead of tab
// next a line with 4 white spaces and nothing else
····
// next a line with a couple tabs
→   →   
}

注:·いいえ.

編集する

したがって、あなたのコメントに答えるには、に加えてこれを行うことができます~/.vimrc。必ずカラースキームの後に追加してくださいhi clear。それ以外の場合は削除されます。

if !(&filetype == "txt")
  highlight WhiteSpaces ctermbg=green guibg=#55aa55
  match WhiteSpaces /\s\+$/
endif

強調表示色を変更し、必要に応じて正規表現を絞り込むことができます。/\s\+$/これら2つの文字のうちの1つだけを含む末尾のスペースまたはタブと行に一致します。タブとスペースのみを含む行のみを強調表示したい場合に使用します/^\s\+$/

おすすめ記事