Vim 删除光标后的所有内容(或删除当前单词后的所有内容)
我发现自己在vim中经常处于这种情况:Vim 删除光标后的所有内容(或删除当前单词后的所有内容),vim,Vim,我发现自己在vim中经常处于这种情况: response.status == 404 ^ 我的光标位于r字符上,我想删除当前单词后面的所有内容。我可以执行ElD移动到单词末尾,移动光标,删除直到下线。或者,我可以做一些类似于WDx的操作,移动到下一个单词,删除整行,并删除多余的空格 此外,将光标保持在与开始时相对相同的位置也很好(我想我可以使用标记) 是否有任何捷径可以让这更容易(例如,减少大写字母,减少笔划)?我也只是尽量不使用h、l和x。我可以添加一些自定义的东西,但我更喜欢使用本机键绑定
response.status == 404
^
我的光标位于r
字符上,我想删除当前单词后面的所有内容。我可以执行ElD
移动到单词末尾,移动光标,删除直到下线。或者,我可以做一些类似于WDx
的操作,移动到下一个单词,删除整行,并删除多余的空格
此外,将光标保持在与开始时相对相同的位置也很好(我想我可以使用标记)
是否有任何捷径可以让这更容易(例如,减少大写字母,减少笔划)?我也只是尽量不使用
h
、l
和x
。我可以添加一些自定义的东西,但我更喜欢使用本机键绑定,我不知道您是否想要这样做,但是-如果您这样做,这个用例会变得更简单,并且只使用“本机”键绑定。因此-对于所需的文件类型
,您可以添加以下内容:
:setlocal iskeyword+=.
然后,您可以使用elD
而不是elD
,(更容易使用手腕)
但是,坦率地说,如果您对它感到非常不安,那么这意味着它经常发生,应该可以通过更简单/更短的自定义密钥绑定来访问它;) 我不知道您是否希望这样做,但是-如果您这样做,这个用例就会变得更简单,并且只使用“本机”键绑定。因此-对于所需的
文件类型
,您可以添加以下内容:
:setlocal iskeyword+=.
然后,您可以使用elD
而不是elD
,(更容易使用手腕)
但是,坦率地说,如果您对它感到非常不安,那么这意味着它经常发生,应该可以通过更简单/更短的自定义密钥绑定来访问它;) 我通常使用
WDD
来实现此目的,这样可以避免按第三个键
显然,您会丢失已删除代码的相关部分,因此不能将其用于剪切和粘贴。通常我会使用
WDD
来实现此目的,这样可以避免按第三个键
显然,您丢失了删除代码的相关部分,因此不能将其用于剪切和粘贴。Vim golfing
现在,在Vim中,通常的做法是尝试减少某些任务的击键次数,通常称为高尔夫。这种做法通常使用以下一般技术:
- 使用较少使用的动作或命令。e、 g.
,ZZ
,])
gi
- 使用运算符和运动代替计数<代码>2ddvs
dj
- 使用计数一次做更多的事情。e、 g.
4j
- 使用可重复的动作。e、 g.
并使用fX
/,
重复
动作f
- 通过
重用模式/
- 利用给定的文本。对于更一般化的解决方案,这通常是失败的
- 使用具有智能范围的ex命令。e、 g.
v/,/-j
- 使用标记,但尤其要使用vim为您设置的标记。e、 g
,“`
李>”^
- 使用较少使用的动作或命令。e、 g.
,ZZ
,])
gi
- 使用运算符和运动代替计数<代码>2ddvs
dj
- 使用计数一次做更多的事情。e、 g.
4j
- 使用可重复的动作。e、 g.
并使用fX
/,
重复
动作f
- 通过
重用模式/
- 利用给定的文本。对于更一般化的解决方案,这通常是失败的
- 使用具有智能范围的ex命令。e、 g.
v/,/-j
- 使用标记,但尤其要使用vim为您设置的标记。e、 g
,“`
李>”^
相反,重点是优化常见或冗长的任务。通过创建一个自定义映射或命令来实现这一点,使这类任务尽可能快速、轻松地完成,并继续你的一天。你已经有了两个关键的备选方案;我不认为它可以得到任何更好的内置。只有一个自定义的运动会进一步缩短这个时间。另一个3键备选方案是
fD
您已经有两个3键备选方案;我不认为它可以得到任何更好的内置。只有一个自定义的运动会进一步缩短这个时间。另一个3键的选择是fD
Nice!我其实很喜欢这个。不能避免三次按压,但是做两次按压对MEUP有效。。。再看看这个,我真正的意思是WDD
!我希望你是这么想的。我应该更新答案吗?已修复。如果您不再同意,请随意删除此选项作为所选答案。很好!我其实很喜欢这个。不能避免三次按压,但是做两次按压对MEUP有效。。。再看看这个,我真正的意思是