是否可以直接从Vim复制到剪贴板?yy只把东西复制到Vim的内部缓冲区。我想复制到操作系统的剪贴板。在Vim中有这样的命令吗?或者你只能在Vim中提取东西?
当前回答
此答案包含特定于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,上面的工作都在里面。
其他回答
如果您通过putty连接到Unix系统,那么按照以下步骤复制文件的内容
突出显示要复制的文本(您将能够逐页复制) 按ctrl+c(它将复制文本到剪贴板 粘贴任何外部编辑器 完成
我不能复制到剪贴板的系统中,因为我的~/中有这个。vimrc文件:
if has('mouse')
set mouse=a
endif
但如果你接下来添加这一行,它将允许你简单地按Ctrl+c将你所选择的任何东西放入剪贴板。
vmap <C-c> "+y
原始讨论和更多详细信息:启用set mouse=a从vim中复制文本
仅在ubuntu终端下的vim中,
在vim中按shift +鼠标拖动选择文本,然后在终端上按CTRL + shift + c
然后在其他编辑器上按CTRL + v
关于这个问题,我看到了很多答案,而解决这个问题的方法是多种答案的结合。
我遵循的步骤,使vim复制到系统剪贴板
使用sudo apt卸载vim。(我太懒了,不知道如何用+剪贴板支持重新编译它。 使用sudo apt Install带有+clipboard的vim-athena安装另一个名为vim-athena的vim包。 添加到~/。Vimrc下面的行:set clipboard=unnamedplus。 通过进入命令模式并输入Source %来查找文件。 保存并退出。
注意: 我使用的是Ubuntu 20.04。
如果你正在使用GVim,你也可以设置guioptions+=a。这将触发自动复制到剪贴板的文本,您在视觉模式突出显示。 缺点:注意,高级剪贴板管理器(历史)将在这种情况下得到你所有的选择历史…