在vim中一次视觉选择两个东西
Posted
技术标签:
【中文标题】在vim中一次视觉选择两个东西【英文标题】:Visually Select two things at once in vim 【发布时间】:2016-04-05 21:57:24 【问题描述】:假设我有这样一行文字
Hello World "How are you" World
现在,我想知道,是否有办法一次选择引号之外的所有内容?所以,我期待这样的事情,其中粗体文本是选择
Hello World“你好吗”世界
我知道这是可能的,但我无法找到完成此任务的方法。 我正在考虑做一些事情,比如单独选择两个部分并以某种方式加入它们。
我的目标是能够创建一个动作,该动作可以删除除 " 或 ' 之间的内容之外的所有内容,作为运算符待定动作。因此,操作可以是删除、拉动或剪切/更改。那么,有没有有没有其他方法可以解决同样的问题?
【问题讨论】:
【参考方案1】:这是不可能的。在 Vim 中,一次只能有一个选择,尽管有一个插件 multiselect 声称可以做你想做的事。不过我没试过。
【讨论】:
我想创建一个操作员待定议案,以删除该行中除 How are you 之外的所有内容。那么,还有其他可能吗? 直观地选择你好吗,存储在寄存器a中。删除该行。把注册一个 这是常规方式。我知道。但我想为此制定一个议案。所以,我基本上希望从视觉上选择它并对此采取一些行动。就像我们在操作员挂起模式中所做的一样 我可能想做,y or c or d on the selected area,不只是删除跨度> @DurgaSwaroop 我确实故意使用 store 它没有说是使用 y 还是 c 还是 d。顺便说一句:我不明白,为什么你不能让函数做到这一点。【参考方案2】:将光标放在双引号之间,然后
yi" # Yank text between double quotes
dd # Delete line
"0p # Paste register 0
应该做的伎俩。
【讨论】:
这是常规方式。我知道。但我想为此制定一个议案。所以,我基本上希望在视觉上选择它并对其执行一些操作。【参考方案3】:类似于@Jens 的回答:
yi" # Yank text between double quotes
V # Select line
p # Paste yanked text
【讨论】:
再说一次,这不是我需要的。我需要选择里面的部分,以便我可以运行各种命令以上是关于在vim中一次视觉选择两个东西的主要内容,如果未能解决你的问题,请参考以下文章