【问题标题】:Copy and paste in vim via keyboard between different mac terminals?在不同的mac终端之间通过键盘复制和粘贴vim?
【发布时间】:2011-11-15 10:12:56
【问题描述】:

谁能帮我解决这个问题: 我试图弄清楚如何在不同终端上的 2 个不同的 vim 实例之间复制和粘贴文本(使用 iterm2 或 mac 终端)。如果我执行“:set mouse=a”,我可以使用鼠标执行此操作,但我希望能够使用键盘执行此操作。

我搜索了一下,它说您可以使用“* 或”+ 寄存器来复制/粘贴到/从系统剪贴板,但是当我在 vim 中输入 * 或 + 时,mac 会发出其中一种声音当你不能做某事时。我也做过 ":set clipboard=unnamed" 但也没有用。

我正在使用 Mac OSX 10.7 (Lion) 和 iTerm2 或 Mac 终端。

感谢您的帮助

【问题讨论】:

  • 作为旁注;当我想做这样的事情时,我最终意识到实现它的简单方法根本不是在单独的终端中运行两个不同的 vim 实例,而是在一个 vim 实例中具有多个拆分或缓冲区,所以我可以在一个 vim 中一次查看多个文件。然后它甚至根本不是问题,您可以在这些文件之间拉出文本并将其放入您心中的内容,而无需任何特别的努力,或者学习新的命令或任何东西。
  • 要使用系统剪贴板,我使用序列"*y 拉到它并使用"*p"*P 从它粘贴。是的,我喜欢拥有多个窗口,并使用ALT-TAB 在它们之间切换。这比为 VIM 使用一个窗口和有 2 个不同的目录以及其中的一些文件要容易得多。
  • 我只使用一个 Vim 并通过 LustyExplorer 在 Vim 中完成所有文件导航/打开。我在会话中打开的所有缓冲区都是隐藏的,并且可以通过同一个插件快速访问。仅使用一个 Vim 允许我在所有打开的缓冲区之间共享寄存器(以及宏)和历史记录。

标签: macos vim terminal copy-paste iterm


【解决方案1】:

你能添加:version的输出吗?

我可以在 Terminal.app 窗口 A 中运行的一个 Vim 实例中使用 yyy 拉动,并在 Terminal.app 窗口 B 中运行的另一个 Vim 实例中放入 pP我的~/.vimrc

set clipboard+=unnamed

不使用特定的剪贴板寄存器(*+)。

为什么你有两个 Vim 实例在不同的终端上运行? SSH/本地?如果其中一台处于 SSH 会话中,则 yanking/putting 将不起作用,因为两台机器(本地/远程)不共享相同的剪贴板。

编辑

我怀疑 Vim 编译时没有使用正确的标志。显然是这样的。

由于您使用的是 Mac OS X 的默认 Vim,我的意见是您不需要重新编译它甚至编译任何东西,因为它通常会导致更多的问题而不是它的价值。

相反,下载最新的 MacVim 构建并使用 MacVim 捆绑包中的 (CLI) Vim 可执行文件:它具有与 MacVim 相同的所有功能(当然,在 CLI 的限制范围内)。

将此行添加到您的 ~/.bashrc~/.profile 或用于放置别名和自定义 bash 函数的任何位置:

alias vim='/path/to/MacVim.app/Contents/MacOS/Vim'

【讨论】:

  • 这是我的版本输出:VIM - Vi IMproved 7.3(2010 年 8 月 15 日,2011 年 6 月 24 日 20:00:09 编译)由 root@apple.com 编译没有 GUI 的普通版本。
  • 我已经尝试过你所说的,打开了 2 个终端窗口,每个窗口都有一个 vim 实例。但我仍然无法在它们之间复制和粘贴(即使在我的 ~/.vimrc 中使用 :set clipboard+=unnamed)
  • 啊,我刚刚在版本输出中注意到了这一点:-xterm_clipboard。所以我想我需要重新编译 vim 并启用 xterm_clipboard 什么的?我该怎么做?
  • 是和不是。是的,问题是缺少标志。不,你不需要编译一个新的 Vim。而是按照answer of mine 下载并安装 MacVim 并使用隐藏在包中的 CLI 可执行文件。
【解决方案2】:

如果您想将整个文件复制到目标文件中。

在 vim 中打开你的目标文件。

将光标放在您想要的位置并输入以下内容:

:r /p​​ath_to_file/file.ext

这会将整个文件复制到光标所在的位置...

【讨论】:

  • 您可以通过添加带有原始答案链接的评论来链接不同堆栈交换站点中的答案。无需通过复制粘贴来复制内容。
猜你喜欢
  • 1970-01-01
  • 2021-05-16
  • 1970-01-01
  • 1970-01-01
  • 2018-12-09
  • 2012-06-18
  • 2012-11-22
  • 1970-01-01
  • 2015-07-27
相关资源
最近更新 更多