回答:
はい、listcharsを使用します。
set list
set listchars=tab:>-
これらの2行を.vimrcに入れる>
と、開始位置と-
残りのタブにタブが表示されます。
(補足:listcharsは、末尾のスペースを表示することもできますtrail:x
(末尾のスペースx
に使用する文字に置き換えます)。これも同様に便利です。)
set listchars=tab:!·,trail:·
、IMHO ·
はaよりもはるかに明確-
です...これを機能させるにはかなり新しいVimバージョンが必要です(正確にはどちらが7.3.xなのかわかりません)...
▸
です>
。現在、eolをマークすることで末尾の空白が表示されます(上記を試すこともできます)。私の設定は次のとおりです。set listchars=eol:¬,tab:▸\
と
基本的な答えは:set list
、タブをとして表示させること^I
です。
ただし、それを超えることをお勧めします。ただ、:set list
それが画面上で視覚的なアライメントを維持するために失敗したという点で問題があります。例えば:
%.o: %.cpp
^Ig++ -c $<
特に、最初のofの下にg
of g++
が表示されると予想される場合は、見た目が良くありません()。p
cpp
tabstop=8
したがって、あなたは.vimrc
あなたのようなものを置くことをお勧めします:set listchars=tab:␉·
(明確にするために、それはUnicode文字U + 2409 SYMBOL FOR HORIZONTAL TABULATIONに続くU + 00B7 MIDDLE DOTです)。
で説明したように:help listchars
、の2文字の設定tab:xy
により、視覚的な配置が保持されます。
tab:xy Two characters to be used to show a tab. The first char is used once. The second char is repeated to fill the space that the tab normally occupies. "tab:>-" will show a tab that takes four spaces as ">---". When omitted, a tab is show as ^I.
上記の例は、画面に次のように表示されます。
%.o: %.cpp
␉·······g++ -c $<
個人的に、私は私と一緒に全面的に行きますlistchars
:
:set listchars=eol:⏎,tab:␉·,trail:␠,nbsp:⎵
eol
、U + 23CE RETURN SYMBOLを使用しますtrail
、U + 2420 SYMBOL FOR SPACEを使用しますnbsp
、私はU + 23B5 BOTTOM SQUARE BRACKETを使用しますこれらの文字は十分に特徴的であるため、ドキュメントのテキストに文字どおり表示されることはほとんどありません。
に説明されているように、これらの特殊文字をvimrc
に入力するCtrl-vu23CE
には、挿入モードで入力します:help utf-8-typing
。
set lcs=tab:├─
時折使用する場合は、次の検索/
コマンドを使用して、ドキュメント内のすべてのタブを強調表示するだけです。
/\t
ハイライトを削除するには、「ハイライトなし」の:noh
短縮形を入力し:nohlsearch
ます。
" Highlight tabs as errors.
" https://vi.stackexchange.com/a/9353/3168
match Error /\t/
これらの便利な強調表示コマンドの詳細については、末尾の空白と組み合わせて、これを永続的にするなど、Vim wikiを参照してください。
:match Error /\t/
、検索レジスタおよびhlsearch(:match
それをクリアするために入力する)から独立して、タブ(またはその他のパターン)を強調表示するために使用できます。
個人的には、インデントレベルで垂直線を表示するプラグインindentLineの使用が好きです。
特にインデントが重要なpythonで非常に役立ちます。
とりわけ、トグルコマンドを提供します。このコマンドは、キーの組み合わせにマップできるため、必要ないときにオフにすることができます。
通常のターミナルとgvimでは、タブを異なる方法で表示できます。
set list!
if has('gui_running')
set listchars=tab:▶\ ,trail:·,extends:\#,nbsp:.
else
set listchars=tab:>.,trail:.,extends:\#,nbsp:.
endif
(他の人が便利だと思う場合に備えて、完全性のために追加します)。
retab
、ファイルを保存するたびにすべてのタブをスペースに変換するように構成できます。