vi将短划线-
和空格
视为dw
和cw
等命令的单词分隔符。
有没有办法添加下划线_
?
我经常想要更改包含下划线的变量名称的一部分,例如将src_branch
更改为dest_branch
。我最终计算字符数并使用s
(例如3sdest
),但使用cw
(如cwdest
)会更容易。
答案 0 :(得分:35)
有没有办法添加下划线
_
?
:set iskeyword-=_
答案 1 :(得分:22)
如果您使用的是vim,可以通过设置iskeyword
选项(:he iskeyword
)来更改它。如果这不是一个选项,您可以始终使用ct_
而不是计数。
答案 2 :(得分:5)
在这种情况下,另一个好的选择是使用camelcasemotion插件。
它添加了新的动作,b
,,e
和,w
,它们与b
,e
和w
类似,除了他们认出了CamelCase和snake_case的话。有了它,你可以使用
c,edest
如果光标位于“src_branch”的第一个字符上,这将用“dest_branch”替换“src_branch”。
答案 3 :(得分:1)
您可以输入cf_dest_
并保存计数部分。
修改或按照建议:ct_
将文字更改为下划线字符之前。 (我更多地使用了f
动作,所以它对我来说更自然了)
或者您可以重新定义'iskeyword'
(:help iskeyword
以获取详细信息)。
答案 4 :(得分:0)
我自己只是看着这个并将其添加到我的.vimrc:
set iskeyword=!-~,^*,^45,^124,^34,192-255,^_
我的.vimrc与^ |有问题和^“,这是我的设置的默认iskeyword的一部分,所以我改为他们的ascii值,它工作正常。我的主要修改是在默认设置的末尾添加”^ _“,以防止vim看到下划线作为一个词的一部分。
答案 5 :(得分:-1)
要删除下一个下划线,请输入“ df_” 要更改为下一个下划线,请输入“ cf_” 注意:请勿包含双引号。