如何将选择内容复制到OS X剪贴板中
问题的出现原因是在OS X系统中,无法直接使用Vim的复制功能将选中的文本复制到系统的剪贴板中。
解决方法是使用命令行工具pbcopy,并将其与Vim结合使用。可以通过在Vim中执行命令:w !pbcopy<CR>
来将选中的文本复制到剪贴板中。同时,也可以将以下按键映射添加到~/.vimrc
文件中,以便在可视模式下将文本剪切/复制到操作系统的剪贴板中:
vmap <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>
除此之外,还可以在命令行中使用命令:1,10w !pbcopy
来将1-10行的文本复制到剪贴板中。需要注意的是,在w
后面加上一个空格是为了保留原始文本的格式。在上述提供的链接中,也可以找到关于在tmux中使用pbcopy的解决方法。
需要注意的是,这种方法似乎只适用于复制整行。如果只想复制行的一部分内容,则无法实现。可以参考上述提供的链接中的讨论,了解如何实现对选中文本的过滤。
此外,还有一种解决方法是使用以下命令进行非行式复制:
noremap <silent> <leader>y :<CR>:let =@" \| execute "normal! vgvy" \| let res=system("pbcopy", @") \| let @"=<CR>
如何将选择的区域复制到OS X剪贴板?
当我们在使用vim编辑器的过程中,可能会遇到无法将选定区域复制到剪贴板的问题。要解决这个问题,我们需要确认剪贴板是否已启用。
我们可以通过按下"*y"来将选定区域复制到剪贴板。但首先,我们需要运行"vim --version"命令来查看剪贴板是否已启用。在输出结果中,我们需要寻找"+clipboard"或者"-clipboard"。如果结果中显示的是"-clipboard",则表示剪贴板未启用。
为了启用剪贴板,我们需要下载vim的源代码,并进行编译。我们可以从这个链接下载vim 7.2的源代码。下载完成后,我们需要执行以下命令进行编译和安装:
tar xjf vim-7.2.tar.bz && cd vim72 && ./configure && make && sudo make install
编译完成后,我们再次运行"vim --version"命令,如果结果中显示的是"+clipboard",则表示剪贴板已启用。
但是,即使启用了剪贴板,我们可能仍然无法在Terminal.app中将内容复制到剪贴板,只能在X11.app中使用。为了解决这个问题,我们需要使用最新的版本,并且设置"set clipboard=unnamed",将系统剪贴板设置为默认剪贴板。
另外,我们可以使用Homebrew来编译安装vim,并启用剪贴板。我们可以执行以下命令来安装:
brew install vim
需要注意的是,如果通过Homebrew安装vim,它只会创建vim的符号链接,而不会创建vi的符号链接。所以,当我们使用vi命令时,实际上还是启动了OS X自带的vim。为了解决这个问题,我们需要手动创建vi的符号链接。
需要注意的是,如果我们在编译安装vim时启用了"+clientserver"选项,可能会导致在macOS上的终端vim中无法复制/粘贴到x11。如果遇到这个问题,我们需要重新安装vim,并在编译时禁用"+clientserver"选项。
总结起来,要解决将选择的区域复制到OS X剪贴板的问题,我们需要确认剪贴板是否已启用,如果未启用则需要编译安装vim并启用剪贴板。另外,我们还可以使用Homebrew来安装vim并启用剪贴板。如果在使用过程中仍然无法复制到剪贴板,可能是因为启用了"+clientserver"选项导致的,我们需要重新安装vim并禁用该选项。
如何将选择内容复制到OS X剪贴板?
问题的出现原因:
在MacVim中,无法直接使用命令“yy”、“D”和“P”将内容复制到剪贴板,需要在前面加上“*”或“+”进行操作。这给用户带来了不便。
解决方法:
只需将以下代码添加到~/.vimrc
文件中:
set clipboard=unnamed
这样,所有操作(如yy、D和P)都可以直接与剪贴板一起使用,无需在前面添加“*”或“+”。
另外,在终端中可以使用mvim -v
命令来使用MacVim。
对于使用终端中的tmux的用户,需要按照这里的一个解决方案进行操作:stackoverflow.com/a/11421329/456584
需要注意的是,如果:echo has("clipboard")
返回值为1
,即表示MacVim支持剪贴板功能。
如果在终端中使用的是通过brew安装的vim,是否可以重新编译vim以支持剪贴板功能,需要进一步验证。
通过在~/.vimrc
文件中添加set clipboard=unnamed
代码,可以直接使用yy、D和P等操作将内容复制到剪贴板中。对于终端中使用tmux的用户,需要按照特定的解决方案进行操作。需要注意的是,MacVim必须支持剪贴板功能才能使用该方法。