残念ながら、タブとスペースの両方を含むファイルがあります。
特定のスペースが実際にタブかスペースであるかを知るために表示するにはどうすればよいですか?
答え1
複数のオプション:
POSIX:
$ printf 'a b\tc \n' | sed -n l
a b\tc $
$ printf 'a b\tc \n' | od -A n -t cx1
a b \t c \n
61 20 62 09 63 20 0a
非常に携帯可能です。
$ printf 'a b\tc \n' | cat -vte
a b^Ic $
(一部の実装cat
にはエイリアスがあります)。タブにのみ興味があり、末尾のスペースに興味がない場合にのみ、またはGNUと一緒に使用してください。変換された文字のリストは実装によって異なります。-A
-vte
-vt
-T
cat
cat
vi
または で をview
入力する:set list
と、タブと行末が表示されます。
答え2
あなたのエディタがかなり最新バージョンのEmacsであると仮定すると、これはwhitespace-mode
あなたが探しているものです。変数を使用すると、問題のあるスペースを強調表示するようにカスタマイズできますwhitespace-style
。
whitespace-style
で定義された変数ですwhitespace.el
。その価値は
(face tabs spaces trailing lines space-before-tab newline indentation empty space-after-tab space-mark tab-mark newline-mark)
文書:可視化の空白の種類を指定します。
これは、次の値の一部または全部を含むリストです。
face
顔を通してすべての可視化を有効にします(下記参照)。
trailing
末尾のスペースは顔を通して可視化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
tabs
TABは顔を通して可視化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
spaces
空間と硬い空間は顔を通して視覚化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
lines
列を越えて広がる線は、whitespace-line-column
ポリゴンで強調表示されます。
ライン全体が強調表示されます。
これを優先しますlines-tail
(下記参照)。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
lines-tail
列を越える線はwhitespace-line-column
ポリゴンで強調表示されます。
ただし、列を超えて拡張された行部分のみが適用されますwhitespace-line-column
。 (上記参照)がに存在せず(上記参照)がに存在する場合にのみ
有効です。lines
whitespace-style
face
whitespace-style
newline
改行は面を通して可視化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
empty
バッファの先頭および/または末尾の空白行はポリゴンを介して可視化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
indentation::tab
線の先頭の8つ以上のスペースは多角形で可視化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
indentation::space
行の先頭のタブ文字はポリゴンで視覚化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
indentation
indent-tabs-mode
(see)が0以外の場合、行の先頭に8つ以上のスペースが視覚化されます。それ以外の場合、行の先頭のTABはポリゴンで可視化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
space-after-tab::tab
TABの後ろの8つ以上のスペースは、多角形で可視化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
space-after-tab::space
TABの後に8つ以上のスペースがある場合、TABは多角形として可視化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
space-after-tab
indent-tabs-mode
(see)が0以外の場合、TABの後に8つ以上のスペースが可視化されます。それ以外の場合、タブは面で視覚化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
space-before-tab::tab
TABの前のスペースはポリゴンを通して視覚化されます。存在する場合のみ
有効です(上記参照)。face
whitespace-style
space-before-tab::space
TABの前にスペースが表示されると、TABは面として視覚化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
space-before-tab
indent-tabs-mode
(see)がゼロでない場合はTABの前のスペースが可視化され、そうでない場合はタブが面として可視化されます。 (上記参照)がにある場合
にのみ有効です。face
whitespace-style
space-mark
スペースとハードスペースはディスプレイテーブルを介して可視化されます。
tab-mark
TABはテーブルを表示することで可視化されます。
newline-mark
改行は表示テーブルを介して可視化されます。