我在Vim中选择了一个区域。如何将其复制到OS X剪贴板中?
(通过管道写入/usr/bin/pbcopy
可以将内容写入OS X剪贴板)
使用Homebrew的vim:brew install vim
Mac(截至10.10.3 Yosemite)预装有系统vim,但没有启用clipboard
标志。
您可以自己编译vim并启用该标志,或者直接使用正确设置的Homebrew的vim。
要查看此内容,请使用/usr/bin/vim --version
命令查看原始系统vim。
您将看到类似以下内容:
$ /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
使用homebrew安装的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
。V
高亮显示行,然后输入:w !pbcopy
,它就起作用了。 - davidpm4如果你的Vim没有编译剪贴板,想要复制选定的文本而不是整行,又不想安装MacVim或其他GUI,那么最简单的解决方案是在你的 .vimrc 文件中添加以下内容:
set clipboard=unnamedplus
map <C-c> y:e ~/clipsongzboard<CR>P:w !pbcopy<CR><CR>:bdelete!<CR>
要使用它,只需直观地选择要复制的文本,然后按下Control-C。如果您想了解此行的完整说明,请阅读“如何在vim上复制到剪贴板”。
我使用了:
map <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>
它运行得非常好。
当您使用Mac电脑时,可以使用MacVim轻松访问剪贴板,使用标准的操作系统键即可。
它也完全向后兼容普通的Vim,因此我甚至不需要单独的.vimrc
文件。
~/bin
目录中,以覆盖默认设置。 - the Tin Man我的主要问题是默认的OSX版本Vim。通过Homebrew安装后,会添加+clipboard
构建选项。
你可以用以下命令检查:
vim --version
查看是否存在 -clipboard
或 +clipboard
。
+clipboard
选项(您可以使用:version
命令进行检查),并且您处于可视模式,则可以执行"+y
命令来将所选内容复制到+
缓冲区,也就是剪贴板。vmap <leader>y "+y
:使用这个映射,在可视模式下我可以通过先按leader键
然后按y
来将内容复制到剪贴板。
nmap <leader>p "+p
:使用这个映射,在正常模式下我可以通过先按leader键
然后按p
来从剪贴板粘贴内容。+clipboard
选项。command-C?对于从Terminal.app启动的vim和使用鼠标选择的文本,至少这种方法是有效的。
.vimrc
文件中使用了以下设置:set clipboard=unnamed
if has("unnamedplus") " X11 support
set clipboard+=unnamedplus
endif
option
键,然后在选择文本时再按下 ctrl V
就可以完成操作。
"+y
命令。 - zx1986+clipboard
或者+xterm-clipboard
。你可以通过运行vim --version | grep clipboard
来验证这一点。你可以通过brew install vim --with-client-server
来解决这个问题。 - LondonRob~/bin
下,然后将~/bin
插入到你的路径中,优先于系统安装的vim和其同义词。 - the Tin Man/.bashrc中,以便将vi/vim别名为MacVim的终端模式:/.vimrc中,映射Ctrl+c(而不是Cmd+c):alias vi='mvim -v'
2)将以下内容添加到vnoremap <C-c> "+y
3)配置Keyboard Maestro在终端中运行时键入键序列^c
(Ctrl+C)(在我的情况下是iTerm2)这使得可以使用Cmd+c将文本复制到OSX剪贴板中,以便在其他OSX应用程序中粘贴。 - Neil Griffin