Vim 视觉模式 ‘w’ 选择

Vim 视觉模式 ‘w’ 选择

使用 gvim 7.3 时,我可以通过键入 v 然后键入 w 来选择一个单词。所选单词不包括单词后的标点符号。在 Linux 上使用 vim 7.2 时,通过键入 v 然后键入 w 来选择一个单词也会选择后面的标点符号。

For example with this text and the cursor at the beginning of the line:
clk : in

On Windows, v w y o esc p produces
clk : in
clk 

On Linux, v w y o esc p produces
clk : in
clk :

注意 Linux 上的额外冒号

这是为什么?如何让 Linux 上的 VIM 表现得像 Windows 上的 gvim(反之亦然)?

答案1

vw将从光标处选择文本到当前“单词”末尾,其中“单词”是来自 'iskeyword' 选项定义的集合的字符序列。'iskeyword' 选项默认为 ASCII 字母数字字符加下划线 (_) 的集合。

如果vw选择的字符不止这些,那么可能是某个文件类型插件在“iskeyword”中添加了字符,插件作者认为,这在编辑当前文件类型时更有用。要找出iskeyword设置的位置,请执行

:verbose set iskeyword?

可能是您的 Windows Vim 安装与 Linux Vim 安装有一组不同的插件,或者您的 Linux ~/.vimrc 启用了文件类型检测而您的 Windows ~/_vimrc 没有。

该行为可以改变,但如何或应该如何改变将取决于您想要的行为以及如何iskeyword设置。

答案2

您可以写入viw以选择一个“内部单词”(没有周围的标点符号)。 viwoESCp然后会产生与 Windows 版本相同的输出。

相关内容