Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vimで複数のファイルのインデントを非対話に修正する

$
0
0

Vimと非対話

Vimは対話型のテキストエディタですが、非対話による操作が可能です。この記事では、複数のファイルをインデント整形する例を紹介します。

まとめ

以下のコマンドで、カレントディレクトリにある*.cppファイルをVimの自動インデントを使って整形できます。長いコマンドですので、便利コマンドとしてシェルスクリプトに登録しておくのがいいでしょう。

xargs -oを利用している理由はコマンドから出力したファイル名をvimで開く方法を参照してください。

autoindent.sh
find . -name '*.cpp' | xargs -o vim -N -i NONE -u NONE -c 'normal! gg=G' -c 'wq!'

解説

簡単な解説を載せます。より詳しく知りたい人は、vim -hhelp - Vim日本語ドキュメント、以下の参考リンクを見ると良いでしょう。

Vimの起動オプション

-NでVi非互換にし、-i NONEviminfoを汚さないようにします。また、-u NONEを利用することで.vimrcを読み込みません。素のVimで操作が処理されます。

Vim上で使えるコマンドを実行する(vim -c)

vim -cによって、vimのコマンドが実行できます。normal! <command>でノーマルモードで続く<command>を受け付けます。

ggはカーソルをバッファの先頭に移動します。

=G=がインデント調整、Gがモーションです。=Gによって、カーソル位置から、バッファの末尾までインデントが行われます。

最後にwq!を実行し、保存してVimを終了します。

参考資料


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>