使用寄存器复制文本到系统剪贴板的Vim命令无法正常工作(Mac电脑)

3

我花了一些时间寻找解决方案。我已经使用MacPorts多次重新安装了Vim。vim --version命令显示+clipboard和+xterm_clipboard,所以我应该可以开始使用了。然而,当我在vim中键入"+yy或"*yy时,:reg命令显示寄存器已更改为当前行,但是当我在vim外粘贴时,内容仍未更改。我可以容忍vim中的所有东西来换取它的超级灵活性,但是这种常用但在vim中极其困难的复制/粘贴真的让我抓狂...


你是使用GUI还是TUI?如果你使用TUI,你是否在tmux中使用它? - romainl
我直接从终端窗口运行vim。抱歉造成混淆,我已经修改了我的问题。所以应该是终端vim而不是MacVim。我也不使用tmux。 - tengi
我测试了MacVim GUI。注册似乎可以工作。但是我更喜欢终端vim,它更加灵活。 - tengi
3个回答

4

我发现如果将set clipboard=unnamed添加到我的 .vimrc 文件中,那么在 vim 中复制的内容可以直接粘贴到外部。对于 + ,您可以尝试使用set clipboard=unnamedplus


2
我尝试了两种方法,但它们都不能与我一起工作。即使是直接的寄存器命令也没有帮助。 - tengi
顺便说一下,我是直接从命令行运行vim的。MacVim GUI可以正常工作。 - tengi

1
问题已解决。我一直在使用系统vim,即/opt/local/bin/vim。我认为那里发生了一些小故障。所以我安装了MacVim,并通过将以下代码添加到我的bash profile(~/.bash_profile)中将vim链接到MacVim。 alias vim='/Applications/MacVim.app/Contents/MacOS/Vim' 在MacVim中,寄存器完美工作。即使vim --version显示它是+clipboard但-xterm_clipboard。

很高兴你解决了问题。我正在使用通过Homebrew安装的vim,并且使用set clipboard=unnamed对我有效,尽管不确定Homebrew版本是否与此有关。它也是+clipboard但-xterm_clipboard。 - svoisen
是的,我之前尝试过HomeBrew和MacPort。感觉情况有点混乱。不过设置别名只是一个绕过的技巧,无论如何,我很高兴它能够完成工作。另外,set clipboard=unamed也很有帮助。 - tengi

0
对我来说,这只是一个通过Homebrew将OS X自带的vim(7.3)更新到7.4的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接