autocmdの設定をvim実行時に削除する方法
背景
自分は.vimrc
に以下一行を追加することでファイル保存時に各行末尾に存在する空白を自動で削除するようにしている。
" Delete tailing blanks. autocmd BufWritePre * :%s/\s\+$//ge
- 参考:よく使うのにすぐ忘れる 行末の空白削除コマンド - Qiitaへのコメント
この方法は他者が作成したコードの末尾に空白が存在する場合、意図していない箇所が書き換わってしまいgit diff
を実行した場合に関係ないところまで表示されてしまい困るという課題がある。
上記理由からautocmdの設定を削除する方法を調べた。
参考箇所
autocmd - Vim日本語ドキュメントの "3. 自動コマンドの除去" に以下のように書かれている
:au[tocmd]! [group] {event} {pat} {event} と {pat} に関連づけられた全ての自動コマンドを 除去する。
解決方法
vim起動時に以下を実行することで自動末尾空白が消されることがなくなった
:autocmd! BufWritePre *
もうちょっと良い方法があるかも?