vim的寄存器和剪贴簿操作?
vim 复制/ 删除 多行?
- 有确定序号的行: :10,15m20, 10,15co20
- 没有确定序号的行: ndd, nyy. 其中的n表示, 从当前行开始算起(当前行本身要包含!!!), 向下共删除/复制 n行!
4dd, 4yy, 表示, 从当前行算起, 向下删除 /复制 4行,
!!! 注意, 这里就不用加 + 加号了. 因为单击加号的时候, 光标就向下 移动了!!!
粘贴put的方式:
- p, 光标停留在粘贴内容的第一行 的开头
- gp, 光标停留在粘贴内容的最后 一行的 开头
- gP, 光标则停留在 粘贴内容的最后 下面的一行!
10,15co20, 复制到20行, 10,15m20 移动到20行.
在vim中 的 复制/删除/粘贴 等操作都是通过 寄存器 来实现的: http://jingyan.baidu.com/article/7f766daf43789b4101e1d0f3.html
传统软件的复制(copy),剪切(cut),粘贴(paste),在Vim中对应的是yank,delete和put。在Vim中的复制,删除,替换等操作的临时内容,都会存储在寄存器中。
寄存器的操作方法是 : 寄存器的名称 + 操作
寄存器的表示方法: 以双引号开头 (表示 引用麻 )".....
- 寄存器的名称, 主要的有三种:
- 默认寄存器: 总是收集 最近一次的 "操作" 结果, 不管是复制/删除/替换等等. 也叫 无名寄存器 : ""
- 复制(专用)寄存器: 总是收集最近一次 "复制" 的结果, 用 "0表示
删除(专用)寄存器: 从"1, 到 "9
命名寄存器, 主要是放置比较重要的内容, 从"a, 到"z , 共26个命名寄存器.
黑洞寄存器, "_ 将会彻底删除其中的内容.
这个是最重要的!!! 系统剪贴簿 === "+ 寄存器, 即vim的 +加号寄存器就是我们的 系统剪贴簿. 复制和粘贴的操作是: "+yy, "+p.
!!! 有的也叫做: 星号寄存器: "*.
=====================================================
额外的一些寄存器:
". 表示上一次输入的内容
": 表示上一次输入的命令
"/ 表示上一次的搜索 寄存器
"%, 只读寄存器, 表示当前的文件名
=====================================================
为什么我的vim不能使用系统粘贴板, 不能使用 "+p, 或"*p, "+gp, "+gP?
这篇文章上有讲的: http://www.cnblogs.com/soc-linux-driver/archive/2013/12/17/3478531.html
是因为, 我们使用的是 terminal形式的 vim, 没有使用gui图形界面的vim, 要使用"拖曳和系统剪贴簿" , 可以使用 gvim: 这个是用perl写的 支持图形界面的vim.
在图形界面下, 就可以使用 系统粘贴板. 而且你可以查看到 "*, "+这些寄存器中的内容.
使用vim --version. 可以查看到 系统剪贴簿对xterm并不可用: -xterm_clipboard.
~~~~~~~~~ 摘自网络:
只读(read-only)寄存器:":, "., "%, "#,分别缓存最近命令、最近插入文本、当前文件名、当前交替文件名;
表达式(expression)寄存器:"=,只读,用于执行表达式命令;
选择及拖拽(selection and drop)寄存器:"*, "+, "~,存取GUI选择文本,可用于与外部应用交互,使用前提为系统剪切板(clipboard)可用;
~~~~~~~~~ 摘自网络完
单引号+数字, 表示文件标记: file marks, 就是文件中的光标位置:
例如:
File marks:
'0 1 11 /var/www/html/main.css
'1 1 0 /var/www/html/index.php
'2 31 0 /var/www/html/index.php
'3 24 20 /var/www/html/index.php
'4 349 0 ~/.vim/bundle/snipMate/snippets/php.snippets
'5 37 0 /var/www/html/index.php
'6 38 0 /var/www/html/index.php
'7 1 0 ~/ab.php
'8 96 1 ~/.vim/bundle/snipMate/snippets/php.snippets
'9 107 0 ~/.vim/bundle/snipMate/snippets/html.snippets
如何调整vim窗口的大小?
- 水平方向是用 | , 左右调整, 竖直方向上是_, 下划线,
- |, _ ,分别表示最大化, 要最小化, 在前面加1, 即: ctrl+w 1|, ctrl+w 1_
上面这两个是最大和最小化.
如果不是最大和最小化, 则用上下 + /-, 左右 ><. 来调整....
- 要将名窗口恢复到正常大小, 使用ctrl+w =.
最新文章
- 全文检索学习历程目录结构(Lucene、ElasticSearch)
- RSA大会播报 – 2014最佳安全博客提名(国外篇)
- Linux下Redis开机自启(Centos)
- 《HelloGitHub月刊》第02期
- 【原创】如何找到Oracle中哪条记录被锁
- Yii2 自动更新时间created_at updated_at
- windows下配置svn的https访问
- CSS彻底研究(1)
- css案例学习之class执行的顺序
- 每天一个JavaScript实例-canvas绘图
- UIP源码之ARP过程分析
- 08 Noise and Error
- 关于FusionCharts图表宽度width的设置问题导致图表显示异常的解决办法
- vue jsx 使用指南
- 集合框架之Map接口
- python excel的操作
- brew 源 &; pip 源
- WebService概述
- Ehcarts 与 百度地图结合时,如何获取bmap的实例对象?
- Eigen教程(2)
热门文章
- Win7 单机Spark和PySpark安装
- 【BZOJ-4199】品酒大会 后缀数组 + 并查集合并集合
- 【bzoj2705】 SDOI2012—Longge的问题
- Windows XP/Windows 7/Windows 8/Windows 10系统封装的另类教程和思路
- POJ 2457 Part Acquisition
- 数据结构算法C语言实现(九)--- 拓展:由迷宫问题引申的AI贪吃蛇
- Newtonsoft.Json动态过滤属性
- 大家是怎么做Code Review的?
- HDU 1425 sort(堆排序/快排/最大堆/最小堆)
- python中join和split函数