通过键盘在不同的mac终端之间复制并粘贴到vim中?

时间:2011-11-15 10:12:57

标签: macos vim terminal copy-paste iterm

任何人都可以帮我这个: 我试图弄清楚如何在不同终端上的两个不同的vim实例之间复制和粘贴文本(使用iterm2或mac终端)。如果我执行“:set mouse = a”,我可以使用鼠标来完成它,但我希望能够使用键盘来完成它。

我已经用Google搜索了,它说您可以使用“*或”+寄存器复制/粘贴到系统剪贴板中,但是当我在vim中键入*或+时,mac会发出其中一个声音当你无法做某事时。我也完成了“:set clipboard = unnamed”,但这也没有用。

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

感谢您的帮助

2 个答案:

答案 0 :(得分:17)

您可以添加:version的输出吗?

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

中包含此行
set clipboard+=unnamed

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

为什么有两个Vim实例在不同的终端上运行? SSH /地方?如果一个人在SSH会话中,yanking / puts将无法工作,因为两台计算机(本地/远程)不共享相同的剪贴板。

修改

我怀疑Vim没有使用正确的标志进行编译。显然就是这种情况。

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

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

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

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

答案 1 :(得分:0)

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

在vim中打开目标文件。

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

:r /path_to_file/file.ext

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