Mobaxterm 与 vim 文本复制

Mobaxterm 与 vim 文本复制

我可以在两个不同的终端中的两个 vim 会话之间复制文本吗?我使用 mobaxterm,在标记要复制的文本时无法滚动。

我该怎么做?使用多执行选项在 2 个不同的终端(SSH 会话)上编辑 2 个文件,并复制比我在终端上看到的更多的文本。我无法在任何 vim 模式下突出显示它以将其复制到我的笔记本电脑记事本或其他终端 SSH 会话窗口。

答案1

在 vim 中,你可以使用r命令从其他地方读取文件或命令。因此,在这种情况下我会这样做:

  1. 将您想要复制的内容转储到文件中,可以通过重定向命令的输出来实现,或者它已经是一个文件,因此只需保存它即可。
  2. 在另一个终端中打开 vim,然后转到要粘贴的文件
  3. 使用:tabe命令模式打开新选项卡
  4. 用于:r /path/to/file将你在 (1) 中创建的文件的内容读入缓冲区
  5. 然后像平常一样使用 yank/paste,或者在命令模式下使用 ctrl-V 来执行可视选择块并将其yank。

请注意,您也可以传递命令:r,但您必须转义一些字符,因此:r! date +\%s将获取当前的 unix 时间并将其插入到文件中。

更多关于众所周知的Grok Vim邮政。

您还可以使用 打开行号等操作:set number,然后从文件中读取特定行::r! sed -n 147,227p /path/to/foo/foo.c

或者,使用相对编号 ( ) 的行号:set relativenumber来轻松显示要提取多少行y。这样,您只需执行操作37y,然后将p其提取到您想要的位置即可。

相关内容