Vim:改行と復帰を表示


34

vi / vimで改行や復帰文字を表示するにはどうすればよいですか?

私はそれset listがすべての空白文字(?)を表示することを知っています、それはタブ\ tなども置き換えます(しかし、それは私が望むものではありません)。基本的に、\ rのような特定の文字を表示したいだけです(Debianではこれがデフォルトのようですが、Gentooでは異なります)。

敬具

回答:


16

Vimの最近のバージョンには、「listchars」設定があり、EOLおよびTAB文字、および末尾のスペースに使用する文字を指定できます。

あなたは出来る:

set listchars=eol:$,tab:\[SPACE]\[SPACE]

...特別タブを崩すことなくEOLの文字を表示する(入力空白文字ではなく[SPA、...)。

「listchars」設定で文字を返すことについて具体的には何も知りませんが、これには構文の強調表示を使用できると思います。\ r文字のデフォルト表示は、SpecialKey強調表示で表示することだと思います。

したがって、\ r文字のデフォルトのSpecialKey強調表示は、上記の 'listchars'の設定と組み合わせて、必要なものに近いはずです。

:highlight SpecialKey ctermfg=5

...マゼンタが好きなら。


おかげで、listcharsすでに助けた。使い方を説明してもらえますSpecialKeyか?役に立つ情報が見つかりません。vimdoc.sourceforge.net/ htmldoc / syntax.html#hl-SpecialKeyもあまり役に立ちませんでした。
10

SpecialKeyは、「特別に」表示される文字(制御文字など)の組み込みの構文強調表示ラベルです。「:highlight SpecialKey」と入力すると、それらの文字がどのように表示されるかがわかります。
-njd

を試してみると、set listchars次のエラーが表示されますE474: Invalid argument: listchars=eol:$,tab:\[SPACE]\[SPACE]。MacVim 8.0.596(133)を使用しています
エリオット

22

再度開くDOSに-formatedテキストファイルをUNIXformart:

:e ++ff=unix

^M行末に(\ r)が表示されます。16進数で
表示^Mする場合:

:set dy=uhex

5

.vimrcファイルに次の行を追加します。

set fileformats=unix

これにより、vimはunixスタイルのファイルのみをネイティブにサポートします。非Unixスタイルの行末の場合、復帰文字\rはvimでとして明示的に表示され^Mます。


残念ながら、改行文字も表示されません。
jpaugh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.