我在vimrc中使用以下命令在保存时自动提交。我觉得这个很有用。但是,我不喜欢每次都被同一个提交消息所困扰。
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'
我想要的是在保存时收到一个提示符,它允许我提供一条提交消息,或者按enter键,并在我匆忙的时候使用"Auto- commit : saved %“作为缺省值。
我和input()玩过,在这个特别的命令里没有任何运气。
我还尝试使用函数返回的值,但也无法使其工作。
发布于 2013-11-03 07:16:49
input()是一个内置函数,您可以将其结果赋值给一个变量,然后将其内容插入(适当转义)到外部shell命令中:
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'
这个将查询每一次保存。通过添加一个条件,您可以在未给出消息时使其中止提交。
https://stackoverflow.com/questions/19748286
复制相似问题