web-dev-qa-db-ja.com

8つのスペースタブを4つのスペースタブに置き換えます

追加した set tabstop=4set softtabstop=4set shiftwidth=4私の.vimrcファイルに。

しかし、私の既存のファイルのタブはまだ8つのスペースを取っています。どうすれば更新できますか?

1
xoroth

既存のファイルの8つのスペースタブを更新するとおっしゃっていたので...それらの既存のファイルに対して個別に置換を実行します:%s/ / /g

.vimrcで定義されたタブストップのメソッドは、ドキュメントのタブを変更します。おそらく、ファイルにドキュメント固有のセッションファイルまたはvim設定があります。考えられる原因と解決策については、この投稿を参照してください: https://stackoverflow.com/questions/313463/storing-vim-settings-with-a-document

2
CoreyJJohnson

ハードタブが適切な数のスペースに置き換えられるようにファイルを変更する場合は、prでフィルタリングできます。

ファイルをvimにロードし、最初の行(1G)にいることを確認してから、ファイル全体をフィルタリングします:!Gpr -e4 -tenter

pr -e4は、4つ離れたタブストップを使用してハードタブをスペースにexpandすることを意味します。 -tは、prにファイルをページ付けしないように指示します(通常、印刷用にファイルをフォーマットするために使用されるため、その名前が付けられています)。

-iimplodeの場合)を使用して逆を行うこともできます。

参考までに、 POSIX pr を参照してください。

0
wurtel