vi 将破折号-和空格 视为dw和等命令的单词分隔符cw。
有没有办法添加下划线_?
我经常想更改包含下划线的变量名的一部分,例如更改src_branch为dest_branch. 我最终计算了字符并使用s(like 3sdest),但它会更容易使用cw(like cwdest)。
有没有办法添加下划线
_?
:set iskeyword-=_
什么是关键字,什么不是成员字符取决于语言。有关 iskeyword 使用的帮助:help iskeyword。
如果您使用的是 vim,您可以通过设置iskeyword选项 ( :he iskeyword) 来更改它。如果这不是一个选项,您可以随时使用ct_而不是计数。
在这种情况下,另一个不错的选择是使用camelcasemotion插件。
它添加了新的动作,b、,e和,它们与、和,w类似地工作,除了它们识别 CamelCase 和 snake_case 词。有了它,您可以使用bew
c,edest
如果您的光标位于“src_branch”的第一个字符上,这将用“dest_branch”替换“src_branch”。
您可以键入cf_dest_并保存计数部分。
编辑:或按照建议:ct_更改文本直到下划线字符之前。(我更多地使用这个f动作,所以它对我来说更自然)
或者你可以重新定义'iskeyword'(:help iskeyword详情)。
我自己只是在看这个并将其添加到我的 .vimrc 中:
set iskeyword=!-~,^*,^45,^124,^34,192-255,^_
我的 .vimrc 有问题 ^| 和 ^",这是我设置的默认 iskeyword 的一部分,所以我更改为它们的 ascii 值并且它工作正常。我的主要修改是在默认设置的末尾添加 "^_" 以防止 vim 看到下划线作为单词的一部分。
要删除到下一个下划线,请输入“df_” 要更改到下一个下划线,请输入“cf_” 注意:不要包含双引号。