先说结论
选定区域,执行 "+y 即可,具体原理分析见下方
Background
在实际应用vim的过程中,我们发现是无法使用 command+c 将vim中的文本内容复制到系统剪切板的,对于需要将一段文本复制到多个地方应用的场景,是无法支持的。
所以上网搜了下是否有比较好的解决方案。
Tip 链接
知乎上有一个相关的问题,附上链接:
如何将 Vim 剪贴板里面的东西粘贴到 Vim 之外的地方?
工具心得
平常使用vim的机会虽然很多,但是更多的是应用编辑,查找等功能,及时有复制粘贴更多也是针对文件内应用的场景。
因而,用了这么久对vim的内部原理以及执行方式并不了解。
从这个小窍门的答案中,我们接触到了寄存器的概念,vim中有"a-zA-Z0-9+" 这么多个寄存器,关于vim中寄存器相关知识可以参考这篇文章 Vim Registers
首先验证下是否支持 clipboard,通过 vim --version | grep clipboard 如果为 ‘+’则支持,
如果为 ‘-’则不支持,此时针对mac用户,如果无法安装compiled with +clipboard,可以
使用pbcopy,在vim环境中 通过 visual 选中目标区域后 :w !pbcopy<CR><CR> 即可