如何将拉出的文本粘贴到Vim命令行?

时间:2010-10-22 13:08:23

标签: vim copy-paste

我想将抽取的文本粘贴到Vim命令行中。有可能吗?

10 个答案:

答案 0 :(得分:1084)

答案 1 :(得分:45)

对于粘贴系统剪贴板的内容,您只需使用 SHIFT - INS

它适用于Windows,但我猜它在Linux中运行良好。

答案 2 :(得分:35)

“我想将抽取的文本粘贴到Vim命令行。”

虽然最高投票答案非常完整,但我更喜欢编辑命令历史记录。

在正常模式下,键入:q:。这将为您提供最近的命令列表,可以使用普通的vim命令进行编辑和搜索。你将从底部的空白命令行开始。

对于文章要求的确切事项,将一条猛拉的线(或任何东西)拉到一个命令行中,拉动你的文本,然后:q:p(进入命令历史编辑模式,然后(p)将您的被拉动的文本输入新的命令行。随意编辑,输入执行。

要退出命令历史记录模式,情况正好相反。在命令历史记录的正常模式下,键入::q + 输入

答案 3 :(得分:14)

要将系统剪贴板中的内容粘贴到vim命令行(“命令模式”),请使用 Ctrl + R ,然后按 + 。对我来说,至少在Ubuntu上, Shift + Ins 无效。

PS:不知道为什么 Ctrl + R 后跟 * ,理论上与 Ctrl 相同+ R 后跟 + 似乎总是不起作用。我搜索并发现了 + 版本,它似乎总是起作用,至少在我的盒子上。

答案 4 :(得分:13)

值得注意的是,yank寄存器与宏缓冲区相同。换句话说,您只需在文档中写出整个命令(包括粘贴的代码段),然后"by将其拖到b注册表中,然后使用@b运行它

答案 5 :(得分:1)

我遇到了类似的问题。我希望所选文本最终出现在命令中,但不要依赖于粘贴它。这是我试图为其编写映射的命令:

:call VimuxRunCommand("python")

此插件的文档仅显示使用字符串文字。如果您尝试选择包含双引号的文本,以下内容将会中断:

vnoremap y:call VimuxRunCommand("<c-r>"")<cr>

要解决此问题,您只需使用@

引用宏的内容
vnoremap y:call VimuxRunCommand(@")<cr>

传递未命名寄存器的内容,并使用我的双引号和多行边框。

答案 6 :(得分:1)

这个问题已经很老了,但是因为它被观看了很多次,所以它似乎很受欢迎 - 我会把它放在这里供后人使用。对于上下文,这个信息来自开箱即用,没有插件,没有.vimrc vim 7.4在linux mint中的行为与默认选项。

您始终可以使用鼠标选择文本(或使用V或v并将选择放在“*寄存器”中),然后使用SHIFT-CTL-v将其粘贴到命令行中。

在命令行中键入CTL-r将导致提示注册名称。所以输入:CTL-r *会将内容寄存器*放入命令行。它将粘贴任何寄存器,而不仅仅是“*。请参阅:help c_CTRL-R。

此外,鼠标中键将粘贴到命令行中。 请参阅:help-&gt; quote-plus,了解x11如何处理选择。即使在普通的,开箱即用的vim中(再次,在linux mint中的vim 7.4中),使用鼠标左键进行的任何选择都可以使用鼠标中键粘贴在命令行中。

此外,鼠标中键还会将在vim中选中的文本粘贴到许多其他x11应用程序中,即使是gui文件(例如,firefox,thunderbird),也可以将文本粘贴到命令行中,其中文本是从其他应用。

请参阅:help-&gt; x11-add for addl info。

<强> TL;博士

首先尝试:CTL-r方法,然后使用SHIFT-CTL-v或鼠标中键,如果你需要别的东西。

承认它可能令人困惑。

答案 7 :(得分:1)

如果将两个值放入两个不同的寄存器(例如寄存器a和寄存器b)中,则只需设置变量c并对其进行操作。 / p>

例如,:set c = str2float(@a) + str2float(@b),然后您可以将c的内容粘贴到任何地方。

例如,在插入模式下,CTRL + R然后键入=进入表达式寄存器,然后在等号后键入c,然后按Enter。现在,您应该已经拥有ab寄存器的总数。

所有这些都可以记录在宏中并重复!!

如果您使用浮点数,则使用str2float函数,如果不使用浮点数,则会得到整数。

我不确定这是否是惯用的,但是它适用于我需要连续添加2个数字并重复500行以上的情况。

答案 8 :(得分:0)

  1. "[a-z]y将文本复制到[a-z]寄存器;

  2. 使用:!来编辑命令;

  3. CTRL+R按照寄存器标识粘贴您要复制的内容。

它曾经用于CentOS7。

答案 9 :(得分:0)

我只是<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="content-page"> <div class="content"> <div class="container-fluid"> <div class="row"> <div class="col-12"> <div class="page-title-box"> <h4 class="page-title"> WebForms &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; Total Percent Complete = <span id="element"></span></h4> </div> </div> </div> <div class="row"> <div class="col-12"> <div class="card"> <div class="card-body"> <div class="table-responsive"> <h5 class="mt-0"> WebForm Tasks <br></h5> <table id="datatable-buttons" class="table table-striped dt-responsive nowrap w-100" name="table"> <thead> <tr> <th class="th-sm">Tasks</th> <th class="th-sm">Avi - Lead</th> <th class="th-sm">Benito</th> <th class="th-sm">Carlos</th> <th class="th-sm">Greg</th> <th class="th-sm">Krish</th> <th class="th-sm">Roy</th> <th class="th-sm">Dee</th> <th class="th-sm">Notes</th> </tr> </thead> <tbody> <tr class="select_row"> <td>CR Service Request Form</td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> </td> </tr> <tr class="select_row"> <td>CR Pallet Reuqest Form</td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> <select> <option value="Yes">Yes</option> <option value="No">No</option> </select> </td> <td> </td> </tr> </tbody> <tfoot> <tr class="percent_row"> <td>Percent Complete </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </tfoot> </table> </div> <!-- end .table-responsive--> </div> <!-- end card-body --> </div> <!-- end card --> </div> <!-- end col --> </div> <!-- end row --> </div> <!-- container --> </div> </div>我的鼠标。

right-click 打开一个 vim 文件 按 vim fileName 进入 i。 然后insert mode鼠标粘贴。 我在 VS Code 中编辑并从那里复制。