在IdeaVIM中,如果我提取变量并想要命名它,看起来我在视觉模式中(变量名称突出显示),但我无法找到一种方法改变突出显示的内容。这是一张图片:
如果我输入c
,它就不会做任何事情。如果我输入cc
,它会改变整行。基本上,它在命令模式下就像我一样,但名称突出显示,就好像它处于可视模式一样。我想做的99%的时间都是改变这个词。然而,光标在单词后面是一个字符,因此ciw
没有改变它。
重命名此变量的便捷方法是什么?我通常做hciw
。我更喜欢"提取变量"但是,让我直接进入插入模式。
答案 0 :(得分:7)
这有点违反直觉,但最简单的方法是立即点击i
进入插入模式,然后开始输入新名称,它将替换突出显示的文本。
正如我所看到的那样,问题是vim是模态的,而vanilla IntelliJ也是模态的,你在这里拥有的是两组模式的交互。要了解IntelliJ模式,请尝试使用^Z
关闭IdeaVIM并使用提取变量重构。请注意,如果您立即开始键入,键入的内容将替换所选文本,但如果先移动光标然后开始键入,则会在光标处插入您键入的内容。现在添加IdeaVIM:一旦你处于插入模式,IntelliJ的行为开始了。
请参阅VIM-274以了解更改此行为的请求以及对替代方案的一些讨论。
答案 1 :(得分:2)