有没有办法在发出之前自动保存缓冲区:make?我使用MacVim和make绑定到Command-B,这非常有用,但我似乎无法弄清楚如何在make之前编写缓冲区。我查看了所有autocmd事件,似乎没有任何东西适合。
有一个QuickFixCmdPre应该在make之前调用但似乎无法使它工作:
的〜/ .vimrc
function! AutoSaveOnMake ()
if &modified
write
endif
endfunction
autocmd QuickFixCmdPre *.c :call AutoSaveOnMake()
答案 0 :(得分:19)
Vim有一个内置设置:
:set autowrite
在每个文件上写下文件的内容(如果已修改) :next,:rewind,:last,:first,:previous,:stop,:suspend,:tag,:!, :make,CTRL-]和CTRL- ^命令;当a:缓冲区,CTRL-O,CTRL-I, '{A-Z0-9}或`{A-Z0-9}命令将一个文件带到另一个文件。
答案 1 :(得分:3)
不是创建autocmd
命令,为什么不直接更新Command-B映射?
nnoremap <d-b> :update<bar>make<cr>