任何人都可以帮我这个: 我试图弄清楚如何在不同终端上的两个不同的vim实例之间复制和粘贴文本(使用iterm2或mac终端)。如果我执行“:set mouse = a”,我可以使用鼠标来完成它,但我希望能够使用键盘来完成它。
我已经用Google搜索了,它说您可以使用“*或”+寄存器复制/粘贴到系统剪贴板中,但是当我在vim中键入*或+时,mac会发出其中一个声音当你无法做某事时。我也完成了“:set clipboard = unnamed”,但这也没有用。
我正在使用Mac OSX 10.7(Lion)和iTerm2或Mac终端。
感谢您的帮助
答案 0 :(得分:17)
您可以添加:version
的输出吗?
我可以在Terminal.app窗口A中运行的一个Vim实例中使用yy
或y
,并将p
或P
放入终端中运行的另一个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
这会将整个文件复制到光标所在的位置......