1、打开文件
+#: 打开文件后,让光标处于第#行的行首,+默认行尾
+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
–b file 二进制方式打开文件
–d file1 file2… 比较多个文件
-m file 只读打开文件
2、命令模式下执行情况
- 字符间跳转:
h: 左l: 右j: 下k: 上
10h:向左跳转是个字符 - 单词间跳转:
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
10w:向后跳10个单词 - 当前页跳转:
H:页首M:页中间行L:页底 - 行首行尾跳转:
^: 跳转至行首的第一个非空白字符
0: 跳转至行首
$: 跳转至行尾 - 行间移动:
G:最后一行
1G, gg: 第一行
10G,跳到第十行 - 句间移动:
) 下一句 (上一句-----之间用.和一个空格隔开的是一句 - 段落间移动:
} 下一段{ 上一段 ----用空行隔开 - 字符编辑:相当于删除
x: 删除光标处的字符
10x: 删除光标处起始的10个字符
xp: 交换光标所在处的字符及其后面字符的位置
~:转换大小写
J:删除当前行后的换行符 - 替换命令(r, replace)
r: 替换光标所在处的字符
R:切换成REPLACE模式 - 删除命令:相当于剪切
d: 删除命令,可结合光标跳转字符,实现范围删除
d$: 删除到行尾
d^:删除到非空行首
d0:删除到行首
dw:向后删除一个单词
de:向后删除一个单词到单词的词尾
db:向前删除一个单词
5dw:向后删除5个单词
dd: 删除光标所在的行
5dd:删除光标下的5行 - 复制命令(y, yank):
用法和d相同 - 粘贴命令(p, paste):
小p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
大P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面 - 改变命令(c)
删除后切换至插入模式,用法和剪切、复制用法相同 - 100iwang [ESC] 粘贴“wang”100次
- 例如0y$ 命令意味着:
0 →先到行头
y →从这里开始拷贝
$ →拷贝到本行最后一个字符
ggdG表示从第一行删除到最后一行 - 撤销更改
u撤销最近的更改
10u撤销之前10次更改
U撤消光标落在这行后所有此行的更改
按Ctrl-r重做最后的“撤消”更改 - 寄存器 在命令模式下
3"tyy 表示复制3行到t寄存器中
"tp 表示将t寄存器内容粘贴
用"abc...z可以表示26个寄存器 - 可视化模式
允许选择的文本块
v面向字符
V面向行
ctrl-v 面向块
可视化键可用于与移动键结合使用:上、下、左、右方向键、单词跳转等
突出显示的文字可被删除,复制,变更,过滤,搜索,替换等 - 多文件分割
vim -o|-O FILE1 FILE2 ...
-o: 水平分割
-O: 垂直分割
在窗口间切换:Ctrl+w, 上下左右方向键 - 配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
3、扩展命令模式下执行情况
- 地址定界
: .表示当前行
:1,3d表示1到3行删除
:2,+3y表示2到5行复制
:$表示最后一行
:%表示全文
:/r/,/g/d 表示以r开头的行到以g开头的行删除
:/r/,/g/y表示以r开头的行到以g开头的行复制
:/r/,/g/w f1 表示以r开头的行到以g开头的行另存到f1文件中
:r f1表示在当前光标位置读入f1文件的内容 -
vim键盘图
- 搜索
:/PATTERN:从当前光标所在处向文件尾部查找
:?PATTERN:从当前光标所在处向文件首部查找
n:与命令同方向
N:与命令反方向 - 搜索替换
s: 在扩展模式下完成查找替换操作
格式:s/要查找的内容/替换为的内容/修饰符
要查找的内容:可使用模式
替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容
修饰符:
i: 忽略大小写
g: 全局替换;默认情况下,每一行只替换第一次出现
gc:全局替换,每次替换前询问
查找替换中的分隔符/可替换为其它字符,例如
s@/etc@/var@g
:%s#/boot#/#i 表示搜索全文,将/boot替换为/忽略大小写
:%s/ab/xyz/g:表示搜索全文,将ab全部替换为xyz - 编辑二进制文件
以二进制方式打开文件
vim –b binaryfile
扩展命令模式下,利用xxd命令转换为可读的十六进制
:%!xxd
编辑二进制文件
扩展命令模式下,利用xxd命令转换回二进制
:%!xxd –r
保存退出行号 - 显示:set number, 简写为set nu
取消显示:set nonumber, 简写为set nonu - 自动缩进
启用:set ai
禁用:set noai - 文件格式
启用windows格式:set fileformat=dos
启用unix格式:set fileformat=unix
4、插入 模式
- 让文本带颜色
^[[0;31mred^[[0m
---^[ 不是手敲出来的,而是在插入模式下先按
ctrl,不要松手,再按v,最后按[,其中按v和[时ctrl不要松手。
备注:`30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white