假设你在vim中选择了一个区域。如何将其复制到OS X剪贴板中?
(提示:OS X剪贴板可以通过管道写入/usr/bin/pbcopy
)
答案 0 :(得分:233)
对于MacVim和Windows Gvim,只需将以下内容添加到~/.vimrc
:
set clipboard=unnamed
现在,yy
,D
和P
等所有操作都可以使用剪贴板。无需使用"*
或"+
作为前缀。
答案 1 :(得分:133)
如果启用了剪贴板,您可以点击"*y
要查看它是否已启用,请参阅vim --version并查找+clipboard
或-clipboard
。例如,默认情况下我的10.5.6框没有启用它:
% which vim /usr/bin/vim % vim --version VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Nov 11 2008 17:20:43) Included patches: 1-22 Compiled by _www@b77.apple.com Normal version without GUI. Features included (+) or not (-): ... -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments ...
如果使用+clipboard
编译,我可以使用"*
寄存器访问系统剪贴板。
我下载了7.2 source并对其进行了编译(简称tar xjf vim-7.2.tar.bz && cd vim72 && ./configure && make && sudo make install
),并启用了剪贴板:
% which vim /usr/local/bin/vim % vim --version VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Mar 24 2009 17:31:52) Compiled by rampion@Myrrhy.local Normal version with GTK2 GUI. Features included (+) or not (-): ... +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments ...
然而,即使在编译之后,我也无法在Terminal.app中运行vim时复制到剪贴板,仅在X11.app中。
答案 2 :(得分:93)
您可以直观地选择文字并输入:w !pbcopy<CR>
或者您可以在~/.vimrc
文件中包含以下键映射。他们以可视模式将文本剪切/复制到操作系统的剪贴板。
vmap <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>
答案 3 :(得分:75)
根据我使用的vim版本,我可以使用+寄存器来访问剪贴板。
http://vim.wikia.com/wiki/Mac_OS_X_clipboard_sharing也可能有一些适合您的想法。
答案 4 :(得分:36)
双引号星号(“ * )。这也适用于Windows和Linux。
答案 5 :(得分:25)
在macos 10.8上,vim是使用-clipboard
编译的,所以要使用"*y
,你需要
重新编译。幸运的是,brew install vim
可以轻松地为您编译新版本
它将是+clipboard
。
答案 6 :(得分:17)
直观地选择文字并输入:
ggVG
!tee >(pbcopy)
我认为比...更好:
ggVG
:w !pbcopy
由于它没有闪烁提示:“按ENTER或键入命令继续”
答案 7 :(得分:11)
如果您使用的是MacPorts,可以通过以下方式升级您的VIM以包含剪贴板支持:
port install vim + x + x11
现在您使用“+ register将文本直接拖到Mac剪贴板上。就像魅力一样。
答案 8 :(得分:10)
答案 9 :(得分:8)
如果您使用的是MacOS X:
$ brew install vim
$ vim --version
VIM - Vi IMproved 7.4 [...]
然后,添加到.vimrc:
set clipboard=unnamed
现在您只需要进入 vim 并执行:%y
,即可将所有内容复制到剪贴板。
答案 10 :(得分:5)
使用Homebrew's vim:brew install vim
Mac(自10.10.3 Yosemite起)预装了系统vim,不启用clipboard
标志。
您可以自己编译vim并启用该标志,或者只使用正确设置的Homebrew的vim。
要亲自查看,请使用/usr/bin/vim --version
你会看到类似的东西:
$ /usr/bin/vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov 5 2014 21:00:28)
Compiled by root@apple.com
Normal version without GUI. Features included (+) or not (-):
... -clientserver -clipboard +cmdline_compl ...
请注意-clipboard
使用自制软件的vim,你可以获得
$ /usr/local/bin/vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled May 10 2015 14:04:42)
MacOS X (unix) version
Included patches: 1-712
Compiled by Homebrew
Huge version without GUI. Features included (+) or not (-):
... +clipboard ...
请注意+clipboard
答案 11 :(得分:4)
我刚试过
map <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>
效果很好。
答案 12 :(得分:4)
如果您的vim没有使用剪贴板编译,您希望复制所选文本而不是整行,您不想安装macvim或其他GUI,最简单的解决方案是将此行添加到.vimrc:
map <C-c> y:e ~/clipsongzboard<CR>P:w !pbcopy<CR><CR>:bdelete!<CR>
要使用它,只需直观地选择要复制的文本,然后选择Control-C。如果您想要对此行进行完整说明,请read here
答案 13 :(得分:2)
命令-C?这至少适用于从Terminal.app中为使用鼠标选择的文本启动的vim。
答案 14 :(得分:2)
如果您的VIM安装上有+剪贴板选项(您可以查看:版本)并且您处于可视模式,则可以执行&#34; + y 这会将选项拉到缓冲区 + ,即剪贴板。
我已将以下地图添加到我的vimrc中,并且工作正常。
vmap y&#34; + y 有了这个我可以领导者密钥跟随 y 以可视模式复制到剪贴板
nmap p&#34; + p 有了这个我可以领导者密钥跟随 p 在正常模式下从剪贴板粘贴。
PD:在Ubuntu上我必须安装vim-gtk才能获得+剪贴板选项。
答案 15 :(得分:2)
我的主要问题是VIM的默认osx版本。通过自制软件安装它将+clipboard
添加到构建中。
检查
vim --version
如果显示-clipboard
或+clipboard
答案 16 :(得分:2)
Fakeclip实现+和*缓冲区,如果它们不是本机支持的。
答案 17 :(得分:2)
当您在Mac上使用标准操作系统键轻松访问剪贴板时,可以使用MacVim。
它也完全向后兼容普通的Vim,所以我甚至不必单独.vimrc
。
答案 18 :(得分:0)
我目前使用的是OS X 10.9,而我用 + xterm_clipboard 编译vim的努力并没有带来什么。所以我目前的解决方案是在我的〜/ .vimrc文件中使用MacVim in terminal mode和set clipboard=unnamed
选项。适合我。
答案 19 :(得分:0)
- 用鼠标选择,右键单击选择复制。 UFF
答案 20 :(得分:0)
我的.vimrc
set clipboard=unnamed
if has("unnamedplus") " X11 support
set clipboard+=unnamedplus
endif
答案 21 :(得分:0)
对于Mac用户-在选择文本时按住option
键,然后按住ctrl V
键就可以了。
答案 22 :(得分:0)
Shift cmd c –设置复印模式 拖动鼠标,选择文本,使用cmd c复制所选文本 Cmd v粘贴
答案 23 :(得分:-1)
使用注册'+'或'*'复制到剪贴板不起作用?
原因:您的特定版本的vim是在没有剪贴板支持的情况下编译的。在控制台上键入vim --verion,您将看到 -xterm_clipboard 。使用gui包安装vim解决了这个问题。在ubuntu上,您可以通过在shell上输入来执行此操作:
sudo apt-get install vim-gui-common
现在再次在控制台上执行vim --version。最有可能的是,你现在会看到 + xterm_clipboard !!
所以,现在你可以使用寄存器+将任何东西复制到剪贴板(比如“+ yy将当前行复制到剪贴板”)
答案 24 :(得分:-1)
对于Ubuntu用户,要使用剪贴板检索的包是vim-full。其他软件包(vim-tiny,vim)不包括剪贴板功能。
答案 25 :(得分:-1)
我遇到同样的问题,安装后macvim
仍无法正常工作,最后我找到了解决问题的方法:
首先尝试卸载所有vim,
brew uninstall macvim
brew uninstall --force vim
并重新安装macvim
brew install macvim --with-override-system-vim
然后您可以使用"*y
或"+y
,不必set clipboard=unnamed
答案 26 :(得分:-2)
在MacVim和终端中,Command-c适用于我。