跳转到下一个空格

63

我想要一个快捷键,可以跳到单词之间的下一个空格,而不是使用 w 跳到下一个单词的开头或使用 e 跳到下一个单词的结尾。

3个回答

88
  • 使用f然后再按下空格。请参阅:help f:help t
  • 或者,如果您想匹配制表符,请使用/[[:space:]]/\s
  • 否则,使用El(大写E和小写L)即可。

在拒绝了建议的编辑之后,以下是如何向后执行它(跳转到上一个空格):

  • 使用F,然后再按下空格。请参阅:help F:help T
  • 或者,如果您想匹配制表符,请使用?[[:space:]]?\s
  • 否则,使用Bh(大写B和小写h)即可。

1
我相信你使用了nnoremapvnoremap而不是nmapvmap,否则你会得到无限递归。 - Benoit
1
实际上我用的是nmap和vmap,但我会改用你提到的命令,看看会发生什么。感谢你的建议。 - Matthias Guenther
@EI Isra,你错了:在这种情况下,没有必要使用 :*map 而不是 :*noremap。当您编写映射时,应首先考虑使用 nore 版本,因为它不太容易出现在其他地方执行 *map 命令后可能出现的错误。 - ZyX
你也可以使用/\s?\s来匹配任何空格字符。这样重新映射'f'会使它对于非空格字符失去用处,这是不可取的!我像使用其他按键一样经常使用f和family,例如“删除到下一个句号”等。 - dash-tom-bang
有时我觉得这个很有用:在OSX中使用MacVim,你可以使用Alt + Right然后Left来跳到下一个单词,然后再回退一个字符。 - f1lt3r
显示剩余4条评论

15

在同一行上:

fSpace可以起作用。

通常,f+<char>允许您跳转到同一行上的下一个字符。

有关更多信息,请参见:help f


12

如上所述:您可以使用f,然后使用Space,但是接着使用;跳至所有剩余的空格。我的序列通常是:

f<Space>;;;;

分号是f键(在行中查找字符)的重复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接