交互式变基时,如何高效在Vim中编辑git-rebase-todo文件?
更高效编辑Git变基Todo文件的方法
针对你遇到的每次修改都要反复按<esc>的繁琐问题,这几个Vim操作技巧能大幅提升效率:
批量行替换(最快捷)
直接在Vim命令行模式执行::2,$s/^pick/s/g解释:
2,$表示从第2行到最后一行,s/^pick/s/g把每行开头的pick替换成s,一步完成所有需要修改的行,完全不用手动逐行操作。可视化选行批量修改
如果只想修改部分行而非全部:- 按
V进入可视化行选择模式,移动光标选中需要修改的行 - 输入
:s/^pick/s/g并回车,选中行的pick就会统一替换成s
- 按
重复操作简化流程
要是习惯逐行修改,也能省去<esc>的步骤:
改完第一行(cws把pick改成s)后,直接按j跳到下一行的pick开头,再按.(点号)——Vim会自动重复你上一次的修改操作,如此j.循环即可,不用再手动按<esc>和重新输入cws。事前优化提交(从根源减少变基操作)
如果提前知道要合并后续提交,提交时可以用git commit --amend把新改动追加到上一个提交里,或者用git merge --squash把多个提交合并成一个后再提交,避免事后再做交互式变基。
内容的提问来源于stack exchange,提问作者caduceus
相关产品推荐
相关产品推荐

