打开Git提交编辑器到特定的光标位置

时间:2016-12-19 23:38:43

标签: git vim

我修改了我的prepare-commit-msg挂钩,以在我的提交消息开头包含分支名称(例如[JCH-234] -)。但是,当我运行git commit时,光标位于编辑器Vim的开头。我正在寻找一种方法来启动光标在我的分支名称后面的位置。

我知道移动光标只需要几个额外的击键,但我相信注意细节,并希望尽可能实现这一点。

3 个答案:

答案 0 :(得分:4)

IMO,这是git配置的东西,我们不应该为它添加特殊的vim脚本/配置。

您可以将GIT_EDITOR变量设置为:

GIT_EDITOR="vim -c'startinsert|norm! ggA'"

这会让你每次git commit,git会挂钩你的pre-commit-msg,然后打开vim,把光标放在第一行的末尾,在你的情况下,在你的分支名称之后,也切换到插入模式。 / p>

答案 1 :(得分:0)

您可以使用以下内容:

augroup git_commit
    autocmd!

    autocmd BufReadPost *
        \  if &filetype == 'gitcommit'
        \|     execute 'normal $'
        \| endif
augroup end

加载缓冲区的内容后会触发BufReadPost自动命令。如果filetypegitcommit,我们可以运行任何动作来移动光标。

在这里,我使用$移至行尾,但您也可以使用f-或其他适合您的内容。

答案 2 :(得分:0)

当您使用vim作为编辑时,请使用" A" (大写A)命令在行尾输入插入模式。