在Vim中,我想讲一句话。与w相反


207

使用vim时,可以使用逐字前进w。我该如何后退?


8
viemu.com/vi-vim-cheat-sheet.gif 它具有许多以简单图形格式显示的vim键。如果您将大量使用vim,我强烈建议将其打印并放在计算机旁边。
山姆·布林克


1
另请参阅:stackoverflow.com/questions/5125270/…如果有兴趣倒退到上一个单词的末尾-使用ge和gE
arcseldon

Answers:


283

用于b返回一个字。

您可能还需要检出WB前进/返回a WORD(根据,该序列由一系列用空格分隔的非空白字符组成:h WORD)。


42
为了完整起见,ge将倒退至单词的结尾。gE将返回到WORD
Rinker Peter Rincker

4
@Peter Rincker:和eE将勇往直前。
Benoit 2012年

1
b和B有什么区别?还是w和W?行为似乎相同。
Casey Patton 2013年

@CaseyPatton:大写版本将任何非空白序列视为单词;小写类似于\w|\S。请参阅:help word:help WORD了解更多详细信息。
rninty 2013年

同样值得考虑的是ge和gE后退到前一个单词的末尾。此外,请参阅stackoverflow.com/questions/5125270/...
arcseldon

79

我认为它有助于:

b 转到当前或上一个单词的开头

w 去下一个词的开头

e 转到当前或下一个单词的末尾

ge 去上一个单词的结尾

尝试:h word-motions获取更多详细信息以及如何将其与操作结合起来。



2

另外,如果你使用wbW,和B导航线由希望过的话,请考虑以下的替代品,如果正确使用它可以更快。

f<char>    # jump to next occurrence of <char> to right (inclusive)

要么

F<char>    # jump back to next occurrence of <char> to left (inclusive)

如果您的单词之间用空格隔开

如果您的单词被分隔,则<space>可以用空格跳过单词:

f<space>;;;;在哪里;重复上一个命令,所以您以空格向前跳

F<space>;; 向后跳

如果您的单词是用标点符号而不是空格分隔的

<char>例如,仅用标点符号代替.

标点方法在滚动浏览时效率不高,但是如果您知道要跳转的位置,通常可以在两到三个跳转后到达标点

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.