2013-01-18 97 views
42

我使用Google搜索,这就是它所说的:Vim中b和B有什么区别?

要返回一个词,使用b。再一次,B会在Vim认为的单词中包含更多的字符。

我不明白B和b有什么不同。你能举个例子让我明白吗?谢谢。

其实我很想知道这个,因为在网上vim game,我试着回去从单词!与b,但它没有工作。但是,当我在我的电脑中安装Vim的时候尝试了它,它与b一起工作。那么这仅仅是为了让玩家在线索的帮助下使用B?

这里是游戏的画面:

enter image description here

回答

70

最喜欢的大写运动对,b移动通过的词,但移动通过WORD。不同之处在于,vim认为一个“单词”是字母,数字和下划线(并且可以使用iskeyword设置进行配置),但是一个“WORD”是总是任何不是空格的东西。

所以给出这样的:

foo-bar-baz 

如果你的光标在z和按b,将光标移回的baz开始,然后到连字符,然后回到开始bar,等等。它们中的每一个与vim都是不同的“单词”:foo,-,bar,-,baz

但如果按,光标将移动留给f一路,因为foo-bar-baz是所有非空白,因此一个字。

:help word vim里面也解释了这一点。


关于vim游戏:我认为游戏将巨石当作标点符号。试着在vim这样键入它:

not WORDS*! 

随着光标!b将你招回*,因为*!是所有标点符号,因此一个字。但那*实际上是一块巨石,所以你不能在那里移动,所以没有任何反应。另一方面,B将跳过所有不是空间的东西。

+3

也看看':help iskeyword' – Conner

+0

你能回答我上面编辑过的最后一个问题吗? –

+1

当然;修改后的答案 – Eevee

5

乙对待标点作为字的一部分,仅使用空白作为字符; b不会将标点作为单词的一部分来处理。

7

当您想要解释Vim功能时,谷歌不是你应该去的地方:学会使用:help。大部分问题的答案都在那里。

另外,您还需要需要去通过$ vimtutor。它比那个游戏更有用。

+4

虽然你完全正确,但这并不能回答这个问题。 –

+0

伙计们,我感谢你的关注,但是a)你对聚会有点迟到,b)这是解决OP的潜在问题。 – romainl

相关问题