8

:make を発行する前にバッファを自動保存する方法はありますか? 私は MacVim を使用しており、make は Command-B にバインドされています。これは非常に便利ですが、make の前にバッファーを書き込む方法がわかりません。すべての autocmd イベントを調べましたが、何も適合しないようでした。

make の前に呼び出す必要がある QuickFixCmdPre がありますが、動作させることができないようです:

~/.vimrc

function! AutoSaveOnMake ()
    if &modified
        write
    endif
endfunction

autocmd QuickFixCmdPre *.c :call AutoSaveOnMake()  
4

2 に答える 2

19

Vim には、そのための組み込みの設定があります。

:set autowrite

ファイルが変更されている場合は、:next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] および CTRL のそれぞれにファイルの内容を書き込みます。 -^ コマンド; :buffer、CTRL-O、CTRL-I、'{A-Z0-9}、または `{A-Z0-9} コマンドが別のファイルに移動する場合。

于 2012-08-23T06:12:12.910 に答える
3

コマンドを作成する代わりにautocmd、Command-B マッピングを更新してみませんか?

nnoremap <d-b> :update<bar>make<cr>
于 2012-08-22T17:02:43.777 に答える