vim:ファイル内のすべての行の最初のn文字を隠す

vim:ファイル内のすべての行の最初のn文字を隠す

vimを使用してログファイルを分析していますが、フォーマットは次のとおりです。

YYYY-MM-DD HH:MM:SS.USEC PID Name LogText

ほとんどの場合、日付と時刻に気にしないからです。私はそれらを隠し、名前とログテキスト列に集中したいだけです(一部の画面スペースを節約するため)。最初の3つの列は常に行の最初の35文字を占めます。 vimが各行の最初の35文字を表示しないようにする方法はありますか?

ベストアンサー1

最初の文字を削除したり、目立たないようにスクロールしたりするのではなく、隠す方法についてお問い合わせいただきました。したがって、実際に隠す方法は次のとおりです。

Vimでテキストを非表示にするには、hideを使用します。

あなたはそれを使用することができますマッチ、結合する構文強調そして隠れる関数は実際には1行以内に一致する文字を表示しません。

各行の最初の25文字を隠すには:

:syn match Concealed '^.\{25\}' conceal
:set conceallevel=2

日付句読点がある行のみを非表示にするには、次の手順に従います。

:syn match Concealed '^....-..-.. ..:..:..\..... ' conceal

非表示解除:

:syn clear Concealed
:set conceallevel=0

通常は次のようになります。

YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText

最初の2つのコマンドを実行すると、次のように表示されます。

PID Name LogText
PID Name LogText
PID Name LogText
PID Name LogText
PID Name LogText
PID Name LogText
PID Name LogText


参照 - 内部vim:
help :syn-match
help :syn-conceal
help 'conceallevel'
help 'concealcursor'


(これがうまくいかない場合はお知らせください。私が知らないいくつかの設定があるかもしれません。それでうまくいきます。)

おすすめ記事