是否可以直接从Vim复制到剪贴板?yy只把东西复制到Vim的内部缓冲区。我想复制到操作系统的剪贴板。在Vim中有这样的命令吗?或者你只能在Vim中提取东西?
当前回答
在vimrc文件中,可以指定自动使用系统剪贴板进行复制和粘贴。
macOS和Windows设置:
set clipboard=unnamed
Linux set (vim 7.3.74+):
set clipboard=unnamedplus
注意:您可能需要使用最新版本的Vim才能工作。
http://vim.wikia.com/wiki/Accessing_the_system_clipboard
其他回答
使用寄存器“+”复制到系统剪贴板(即。+y而不是y)。
同样,您可以从“+”粘贴从系统剪贴板(即。"+p而不是p)。
如果您通过putty连接到Unix系统,那么按照以下步骤复制文件的内容
突出显示要复制的文本(您将能够逐页复制) 按ctrl+c(它将复制文本到剪贴板 粘贴任何外部编辑器 完成
此答案包含特定于macOS用户的详细信息。
将以下行追加到~/.vimrc:
set clipboard=unnamed
如果这不起作用,检查您安装的版本是否可能没有启用剪贴板功能。在编写这个答案时(2019年),macOS附带的默认vim没有启用剪贴板选项。您需要该选项来访问系统剪贴板。
要检查您的vim是否启用了该选项,请使用以下命令
vim --version | grep clipboard
结果,你应该有+剪贴板。如果是-clipboard,那么你的VIM没有访问系统剪贴板的选项。
您需要使用所需的选项制作并安装VIM。下面是命令。
# Create the directories you need
$ sudo mkdir -p /opt/local/bin
# Download, compile, and install the latest Vim
$ cd ~
$ git clone https://github.com/vim/vim.git
$ cd vim
$ ./configure --prefix=/opt/local
$ make
$ sudo make install
# Add the binary to your path, ahead of /usr/bin
$ echo 'PATH=/opt/local/bin:$PATH' >> ~/.bash_profile
# Reload bash_profile so the changes take effect in this window
$ source ~/.bash_profile"
上面的操作将安装启用选项+剪贴板的最新VIM。
现在您可以将文本拉到系统剪贴板。下面的步骤解释如何拉。
在vim命令模式下按v,这将切换到VISUAL模式。 移动光标以选择需要复制的文本或行。 按y,这将复制选定的文本到剪贴板。 转到任何外部应用程序,CMD + v进行粘贴。
我使用macOS Mojave的MACBook Pro,上面的工作都在里面。
如果您在旧版本的macOS中使用vim,不幸的是,附带版本的vim可能会使用剪贴板选项进行编译。幸运的是,自制程序可以很容易地解决这个问题。
安装vim: 安装vim 安装vim的gui版本: 酿造安装macvim 重启终端生效。 将下面的行追加到~/.vimrc 设置剪贴板=不知名的 现在,您可以用yy在vim中复制该行,并在系统范围内粘贴它。
更新方法:
多年来,我一直不满意固定剪贴板的方法。最大的缺点是它会搞乱你的剪贴板历史,即使当你使用x删除。这里有一个更好、更优雅的解决方案。
将vim的文本[range]复制到系统剪贴板中。(提示:先用v或v选择范围,然后输入冒号:激活Ex命令): (行范围):猛拉+ 例如,复制/删除第5-10行到系统剪贴板*寄存器使用: y: 5、10 * 将系统剪贴板中的内容新一行粘贴到vim中: :把+
注意:
如果您选择了一个单词范围,上述操作将不起作用。使用“*y”或“+y”将该可视化块保存到剪贴板。然而,这很难打字,我仍在考虑替代方案。 :help "*或:help *+获取更多信息 酿造信息vim将能够看到其他选项安装vim。目前它没有任何其他选择。
@Jacob Dalton has mentioned this in a comment, but nobody seems to have mentioned in an answer that vim has to be compiled with clipboard support for any of the suggestions mentioned here to work. Mine wasn't configured that way on Mac OS X by default and I had to rebuild vim. Use this the command to find out whether you have it or not vim --version | grep 'clipboard'. +clipboard means you're good and the suggestions here will work for you, while -clipboard means you have to recompile and rebuild vim.