的vimrc自动提交瓦特/消息提示(vimrc auto-commit w/message prom

2019-09-26 13:17发布

我在的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'

我想是到时接收提示节约,让我要么提供一个提交信息或按回车键,并使用“自动提交:保存%”作为默认当我在赶时间。

我打得四处input()并没有拥有这个特殊的命令中的任何运气。

我也试图使用函数的返回值,但不能得到这工作的。

Answer 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'

这人会查询每次保存。 随着加入的条件,你可以把它中止没有给出消息时提交。



文章来源: vimrc auto-commit w/message prompt