如何在 vim 中的点后有效地编辑字符串
How to efficiently edit strings after dot in vim
在 vim 中,我必须将 someText.someTextAfterDot
字符串更改为 someText.somethingDifferent
。光标在After
中的t
处。最有效的方法应该是什么?
- 如果我使用 'cw' 命令然后删除完整的
someText.someTextAfterDot
包括 someText
我认为这不是有效的因为现在我必须输入 someText
再次.
- 通常,我使用 'F.ce'(找到最后一个 . 并编辑到当前单词的末尾)命令,然后键入
somethingDifferent
。与其他编辑器(如 WebStorm 或 Sublime)一样,这似乎需要大量工作,只需简单地双击 someTextAfterDot
即可。
vim还有其他更有效的方法吗?
我的直觉是输入 bdeisomethingDifferent
。我不知道这是一个很大的改进,但它至少不会让你像 F.ce
那样再次键入 .
。
我通常为此使用更改内部单词。您只需输入
ciwsomethingDifferent
还要查看 text object selection 的文档。
首先 cw
应该只继续前进,所以只删除 terDot
。如果 cw
正在做更多的事情,那么我假设你有一些错误的映射。
"inner" 字文本对象 iw
正是您所需要的。例如ciw
。但是,如果您已将 .
添加到 'iskeyword'
,则单词将包含 .
,并且 ciw
的行为将不正确。
要找出最后设置 'iskeyword'
的位置,请使用以下命令:
:verbose set iskeyword?
如需更多帮助,请参阅:
:h 'iskeyword'
:h iw
:h w
:h cw
:h :verbose
在 vim 中,我必须将 someText.someTextAfterDot
字符串更改为 someText.somethingDifferent
。光标在After
中的t
处。最有效的方法应该是什么?
- 如果我使用 'cw' 命令然后删除完整的
someText.someTextAfterDot
包括someText
我认为这不是有效的因为现在我必须输入someText
再次. - 通常,我使用 'F.ce'(找到最后一个 . 并编辑到当前单词的末尾)命令,然后键入
somethingDifferent
。与其他编辑器(如 WebStorm 或 Sublime)一样,这似乎需要大量工作,只需简单地双击someTextAfterDot
即可。
vim还有其他更有效的方法吗?
我的直觉是输入 bdeisomethingDifferent
。我不知道这是一个很大的改进,但它至少不会让你像 F.ce
那样再次键入 .
。
我通常为此使用更改内部单词。您只需输入
ciwsomethingDifferent
还要查看 text object selection 的文档。
首先 cw
应该只继续前进,所以只删除 terDot
。如果 cw
正在做更多的事情,那么我假设你有一些错误的映射。
"inner" 字文本对象 iw
正是您所需要的。例如ciw
。但是,如果您已将 .
添加到 'iskeyword'
,则单词将包含 .
,并且 ciw
的行为将不正确。
要找出最后设置 'iskeyword'
的位置,请使用以下命令:
:verbose set iskeyword?
如需更多帮助,请参阅:
:h 'iskeyword'
:h iw
:h w
:h cw
:h :verbose