如何在Vim中将光标移动到字符串的末尾?
假设我正在Vim中编辑这行JavaScript:如何在Vim中将光标移动到字符串的末尾?,vim,vi,Vim,Vi,假设我正在Vim中编辑这行JavaScript: var opener = 'As Gregor Samsa awoke one morning from uneasy dreams he found himself transformed in his bed into a gigantic insect'; 如果我的光标位于Gregor中的G,如何将其移动到昆虫中的t 我不是说要走到队伍的尽头。我说的是移动到单引号中封装的JavaScript字符串的末尾。(我知道我可以用/'h,但我想知道
var opener = 'As Gregor Samsa awoke one morning from uneasy dreams he found himself transformed in his bed into a gigantic insect';
如果我的光标位于Gregor
中的G
,如何将其移动到昆虫中的t
我不是说要走到队伍的尽头。我说的是移动到单引号中封装的JavaScript字符串的末尾。(我知道我可以用/'h
,但我想知道是否有一个更通用的命令,可能类似于%
)使用e到Gregor的末尾,使用$到行的末尾。有vi'
,它进入视觉模式,选择包含当前字符串的内部,光标位于选择的末尾,然后离开视觉模式
我不确定是否有更好的方法。最简单的方法是t'
,但这只有在字符串结束于同一行且字符串中没有转义引号时才有效
实现这一点的最干净的方法是@hobbs已经指出,使用视觉模式选择整个(内部)文本对象(vi'
)。使用o
(在点击
之前),您还可以切换此选择的结尾
您可以为此使用映射,例如:
:noremap[vi'o
:noremap]vi'
最后,Tom McDonald提供了一个插件(),可以准确地处理您的问题。我认为最简单的方法就是f'
,因为在这个标签之前,我们几乎看不到另一个'
。它更方便,尽管不像%
的(
和{
可能重复您误读了这个问题。我编辑它是为了强调我说的是移动到字符串的末尾,而不是行的末尾。Esc,/,enter,I。这将带您进入命令模式,搜索下一个“然后返回编辑模式”。