VIM 对 'inner-word' 的定义会根据上下文改变吗?

Does VIM definition of 'inner-word' change based upon context?

我想弄清楚为什么使用相同的键模式 viw 似乎在不同的上下文中表现不同

我有两个缓冲区,其中光标是 [ ]

在一个 javascript 文件中:

import {[f]oo, bang} from './utilities'

视觉选择:foo

其他,:help

"inner word", select [count] words (see |word|).
White space between words is counted too.
When used in Visual linewise mode "iw" switches to
Visual characterwise [m]ode.

视觉选择:模式。

我很困惑为什么在第一个内词中排除了标点字符逗号 , 第二个包括标点符号 .

造成这种不一致的原因是什么?

是(从技术上讲,定义不会改变,因为它是每个定义变量)。 Vim 是(如果配置为)文件类型敏感。参见 :h filetype。 所以每个设置在不同的文件类型中都可以不同。

您要找的是iskeyword。这控制哪些字符是单词边界。 :h iskeyword 状态:

For a help file it is set to all non-blank printable characters except '*', '"' and '|' (so that CTRL-] on a command finds the help for that command).

所以.属于这个词,像a-z