我已经设置了我的 vim 编辑器(我使用 MacVim)在焦点丢失时自动保存文件:
autocmd FocusLost * silent! wall
Run Code Online (Sandbox Code Playgroud)
我还使用这个自动命令从 python 文件中自动去除尾随空格:
autocmd BufWritePre *.py :%s/\s\+$//e
Run Code Online (Sandbox Code Playgroud)
当我手动保存文件(通过键入:w或按?s)时,此自动命令可以完美运行,但是当我切换到另一个应用程序并自动写入缓冲区时,它不会被执行(即没有删除空格)。
如何修改这些自动命令以使其协同工作?
您需要将 FocusLost 自动命令更改为:
autocmd FocusLost * nested silent! wall
Run Code Online (Sandbox Code Playgroud)
详情请参阅:h autocmd-nested。