4

我已经使用 vim 几年了,我喜欢执行简单的任务是多么容易,比如在当前行上方插入、删除整行等。我什至已经映射了我的大写锁定以逃避它!

vim 的一个我永远无法克服的问题是,与鼠标移动相比,导航需要多少思考,即使你已经学会了按键。我知道一些动作,比如%, ^, $, f/F, t/T在命令前使用数字,但我觉得使用它们需要更多的努力,而且它们会扰乱我的工作流程。

比如我需要删除这个url的“/many/sections/”,而光标在“really”这个词的中间:

http://this/is/a/real|ly/long/url/with/many/sections/

使用鼠标,只需单击并选择要删除的部分并单击删除即可。

如果我在 vim 中执行此操作,我会发现自己在想:好的,首先$将光标移到末尾。然后我想删除这些部分,这样我就可以使用“/”作为分隔符,现在我必须计算有多少“/”我想向后移动。它是两个,我必须向后搜索,所以它是F,不是f。所以我认为命令应该是$d2F/.

或者,我可以使用“m”作为光标的地标并从那里删除到最后,但是我必须扫描 url 以查找要使用的字母。如果还有一个 m,我也必须;反复按或开始数。

这似乎比只使用鼠标要困难得多,即使我的手从键盘上移开也是如此。对于多行选择尤其如此,我发现自己花费大量时间计算单词或行或寻找分隔符。

此外,有时该命令会删除或不删除一些额外的分隔符,因为我使用f了而不是,t反之亦然,而使用鼠标,我可以准确地指出我要选择的内容。

4

4 回答 4

6

关键是你的/朋友。从你被击中的地方/ma ENTER。然后,点击D删除该行的其余部分。

于 2013-08-28T12:36:53.440 回答
3

/maEnterD可能是最快的解决方案,并且不需要严格的运动规划。(同样?用于反向运动)。

但是如果你觉得你需要更多的动作,你绝对应该检查Easymotion 插件。它将f,F运动扩展到整个窗口,而不是单行。

实际上,我同意使用F非常麻烦,我宁愿使用文本对象,例如vi)or dip

于 2013-08-28T12:41:34.260 回答
0

使用gvim以便您可以使用鼠标。

于 2013-08-28T12:43:41.743 回答
0

如果你不喜欢计划,那重复呢?

$dF/.

不需要任何思考。

wwwwwwwD

也不需要任何思考。

无论如何,我会/ma<CR>D像已经提到的那样做。

如果您对它更满意,没有什么能阻止您使用鼠标。

于 2013-08-28T12:47:15.663 回答