vim的复制粘贴(包括系统剪贴板)
view plain copy print?- w 跳转到下个word,W:跳转到上个word
- f 某行正向查找并跳转 F: 反向....
然后部分双写的字母有行操作:
[html] view plain copy print?
- yy 复制一行
- dd 删除一行
所以,
[html] view plain copy print?- p就是在当前光标后粘贴,P就是在当前光标前粘贴
另外,说完p,其实还有几个命令有时也是很有用的
[plain] view plain copy print?- gp,和p的功能基本一致,只是粘贴完,它会把光标移动至粘贴内容之后;gP同理
- :pu[t] ,注意,这个是在命令界面输入的pu/put,它的意思是把x寄存器的内容粘贴到下一行
view plain copy print?- :help registers
根据官方手册:vim有9种寄存器
There are nine types of registers: registers E354
1. The unnamed register ""
2. 10 numbered registers "0 to "9
3. The small delete register "-
4. 26 named registers "a to "z or "A to "Z
5. four read-only registers ":, "., "% and "#
6. the expression register "=
7. The selection and drop registers "*, "+ and "~
8. The black hole register "_
9. Last search pattern register "/
2.数字(numbered)寄存器:"0 ~"9,缓存最近操作内容,复制与删除有别, "0寄存器缓存最近一次复制的内容,"1-"9缓存最近9次删除内容
3.行内删除(small delete)寄存器:"-,缓存行内删除内容;
4.具名(named)寄存器:"a ~ "z或"A - "0Z,指定时可用;
5.只读(read-only)寄存器:":,".,"%,"#,分别缓存最近命令、最近插入文本、当前文件名、当前交替文件名;
6.表达式(expression)寄存器:"=,只读,用于执行表达式命令;
7.选择及拖拽(selection and drop)寄存器:"*,"+,"~,存取GUI选择文本,可用于与外部应用交互,使用前提为系统剪切板(clipboard)可用;
8.黑洞(black hole)寄存器:"_,不缓存操作内容(干净删除);
9.模式寄存器(last search pattern):"/,缓存最近的搜索模式。
至于每个寄存器更加具体的使用方法,我希望大家能查询手册,毕竟,这篇文章重点不在寄存器,可能哪天会写一篇小记讲讲寄存器吧
view plain copy print?- :reg
寄存器的使用方法也很简单:通过“ 加上 寄存器名,就可以访问特定的寄存器:
[html] view plain copy print?- "ap 粘贴字母a寄存器内容
- "1y 把选取内容复制到数字寄存器1
view plain copy print?- "+y 复制到系统剪贴板
- "+p 粘贴
- "+gp 粘贴并且移动光标到粘贴内容后
但是光是输入命令"+p就已经让人觉得很麻烦了,这时候,vim的map功能就又可以大显神通了,我们只需要把“+y 和 ”+gp map到你喜欢的快捷键上即可:
首先打开vimrc(如果没有,请创建一个)
[plain] view plain copy print?- vim ~/.vimrc
然后在其中输入: [plain] view plain copy print?
- nmap
"+gp - nmap
"+y
你现在就可以使用ctrl+c 和ctrl+v 了,但是!我本人是不推荐用这个快捷键的,因为本身
所以,我一般修改成:
[plain] view plain copy print?- nmap
v "+gp - nmap
c "+y
至于
- let mapleader=","
ps.说一下,我用的是nmap,说明这个命令只有在normal情况下才生效,在insert模式下是不生效的,为什么要这样设置呢?因为有时候你确实需要输入