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

时间:2015-07-02 01:05:41

标签: vim vi

让我们说我在Vim中编辑这一行JavaScript:

Gregor

如果我的光标位于t中的insect,如何将其移至/'h中的%

我不是说要移到行的末尾。我正在谈论移动到封装在单引号中的JavaScript 字符串的末尾。 (我知道我可以用{{1}}来做,但我想知道是否有更通用的命令 - 可能类似于{{1}}。)

4 个答案:

答案 0 :(得分:5)

vi'<Esc>,它进入可视模式,选择包括当前字符串的内部,光标位于选择的末尾 - 然后离开可视模式。

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

答案 1 :(得分:2)

最简单的方式是t',但只有当字符串在同一行结束并且字符串中没有转义引号时才会有效。

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

您可以使用映射,例如:

:noremap [ vi'o<Esc>

:noremap ] vi'<Esc>

最后汤姆麦克唐纳有一个插件(https://github.com/tommcdo/vim-ninja-feet)来处理你的问题。

答案 2 :(得分:0)

我认为最简单的方法就是f',因为在此标记之前我们几乎看不到另一个'。即使不像%(的{​​{1}},它也会更方便。

答案 3 :(得分:-1)

在格里高尔的末尾使用e,在行的末尾使用$。