[英]automate vim commands in git rebase
运行git rebase -i master
后,我总是希望在打开的 vim 窗口中写入:2,50s/pick/squash/g
。 有没有办法自动化将写入 vim 的内容?
这个答案显示了如何从 shell 编写 vim 命令,但在我的情况下,问题是 git 命令打开了 vim,它不在我的控制范围内。
创建文件
~/.vim/after/ftplugin/gitrebase.vim
try
2;'} s/^pick/squash
setlocal modified
catch
endtry
必须有filetype plugin on
才能工作。
你可以像这样在~/.vimrc
中定义一个键映射:
nnoremap ,rb :2,$ s/^pick/squash/<cr>
然后在由git rebase
启动的vim
会话中,如果要压缩所有提交,只需按,rb
即可。
或者定义为 vim 函数:
function GitRebaseSquashAll()
:2,$ s/^pick/squash/
endfunction
并使用:call GitRebaseSquashAll()
调用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.