是否有可能重新定义" word"的含义。在vim?

时间:2015-06-07 06:03:49

标签: vim

在vim中,字符串与" - "分开。会被视为多个单词,所以如果我将一个变量命名为'这是一个非常长变量的名称',那么vim会将该变量名称视为两个单词,因此我可以轻松找到到"变量"的开始或结束和"名称"。

但是,在大多数编程语言中,我不允许这样命名变量,唯一支持和喜欢该名称样式的编程语言是Lisp。在大多数其他编程语言中,我必须使用" _"代替。

所以,如果我有一个名为" this_is_a_very_long_variable_name"的变量,有什么方法可以通过按" w / b / e"来移动该变量名。用词而不是按'" h / l"按字符移动?

2 个答案:

答案 0 :(得分:4)

您可以使用iskeyword

更改字词的行为方式
:set iskeyword-=_

答案 1 :(得分:3)

如果仅用于导航,我的camelcasemotion plugin会提供替代的,w / ,b / ,e动作(以及相应的文字对象),但只留下Vim的单词定义;即你仍然可以通过variable_name更改整个iw。或者,您也可以使用插件中的内置动作覆盖Vim的内置动作。

更改'iskeyword'(由@Rob建议)可能会影响语法突出显示和其他插件,因此这将是一个不那么具有侵入性的解决方案。