反正有没有vim不计算特殊字符作为单词?

时间:2009-07-25 12:28:24

标签: macros vim

我正在使用VIM为我使用宏做了很多工作。

列中有很多文字,我想通过按下w键“移动到下一个单词的开头”,毫不费力地在宏之间移动

例如:

DataSourceName            string                       ""   
DetailFields              []string                          
DynamicControlBorder      boolean                 empty  may be void 
EscapeProcessing          boolean                    True   
FetchDirection            long                       1000   
FetchSize                 long                         12   
Filter                    string                       ""   
GroupBy                   string                       ""   
HavingClause              string                       ""

然而,当我这样做时,VIM只为字母做这件事;每当遇到“[”或“它将其解释为另一个词时,弄乱宏,因为它现在看起来有一个额外的列。

我是否可以更改任何设置以使vim忽略特殊字符并通过跳过它们来对待它们?

[更新]

我在superuser.com上找到了一个更好的答案:

https://superuser.com/questions/12679/is-there-anyway-to-have-vim-not-count-special-characters-as-words/12828#12828

2 个答案:

答案 0 :(得分:7)

W命令(Shift + W)移动到仅由空格分隔的下一个单词,而不是Vim被配置为考虑“单词”的任何内容(如未移位的w)。

答案 1 :(得分:7)

您可以将特殊字符作为单词的一部分,请参阅iskeyword选项。在您的情况下,您只需尝试以下命令:

:set iskeyword+=[
:set iskeyword+=]