如何在Vim中将光标移动到字符串的末尾?

如何在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,但我想知道

假设我正在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
,但我想知道是否有一个更通用的命令,可能类似于
%

使用e到Gregor的末尾,使用$到行的末尾。

vi'
,它进入视觉模式,选择包含当前字符串的内部,光标位于选择的末尾,然后离开视觉模式

我不确定是否有更好的方法。

最简单的方法是
t'
,但这只有在字符串结束于同一行且字符串中没有转义引号时才有效

实现这一点的最干净的方法是@hobbs已经指出,使用视觉模式选择整个(内部)文本对象(
vi'
)。使用
o
(在点击
之前),您还可以切换此选择的结尾

您可以为此使用映射,例如:

:noremap[vi'o

:noremap]vi'


最后,Tom McDonald提供了一个插件(),可以准确地处理您的问题。

我认为最简单的方法就是
f'
,因为在这个标签之前,我们几乎看不到另一个
'
。它更方便,尽管不像
%
{

可能重复您误读了这个问题。我编辑它是为了强调我说的是移动到字符串的末尾,而不是行的末尾。Esc,/,enter,I。这将带您进入命令模式,搜索下一个“然后返回编辑模式”。