将一行/多行从 vi 编辑器复制到命令行

Posted

技术标签:

【中文标题】将一行/多行从 vi 编辑器复制到命令行【英文标题】:copy a line/multiple-lines from vi editor to cmd line 【发布时间】:2013-05-03 10:58:31 【问题描述】:

是否有快捷键可以从 vi 编辑器中复制一行,然后将其粘贴到终端中。 目前我用鼠标选择文本,然后按 crtl+shift+c(我使用 KDE 的默认设置),然后在 konsole 上执行 ctrl+shift+v。此选项的问题是当行长到可以换行时。在这种情况下,复制粘贴会插入额外的空格,我必须在粘贴到终端后修复这些空格。

这很烦人,特别是当复制的行很长并且包含文件名(通常是用于调用编译器的命令)时。

【问题讨论】:

也许这就是你要找的东西:how to copy codes in vi to clipboard 【参考方案1】:

您可以通过将内容放入 * 寄存器中来拉到 X 剪贴板。

要执行此操作,请在要拉出的行上使用 "*yy。然后在 vim 之外你应该可以粘贴它。

【讨论】:

所以我必须按“,然后按 *,然后按 yy?我试过但不适合我。 当您执行vim --version | grep clipboard 时,您会看到+clipboard-clipboard 您可能还需要+X11 和/或+xterm_clipboard。见:***.com/a/10104125/955926 是的,我认为; 6:-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +cmets 19:-X11 -xfontset -xim -xsmp -xterm_clipboard -xterm_save 您可能需要编译不同版本的 vim。你需要有+clipboard 才能工作。可能还有 Gary Fixler 提到的另一位。【参考方案2】:

如果您无法通过 X 或 screen 或 tmux 访问剪贴板,您可以将缓冲区的内容写入临时文件,然后转到终端并调用 $(cat temp-file) 或打开命令的编辑器行并读入文件。无论您使用什么 shell,都可能提供一种在命令行上打开编辑器的机制。在带有 vi 样式的 readline 键绑定的 bash 中,您可以键入 v 来获取 vi 会话。如果您的 shell 不提供该功能,请尝试使用其他 shell。

【讨论】:

以上是关于将一行/多行从 vi 编辑器复制到命令行的主要内容,如果未能解决你的问题,请参考以下文章

Linux vi删除移动复制命令

linux中vi 编辑器中的复制与粘贴

使用vi编辑器修改配置文件时,如何快速复制,粘贴多行文字内容

linux之vim/vi快速复制多行内容的快捷键

Linux下采用VI编辑器删除复制或移动多行文本内容

linux Vi 编辑器 如何复制整行n内容,这样才能粘贴到文本中