Mat*_*t W 3 git vim powershell rebase
使用Powershell 5时,当我键入git rebase -i <sha>vim时,我会在他们的选择行上获得一个提交列表.
移动插入到任何那些行的开始和改变挑squash,s,fixup,f等似乎最初阻止.看起来应该随机点击光标键,输入随机字符,最终vim允许按照我的意图输入文本.
什么是vim在这里做什么,它只是一个选项?你怎么阻止它?
[编辑]我意识到vim的初始模式可能不是我正在寻找的模式,但是我不确定如何检查,更改它或任何相关的模式.如果输入时输入的vim的初始模式git rebase...确实需要更改,那么这个问题的一个好答案就是如何在vim启动后更改该模式.
我已经完成了你所描述的内容,这可能会令人困惑!我希望这有帮助,但如果有任何不清楚的地方请通过评论回复我会很乐意回复或更新我的答案:)
在Vim,你从头开始normal mode.
从那里,您可以insert mode通过按下访问,i并可以按照您通常的预期编辑文本.完成编辑文本后,按esc返回normal mode
在normal mode,键入:wq并按下EnterVim中的"写入"和"退出".
为了避免在Vim中应用您的更改,您通常会使用:q!(退出而不保存,强制)normal mode,但这不会以您期望的方式用于交互式变基.相反,你必须在使用前删除文本中的所有行:wq或:q!.一次删除所有行的简单方法normal mode是遵循从本课题中选择的答案
Vim是一个了不起的文本编辑器,可以让你做很多事情!在交互式变基的上下文中,我最喜欢的一个是文本替换:in normal mode,type :%s/pick/fixup/g和"pick"的所有实例都将替换为"fixup".然后,您可以输入insert mode以根据需要对第一次提交(更改为编辑,选择,重新编写等)和任何其他提交行进行微小更改.
默认情况下,vim会话开始等待命令(而不是插入插入符号的文本).这是跨vi实现的典型行为.
如果您使用箭头键或鼠标(而不是采用传统的位置插入符号h,j,k,和l命令),那么你可能会发现,就vim在插入模式开始为你工作.您可以通过多种方式完成此操作.一种方法是通过这样做来更改编辑器命令:
git config --global core.editor 'vi +star'
Run Code Online (Sandbox Code Playgroud)
当然,完成后你仍然必须退出"插入"模式,然后输入"保存并退出"命令.(您可以通过esc按键退出"插入"模式.)
也就是说,您可能会发现vim在默认模式下启动更方便,因为您可以执行以下操作:将插入符号放在pick要更改的位置; type c w("更改单词"命令); 类型squash(或任何你想改变的东西pick); 点击esc键退出插入模式.点击ZZ保存并关闭vim.
(基本上,如果你花时间真正学习如何使用vi类型的编辑器,那么默认模式将开始变得更有意义;如果你不想投入那些时间,你可能想要切断使用vim.)