在vi中自定义单词分隔符
vi对待破折号和空间
作为诸如dw
和cw
命令的单词分隔符。
有没有办法添加下划线_
以及?
我经常想更改包含下划线的variables名称的一部分,例如将src_branch
更改为dest_branch
。 我最终计算字符和使用s
(如3sdest
),但使用cw
会更容易(如cwdest
)。
如果你使用vim,你可以通过设置iskeyword
选项( :he iskeyword
)来改变它。 如果这不是一个选项,你总是可以使用ct_
而不是计数。
有没有办法添加下划线
_
以及?
:set iskeyword-=_
在这种情况下另一个好的select是使用camelcasemotion插件。
它增加了与b
, e
和w
类似的新动作b
, e
和w
,除了它们识别CamelCase和snake_case字。 有了它,你可以使用
c,edest
如果你的光标位于“src_branch”的第一个字符上,这将会把“src_branch”replace为“dest_branch”。
您可以键入cf_dest_
并保存计数部分。
编辑:或按照build议: ct_
改变文字,直到下划线字符之前。 (我更多地使用f
运动,所以对我来说更自然)
或者你可以重新定义'iskeyword'
( :help iskeyword
)。
我只是自己看这个,并将其添加到我的.vimrc:
set iskeyword=!-~,^*,^45,^124,^34,192-255,^_
我的.vimrc与^ |有问题 和^“,这是我的设置默认iskeyword的一部分,所以我改变了他们的ASCII值,它的工作正常。我的主要修改是添加”^ _“到默认设置的结尾,以防止vim看到下划线作为一个词的一部分。