如何在vi编辑器中复制粘贴内容

我尝试使用Ctrl + V粘贴vi编辑器文档中的内容,但Ctrl + V不会被解释为粘贴。

首先,确保您处于编辑模式(按i )。 然后你可以用Ctrl + Shift + V粘贴,如果你在像gnome-terminal这样的终端模拟器中(或者从右键菜单中选择“粘贴”)。

您还可以键入:set paste之前在vim中:set paste以禁用自动缩进等。然后:set nopaste在粘贴内容后:set nopaste

有关更多信息,请在stackoverflow.com上查看此问题 。

如果要在vim复制/粘贴行(而不是粘贴剪贴板内容),则需要查看yank命令。 这是一个可能有用的备忘单 。

与普通文本编辑器(如Gedit)相比,Vi(和Vim)的工作方式非常不同。 它还有一个非常陡峭的学习曲线。 如果您想学习一些基本命令,请从这个交互式教程开始。

但是,回答你的问题。 系统剪贴板的内容可以通过加号寄存器访问。 因此,要从系统剪贴板中粘贴一些内容,您可以在“正常”模式下按: “+ p (不是同时,而是一个接一个)。

  1. 如果要在同一文件中复制粘贴内容,请使用“ yank和“ paste

  2. 如果要在终端上复制粘贴内容,请打开第一个文件,取消所需的文本,然后在vim中打开第二个文件(例如:tabnew /path/to/second/file ),然后按p粘贴它。

  3. 如果要将粘贴内容从vim复制到外部程序 ,则需要访问系统剪贴板。 我假设你使用Ubuntu。 vim的GUI版本始终具有剪贴板支持,但是,如果您想从终端使用Vim,则必须检查X11剪贴板支持。

    在控制台中,键入:

     $ vim --version | grep xterm 

    如果找到-xterm_clipboard ,则有两个选项:

    1)自己编译vim,并打开xterm_clipboard标志

    2)卸载vim,安装gvim (vim-gtk或vim-gnome)代替。 您可以通过从终端呼叫vim来坚持使用非gui vim,就像之前一样。 这次当你检查时应该找到+ xterm_clipborad

    现在,当您在vim编辑器中的+寄存器中抽取一些文本时(例如“+ yy”),它也会被复制到系统剪贴板,您可以使用Ctrl + V从外部程序(如gedit编辑器)中检索该剪贴板。

  4. 如果要将外部程序中的粘贴内容复制到vim中 ,首先通过Ctrl + C将文本复制到系统剪贴板,然后在vim编辑器插入模式下 ,单击鼠标中键 (通常是滚轮)或按Ctrl + Shift + V粘贴。

    这些是与vim相关的4个基本复制和粘贴条件。 我希望这有帮助。

当我想将文本粘贴到终端时,我总是使用Shift + Insert ,适用于所有终端程序。

(这也是为什么我从来没有得到笔记本电脑而你不能按下二键而不能按Insert的原因)

使用鼠标中心按钮插入您在别处突出显示的文本。

当您无权访问系统剪贴板时(例如,在远程SSH会话中),它非常有用。

必须处于Vim的编辑/插入模式。

输入vi后,按i进入插入模式,右键单击终端,单击粘贴。

使用yankput在vi中复制/粘贴文本行的详细说明

(在vi的命令模式下使用以下命令

复制(YANK)

要在vi中复制一行:

  • 在命令模式下,将光标移动到需要复制的行并键入yy或键入Y

要在vi中复制2行:

  • 在命令模式下,将光标移动到需要复制的第一行并键入2yy或键入2Y

(同样,可以复制任意数量的行)

要将所有行从当前位置复制到文件末尾:

  • 在命令模式下,将光标移动到需要复制的第一行并键入yG

要将当前位置的所有文本复制到当前单词的末尾:

  • 在命令模式下,将光标移动到需要复制文本的位置并键入yw

要将所有文本从当前位置复制到行尾:

  • 在命令模式下,将光标移动到需要复制文本的位置并键入y$

粘贴(PUT)

要在剪贴板中粘贴文本 – 光标位置之后

  • 在命令模式下,键入p

要在剪贴板中粘贴文本 – 光标位置之前

  • 在命令模式下,键入P

如果你是rootCtrl + Shift + V.

如果你不是root :中心点击鼠标。

我只想注意在Windows上使用Vim通过Git Bash,你可以使用p或鼠标单击鼠标而不是插入模式。 通过PuTTY使用Vim,您可以右键单击。 并突出显示复制。

我已经注意到了这一点,因为我在这里没有看到这是Ubuntu的SE。

其他有用的命令:

  • yy (行数) – 猛拉(复制)
  • dd (行数) – 删除
  • p – 粘贴当前行下方的行
  • Shift + p – 粘贴当前行上方的行
  • – 撤消
  • r – 重做
  • – 插入模式
  • v – 视觉模式

我有一个问题,因为我的Vim安装不支持剪贴板

 vim --version | grep clip -clipboard +insert_expand +path_extra +user_commands +emacs_tags -mouseshape +startuptime -xterm_clipboard 

我安装了vim-gnome(支持剪贴板),然后再次检查:

 vim --version | grep clipboard +clipboard +insert_expand +path_extra +user_commands +emacs_tags +mouseshape +startuptime +xterm_clipboard 

现在我可以分别使用“+ y和”+ p进行复制和粘贴。