4

我发现自己经常在提交消息中重复我编辑过的函数的名称,并且在编写提交消息时对我刚刚更改的函数进行自动完成会很好。

是否有可能让 vim 以某种方式搜索当前提交的文件并获取函数名,或者更好的是,只有修改过的文件名?

我正在使用 gVim7.3 和 C#,如果这完全相关的话。

4

2 回答 2

10

如果您使用该-v选项git commit,将导致 git 将您提交的内容的差异放在用于创建提交消息的文件中。对于大多数语言,该差异中的大块头将指示正在修改的函数的名称。这将使修改后的函数的名称可用于使用Ctrl+NCtrl+完成P

为了简化这一点,我很久以前做过

git config --global alias.ci 'commit -v'

并且始终使用git ci而不是git commit.

较新版本的 git 支持配置为所有提交打开此功能。

git config --global commit.verbose true
于 2013-03-08T21:14:54.890 回答
5

Vim 7.3 附带$VIMRUNTIME/ftplugin/gitcommit.vim,它定义了一个:DiffGitCached命令来显示你将要提交的差异。一旦您在拆分窗口中拥有它,默认<C-N>完成(假设默认'complete'值)将自动选择这些字符串。(最后一次检查你是否真的提交了正确的东西也很有用。)

于 2013-03-08T20:50:23.843 回答