自动保存缓冲区:make in vim?

时间:2012-08-22 16:54:52

标签: vim macvim

有没有办法在发出之前自动保存缓冲区:make?我使用MacVim和make绑定到Command-B,这非常有用,但我似乎无法弄清楚如何在make之前编写缓冲区。我查看了所有autocmd事件,似乎没有任何东西适合。

有一个QuickFixCmdPre应该在make之前调用但似乎无法使它工作:

的〜/ .vimrc

function! AutoSaveOnMake ()
    if &modified
        write
    endif
endfunction

autocmd QuickFixCmdPre *.c :call AutoSaveOnMake()  

2 个答案:

答案 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>