こんにちは、ひがしです。
今回はVimScriptで自動保存をするためのScriptを書きたいと思います。

今回実現したいもの

今回実現したいものは

  • カーソルが数秒間動かなかったら:wで変更点を保存
  • ファイル名が設定されていないファイルでは:wを行わない
  • NERDTreeを使って表示しているディレクトリツリーでは:wを行わない

実装したもの

解説

augroup autoSaveでインサートモード、ノーマルモードの状態で一定時間カーソルが動かなかったときに関数Higashi000AutoSave()を呼び出している。

match(expand('%'), notAutoSavePattern)の部分で
・ファイル名が設定されていない
・NERDTreeを使用してディレクトリツリーを表示している
以上のどちらかに当てはまるバッファかを判別している。
どちらでもなければ保存を行う

今後

現在、ファイル名の判別には正規表現を使っているが、
autocmdの段階でファイル名の判別ができればそっちのほうがいいので
そちらでできないかを探してみる。

カテゴリー: Vim技術記事

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です