我一直在尝试设置 vim 的 shell 版本,以便在 shell 窗口失去焦点时保存任何更改的文件。
下列的这些说明不起作用。
即使我使用的是 OS X,我认为这也可能会影响 Linux 上运行的 vim。可能是错的,但我想我也可以在这里以及 apple.stackexchange.com 上尝试。
我是否可以假设这对 vim 命令行版本不起作用的原因可能是因为它仅适用于 GUI 版本,即 MacVim?
有没有办法让它适用于 shell 版本的 vim?
我正在使用自制程序中可用的最新版本的 vim。
答案1
从:h FocusLost
:
FocusLost When Vim lost input focus. Only for the GUI version and a few console versions where this can be detected. May also happen when a dialog pops up.
*nix(包括 OS X)终端不会让其中运行的任何应用程序知道它们的焦点状态,因此这在那里不起作用,而且实际上没有办法让它起作用。
答案2
如果您的目标是防止丢失代码,也许备份文件可以帮助您。
set backup " keep a backup after overwriting a file
set backupdir^=/tmp// " list of directories to put backup files in
我的电脑里有它.muttrc
,它会存储备份文件,直到重新启动 Mac 为止/tmp/