代码之家  ›  专栏  ›  技术社区  ›  Jeet

如何将当前视觉选择短语插入命令行?

vim
  •  31
  • Jeet  · 技术社区  · 14 年前

    在命令上输入参数时,我知道可以键入 <C-R><C-W> 在光标下插入单词, <C-R><C-A> 在光标下插入单词。

    是否有方法插入当前的可视选择?

    谢谢!

    3 回复  |  直到 10 年前
        1
  •  33
  •   Walter    14 年前

    您可以使用ex或search命令行上任何寄存器的内容 <C-R> 后面是登记册的名字。通过猛拉您的视觉选择,它被放入 0 注册,所以 <C-R>0 将您的扬起选择添加到当前命令行。

    这是我唯一知道的方法,但我仍然每天使用它。

        2
  •  4
  •   Justin M. Keyes    10 年前

    你的问题有几种解释方法。最简单的方法是,如果您想将所选文本作为一个范围参数提供给一个ex命令。我怀疑这是你的问题,因为如果你输入:用一个可视的选项,这会自动发生,但是这个的ex语法

    :'<,'>
    

    我认为你的问题的第二种解释方式是,你想把视觉选定的文本本身作为一个参数插入到一个ex命令中;我认为这是不可能的。如果您阅读VIM手册部分 40.2 ,在描述范围参数的地方,只允许命令从范围参数中获取第一行和最后一行的编号(使用标记 <line1> <line2> )

    最后,如果你想 运行 上的选定文本 命令行,您只需选择它并键入

    :!sh
    

    (The '<,'> 部分应插入到:和之间!。您可以用命令替换“sh”来启动您喜欢的shell)。

        3
  •  0
  •   odessos    10 年前

    是的,收银机 * 包含当前视觉选择…

    你可以打字 <C-R>* 要从插入或命令模式获取它…

    但是,在命令行中使用它并不是很方便,因为您无法避免 '<,'> 从视觉模式进入命令模式时