vim [option] file
+n. :打开文件后,让光标处于第n.行的行首,+默认行尾
\\ vim +5 file 打开file并让光标处在第5行
i \\ 在光标处输入
I \\ 当前光标行的行首输入
a \\ 在光标所在处后面输入
A \\ 在当前光标所在行的行尾输入
o \\ 光标下方开一个新行
O \\ 光标上方开一个新行
x \\ 剪切光标处字符,n.x剪切光标起始处n.个字符
p \\ (小写p)如果缓冲区为整行,在光标下方粘贴,否则在光标所
\\ 在后面粘贴,xp可以实现字符换位
P \\ (大写P)如果缓冲区为整行,在光标上方粘贴,否则在光标后
\\ 面粘贴
~ \\ 转换文档中光标所在处字母大小写
J \\ 删除当前行后的换行符
r \\ 替换光标所在处字符,如rm将光标处字符换成m
R \\ 进入replace模式,此模式下输入的字符会替换光标所
\\ 在位置的字符
ctrl+f,b:向下或向上翻一屏 ctrl+d,u:向下或向上翻半屏
u \\ 撤销最近的更改
ctrl+r \\ 重做最后的撤销
n.u \\ 撤销之前的n.次更改
U \\ 撤销光标落在这行的所有对此行更改、
. \\ 重复上一个操作
n. \\ 重复上一个操作n次
命令模式按“:”英文冒号进入扩展模式
w \\ 保存
q \\ 退出
wq \\ 保存退出
q! \\ 强制退出,不保存
r filename \\ 读文件到当前文件
w filename \\ 写文件到指定文件
!command \\ 执行命令
r!command \\ 读入命令输出
①. 地址定界
起始位置,结束位置跟操作
如 1y 复制第一行
2,4d 删除第二行到第四行
2,+4y 复制第二行到第六行
. 代表当前行
$ 最后一行
% 全文,等同于1,%
起始位置和结束位置可以使用正则表达式如:
/[0-9]/,/[0-9]/d \\ 表示删除第一次匹配到包含数字的行到第二次匹
\\ 配到包含数字的行
可以使用的操作命令包括d,y,w file(将范围内的行存如指定文件)
r file \\(在指定位置插入指定文件内容)
②. 查找替换
查找:/pattern向下查找(pattern为要查找的内容)
?pattern向上查找
n,N与命令同方向或反方向匹配(输入匹配命令之后按n,N)
替换格式:s/查找的内容/替换的内容/修饰符
查找的内容可以使用模式(正则)
替换的内容不能使用模式但可以使用后向引用,还可以使用&引用前面查找到的整个内容
修饰符:
i: 忽略大小写
g: 全局替换,默认情况下每一行只替换第一次出现
gc: 全局替换,替换前询问
查找替换中的分隔符/可以替换为如@#等字符
如:
删除文件中的行首的空白字符
:s@^[[:space:]]\+@@g
在文件中所有以空白字符开头的行首添加一个#号
1,$s@^[[:space:]]@#\1@g
这张图包含命令模式大多数命令,如果能记住的话,绝对装逼利器,还有原图,太大无法上传,给个连接,看得上的可以下载https://share.weiyun.com/5YxLhPX
原文:http://blog.51cto.com/13672361/2096678