我在看vim help quickref命令来移动光标。以下几行使我感到困惑,因为我发现它们都工作相同。有人可以举例说明一下。
N w N words forward
N W N blank-separated WORDS forward
对于e和E同样适用。
我在看vim help quickref命令来移动光标。以下几行使我感到困惑,因为我发现它们都工作相同。有人可以举例说明一下。
N w N words forward
N W N blank-separated WORDS forward
对于e和E同样适用。
Answers:
根据这份备忘单,它似乎可以归结为标点符号。
w jump by start of words (punctuation considered words)
W jump by words (spaces separate words)
e jump to end of words (punctuation considered words)
E jump to end of words (no punctuation)
演示使用 w
演示使用 W
请注意,在第一个演示中,如何w连续命中光标落在标点上,而在第二个演示中,跳过标点。这是小写命令和它们的大写等效项之间的区别。
它实际上很简单,w
只是跳到下一个单词,但是任何标点符号或空格都会破坏单词。 W
就像具有工业强度的下一个单词命令一样,单词只能由空格分隔,无论是制表符,空格还是换行符。 w
如果需要处理,也可以在定界标点处停止。
我发现区别最有用的是主机名:
birdman.cartoons.fictional.com # Fictional host
使用w
,您可以停在主机名和点的每个部分。 W
只是跳过整个主机名,然后转到#
。这些都同样适用于d
并c
删除和更改的话。
如果位于上一行的开头,则如果要替换birdman.cartoons
为其他内容,则可以3cw
用来替换前两个部分和中间的点。如果W
不重新输入整个主机名,就无法做到这一点。
差异可以在vim的内部帮助页面中找到。首先让我们用:help
w或w描述w和W :help W
:
现在我们想知道单词和单词的定义是什么。使用:help word
和再次查找手册:help WORD
,我们找到它们。
a sequence of letters, digits and underscores
或组成a
sequence of other non-blank characters, separated with white space
(空格,制表符,)。可以使用“ iskeyword”选项更改。空行也被视为一个单词。a sequence of non-blank characters, separated with white
space
。空行也被视为WORD。