7

在 IdeaVIM 中,如果我提取一个变量并想要命名它,我似乎处于可视模式(变量的名称被突出显示),但我无法找到改变突出显示内容的方法。这是一张图片:

在此处输入图像描述

如果我输入c,它不会做任何事情。如果我输入cc,它会改变整行。基本上,它就像我处于命令模式,但名称被突出显示,就好像它处于可视模式一样。我 99% 的时间都想做的是改变这个词。然而,令人讨厌的是,光标在单词后面的一个字符,所以ciw不会改变它。

重命名此变量的便捷方法是什么?我一般都做过hciw。不过,我更喜欢“提取变量”让我直接进入插入模式。

4

2 回答 2

6

这有点违反直觉,但最简单的做法是立即点击i进入插入模式,然后开始输入新名称,它将替换突出显示的文本。

正如我所见,问题在于 vim 是模态的,而 vanilla IntelliJ 也是模态的,而您在这里拥有的是两组模式的交互。要了解 IntelliJ 模式,请尝试关闭 IdeaVIM^Z并使用提取变量重构。请注意,如果您立即开始输入,您输入的内容将替换选定的文本,但如果您先移动光标然后开始输入,您输入的内容将插入到光标处。现在将 IdeaVIM 添加到组合中:一旦您处于插入模式,IntelliJ 的行为就会启动。

请参阅VIM-274以获取更改此行为的请求和一些替代方案的讨论。

于 2015-03-25T18:43:47.927 回答
3

对于“提取变量”,一旦您达到了建议名称的地步: 名称建议

始终有效的是按Escape, bcw然后键入新名称。有时您可以b立即按下,但由于某种原因,这通常会使我进入视觉模式,因此Escape可以保证按下。

于 2016-09-25T17:50:13.910 回答