2013-11-02 58 views
0

我在我的vimrc中使用以下命令自動提交保存。我覺得這非常有用。不過,我不喜歡每次都陷入同樣的​​提交信息。vimrc自動提交w /消息提示

autocmd BufWritePost * execute ':silent ! if git rev-parse --git-dir > /dev/null 2>&1 ; then git add % ; git commit -m "Auto-commit: saved %"; fi > /dev/null 2>&1'

我想什麼是收到一個提示,當儲蓄,讓我要麼提供一個提交信息或按回車鍵,並使用「自動提交:保存%」作爲默認當我在着急。

我玩過input(),在這個特別的命令中沒有任何運氣。

我也嘗試使用函數返回的值,但無法使其工作。

+1

這不是一個答案,但自動提交每次保存文件似乎是絕對荒謬的矯枉過正。 –

回答

1

input()是一個內置的功能,你的結果分配給一個變量,然後可以將(適當轉義)的內容到你的外部的外殼命令:

autocmd BufWritePost * let message = input('Message? ', 'Auto-commit: saved ' . expand('%')) | execute ':silent ! if git rev-parse --git-dir > /dev/null 2>&1 ; then git add % ; git commit -m ' . shellescape(message, 1) . '; fi > /dev/null 2>&1'

這人會查詢保存。如果添加了條件語句,則可以在沒有給出消息時使其中止提交。