原文地址:http://lsong17.spaces.live.com/blog/cns!556C21919D77FB59!603.entry

内容:

vim这么久 了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开编辑,真的不 爽;上次论坛上有人问到了怎么在vim中使用系统粘贴板,印象里回复很多,有好几页的回复却没有解决问题,今天实在受不了了又在网上找办法,竟意外地找到 了,贴出来分享一下。

如果只是想使用系统粘贴板的话直接在输入模式按Shift+Inset(粘贴)就可以了,下面讲一下vim的粘贴板的基础知识,有兴趣的可以看看,应该会有所收获的。
vim帮助文档里与粘贴板有关的内容如下:

  1. vim有12个粘贴板,分别是0、1、2、...、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;
  2. 要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny(注意带引号)完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
    • “号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
    • +号粘贴板是系统粘贴板,用"+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制vim中,需要在正常模式下按"+p;
  3. 要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p将系统全局粘贴板里的内容粘贴进来。

注意:在我这里,只有vim.gtk或vim.gnome才能使用系统全局粘贴板,默认的vim.basic看不到+号寄存器。安装vim.gnome使用apt-get install vim-gnome,然后vim自动会链接到vim.gnome。

下面是vim复制粘贴的基本命令:
yy复制游标所在行整行。或大写一个Y。 
2yy或y2y复制两行。 ㄟ ,请举一反三好不好! :-) 
y^复制至行首,或y0。不含游标所在处字元。 
y$复制至行尾。含游标所在处字元。 
yw复制一个word。 
y2w复制两个字(单词)。 
yG复制至档尾。 
y1G复制至档首。 
p小写p代表贴至游标后(下)。 
P大写P代表贴至游标前(上)。

复制单个字符
首选进入正常模式(按ESC就行)
然后按v(指定粘贴板为"1v 引号不能少),进入visual方式,然后就可以移动方向键选中文本,然后按y,就拷贝完成,
如果你要从光标处开始复制 4 个字符,可以按 4yl (复制光标后的)("14yl)("110yl 后面10个字符),4yh(复制光标前的) ,就复制了4个字符到缓冲区中了,
按下来就可以用 p (指定粘贴板为"1v 引号不能少)命令随便粘贴了(1为指下粘贴板名)

最新文章

  1. Spring整合Hibernate详细步骤
  2. javascript 错误处理
  3. struts2源代码学习之初始化(一)
  4. LeetCode Minimum Size Subarray Sum (最短子序列和)
  5. Open judge 06月度开销
  6. 自己做的网页页面导航浏览JS/JQuery_版本2(优化边缘)
  7. Direct2D DirectWrite绘制文字
  8. Dojo初探之4:dojo的event(鼠标/键盘)事件绑定操作(基于dojo1.11.2版本)
  9. cocos2d 判断旋转矩形是否包含某个点
  10. JVM的运行原理以及JDK 7增加的新特性(二)
  11. Redis单线程架构
  12. 洛谷P3655 差分数组 树状数组
  13. Django之发送邮件
  14. vb越界
  15. 返回指针的函数 ------ 指针函数(pointer function)
  16. Oracle 11g中的snapshot standby特性
  17. python 环境搭建和Spyder的安装应用
  18. yum 安装mysql数据库
  19. Python 解压缩Zip和Rar文件到指定目录
  20. 六个前端开发工程师必备的Web设计模式/模块资源

热门文章

  1. DrawDibDraw函数的使用方法
  2. 用NSData和NSFileManager保存内存中的对象
  3. squid+nginx+apache
  4. 【转】开始iOS 7中自动布局教程(一)
  5. Oracle RAC环境下如何更新patch(Rolling Patch)
  6. Unable to execute dex: method ID not in [0, 0xffff]: 65536
  7. 15、自定义Content Provider
  8. Linux基本命令(1)管理文件和目录的命令
  9. CCCallFuncN误用导致引用计数循环引用
  10. DOM笔记(一):HTMLDocument接口