vim 系统剪贴板负责粘贴

lerdor 2015-08-27

在vimrc里边加入下面几行,可以实现多个terminal间的复制粘贴。
 (只适用于Mac)
 
  vmap y :w !pbcopy<CR><CR>
  nmap yy :.w !pbcopy<CR><CR>
  nmap p :r !pbpaste<CR><CR>

 【解说】

 这里主要得益于mac下的一套好用的操作系统剪贴板的命令:
  pbcopy, pbpaste .
 比如说可以这样使用:
  cat foo.txt | pbcopy #将foo.txt的内容复制到系统剪贴板
  pbpaste > bar.txt #将系统剪贴板的内容写到bar.txt

 然后vim的w !和r !(注意中间的空格)可以负责把某一段文字
 写入或从某一个命令读出,有点类似linux的管道功能。
 这里把vim默认的y和p功能改掉,让y直接复制到系统剪贴板,
 让p从系统剪贴板直接粘贴;故实现了多个terminal之间的剪贴板共享。
 而且由于操作的是系统剪贴板,同时也实现了terminal的vim与其他
 应用程序之间的剪贴板共享。

转自:http://www.douban.com/note/202175976/

相关推荐