Entering insert mode automatically when editing git commit messages

前端 未结 3 2197
难免孤独
难免孤独 2021-02-19 01:37

If I do a git commit, when Vim opens, I want to be in insert mode straight away.

I noticed that the filetype is set to gitcommit w

相关标签:
3条回答
  • 2021-02-19 02:20

    An alternate approach:

    export GIT_EDITOR='vim +startinsert'
    

    or add ! in the end to start from the end of message (useful, when using git hooks for message completion)

    export GIT_EDITOR='vim +startinsert!'
    
    0 讨论(0)
  • 2021-02-19 02:23

    This is probably a bit more complex than it needs to be, but you can do this with an individual filetype plugin:

    $ mkdir -p ~/.vim/ftplugin/gitcommit
    $ echo 'startinsert!' > !$/git-commit-insert.vim
    
    0 讨论(0)
  • 2021-02-19 02:24

    In :au Event pattern command, the pattern is usually matched against the buffer name. Instead of BufRead gitcommit, you could use BufRead COMMIT_EDITMSG. If you want to match against the filetype option, then use the FileType event.

    I tend to write multi-line commit messages, and I have an autocommand (from vimrc_example.vim) that does

    exe "normal! g`\""
    

    whenever I enter a new buffer, so how about

    au FileType gitcommit 1 | startinsert
    

    to go to the first line before entering Insert mode? Now that I have tested it, I think I will keep it. :)

    0 讨论(0)
提交回复
热议问题