转到第 n 个符号

在 Vim 中如何将光标从左移到第 n 个符号?

我看到的解决方案之一是按 0n<right-arrow>,它将移动到 n + 1的位置。还有更自然的方法吗?

40460 次浏览

EDIT: misread your question.

you can move forward to a particular symbol by typing f followed by the symbol in question:

if you want to move to the third $, you'd type:

3f$

in order to go backwards, you use capital "F"

F$

to get to the end of the line first, you use "$"

so your keystrokes for finding the third $ from the end of a line is:

$3F$

i like to keep something like this handy when using Vim:
http://www.lagmonster.org/docs/vi.html

I'm not sure if you mean the nth character or nth occurrence of a character; the second has been answered so I will answer the first.

^ will take you to the start of the line excluding whitespace (so to the first non-white column) and | (pipe) or 0 (zero) will take you to the first character. Then l (lowercase L) will take you to the right; and 7l will take you seven characters to the right. So all together, to go to the (n+1)th character on the line, for n=7, 07l.

The pipe '|' character may be what you want:

To go to 25th column in a line in normal mode press 25|

To go to 37th column in a line in normal mode press 37|

and so on. . .