2

フォーカスが失われたときにファイルを自動的に保存するようにvimエディター(MacVimを使用)をセットアップしました:

autocmd FocusLost * silent! wall

また、次の自動コマンドを使用して、Pythonファイルから末尾の空白を自動的に削除します。

autocmd BufWritePre *.py :%s/\s\+$//e

この自動コマンドは、ファイルを手動で(入力する:wか、を押し⌘sて)保存すると完全に機能しますが、別のアプリケーションに切り替えてバッファが自動的に書き込まれると実行されません(つまり、空白が削除されません)。

これらの自動コマンドを変更して、連携させるにはどうすればよいですか?

4

2 に答える 2

5

FocusLost 自動コマンドを次のように変更する必要があります。

autocmd FocusLost * nested silent! wall

詳細:h autocmd-nestedについては、を参照してください。

于 2013-03-06T16:27:51.390 に答える
1

グラフィック Vim でこれをテストすることはできませんが、いくつかのオプションを試すことができます。

  • 同じ自動コマンドでいくつかのイベントに参加するautocmd BufWritePre,FocusLost *.py ...
  • 次のようなイベントから自動コマンドを実行します。
    autocmd BufWritePre *.py :execute "%s/\s\+$//e" | doautocmd FocusLost %
于 2011-12-20T11:53:27.350 に答える