Vim:字vs WORD

时间:2014-04-08 08:01:34

标签: vim

我正在学习Vim,无法解决wordWORD之间的差异。

我从Vim手册中得到了以下内容。

  

单词由一系列字母,数字和下划线组成,或者a   其他非空白字符的序列,用空格分隔   (空格,制表符)。这可以通过' iskeyword'进行更改。   选项。空行也被认为是一个单词。

     

WORD由一系列非空白字符组成,用。分隔   白色空间。空行也被认为是WORD。

我觉得wordWORD是一回事。它们都是用空格分隔的一系列非空白字符。空行可以视为wordWORD

问题:
它们之间的区别是什么?
为什么/何时有人使用WORD而不是word

我已经完成了Google和SO搜索,但他们的搜索引擎将WORD解释为word,所以我就像搜索{{1}一样当然,我找不到任何有用的东西。

5 个答案:

答案 0 :(得分:94)

  • WORD始终由空格分隔。
  • 单词由非关键字字符分隔,可以配置。空白字符不是关键字,通常其他字符(如()[],-)也不是。因此,一个词通常小于WORD;单词导航更精细。

实施例

This "stuff" is not-so difficult!
wwww  wwwww  ww www ww wwwwwwwww    " (key)words, delimiters are non-keywords: "-! and whitespace
WWWW WWWWWWW WW WWWWWW WWWWWWWWWW   " WORDS, delimiters are whitespace only

答案 1 :(得分:15)

如果我执行viw(“选择内部word”),而我的光标位于以下行中的app,则会选择app

app/views/layouts/admin.blade.php

如果我在光标位于同一位置时执行viWWORD),则会选择整个字符序列。 WORD包含words的字符,这些字符与英语单词不同,如星号,斜线,括号,括号等。

答案 2 :(得分:1)

作为先前答案的补充...我将其可视化为:单词比单词大,它涵盖了更多... enter image description here

答案 3 :(得分:0)

另一种说法。如果你的编码,并希望通过停止在分隔符和行的行“()。[],:”使用w。

如果你想绕过那些而只是跳到单词,就像小说或短篇小说那样,请使用W。

对于编码,小w可能是最常用的。取决于您在代码中的位置。

答案 4 :(得分:0)

理解“单词”的定义时这是一个语法问题。

我首先陷入了该定义的中文版本(可能会误译)。


该定义绝对正确,但应这样阅读:

A word consists of:
   [(a sequence of letters,digits and underscores),
or (a sequence of other non-blank characters)], 
separated with white space (spaces, tabs, <EOL>).

仅在分隔两种相同类型的“单词”时需要空格字符


括号中的更多示例如下:

(example ^& $%^ Example)三个“单词”:(example),(^& $%^)和(Example)

(^ &^ &^ ^ && ^ &^ )两个“单词”:(^ &^ &^ ^)和(&& ^ &^

(我们在stackoverflow中)五个“单词” :(我们),('),(re),(中)和(stackoverflow)