vimで挿入モードを終了するときにエディタコマンドを実行する

vimで挿入モードを終了するときにエディタコマンドを実行する

:command挿入モードを終了するときにvimで実行したいと思います。特に、:GoFmt挿入モードを終了するときにコードをフォーマットするために実行したいと思います。現在はファイルを保存するときに実行されますが、時には構文チェック(ファイルを保存するときに発生)を実行する前にフォーマットしたい場合があります。

現在の解決策は<esc>にマッピングすることですが、<esc>:GoFmt<enter>矢印キーはエスケープシーケンスで始まるため、矢印キーの動作が中断されます。より良い解決策はありますか?

autocmd FileType go imap <esc> <esc>:GoFmt<enter>

答え1

まず、私はワイルドカードの提案を強く支持します。ビームホームページ...:)

しかし、第二に、より良い解決策が必要です。InsertLeave自動コマンドを使用できます。これを行う:

autocommand InsertLeave go GoFmt

利点は、マッピングがまったく必要なく、GoFmtすでにexコマンドなので、コマンドを実行する方が簡単なので:...<cr>

関連情報