我总是忘记在使用vim内置编译命令进行编译之前将所有文件保存在缓冲区中:make.那么有可能让vim打印一个关于保存文件的提示,就像我们在保存文件之前退出时一样吗?
只需创建一个简单的映射,如:
nnoremap <leader>m :wa <BAR> :make<CR>
Run Code Online (Sandbox Code Playgroud)
:wa 写所有缓冲区:make 建立| 两者之间按顺序执行命令.编辑回复:
我发现“自动写入”选项可以在某些方面解决这个问题,但是当我输入下一个,上一个,标签时我也会自动写入。我正在寻找更好的解决方案
您可以使用 QuickFixCmdPre:
:au QuickFixCmdPre * write
Run Code Online (Sandbox Code Playgroud)
此示例将在执行 make 时保存文件。请参阅 参考资料 了解更多信息:he autocmd。
当然,这只有在你使用 vim 的情况下才有效
:make
Run Code Online (Sandbox Code Playgroud)
如果您使用其他程序,请不要使用eg :!scons -C src,而是使用:se makeprg=scons\ -C\ src和regular:make来触发所有内置的Quickfix功能。
如需更灵活的自动写入,请参阅:
autowrite`我只是用
:set autoread autowrite
Run Code Online (Sandbox Code Playgroud)
在我的 .vimrc 中;这实际上非常安全,每当您面临丢失缓冲区内或磁盘上的更改的风险时,您都会收到警告。
在 Windows 上工作时,同时在另一个程序中打开相同的文件(例如 Visual Studio 或 Notepad++;两者都可以配置为在更改时自动重新加载文件),这也非常方便。
最好的部分是它也会在最小化时自动保存,因此每当您点击C-z最小化时,文件都会被写入(假设它也没有在磁盘上更改),并且当您恢复窗口(或将其置于前台时,在终端上下文中)您将自动获取最新的文件内容。
| 归档时间: |
|
| 查看次数: |
654 次 |
| 最近记录: |