@wyjgd
2019-08-26T01:16:55.000000Z
字数 1431
阅读 946
Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。
扩展命令模式:保存,退出等
Esc键退出当前模式,两个Esc,总是返回到命令模式
vim用法
vim [option] …… file ……
+#:打开文件后,让光标处于第#行的行首
-b:二进制方式打开文件
-m:只读
-e:直接进入扩展命令模式
如果vim所打开文件存在,则打开并且显示内容
如果vim所打开文件不存在,编辑后保存时创建该文件
打开单个文件
vim file1
同时打开多个文件
vim file1 file2
扩展命令模式:
:q 退出
:q! 强制退出,不保存
:wq 保存并退出
:x 保存退出
命令模式:
ZZ 保存退出
ZQ 不保存退出
光标跳转
字符间跳转
h:左
l 右 j 下 k 上;键盘方向键
单词间跳转
w:下一个单词的词首
e:当前或下一个单词的词尾
b:当前或前一个单词的词首
n command:n为数字指定一次跳转的单词数
当前页跳转
H:页首
M:页中间行
L:页底
zt:光标所在当前行移到屏幕顶端
zz:光标所在当前行移到屏幕中间
zb:光标所在当前行移到屏幕底端
行首行尾跳转
^:跳转至行首第一个非空白字符
0:跳转至行首
$:跳转至行尾
行间移动
G:最后一行
gg:第一行
#G:# 跳转至由#指定行
1G:第一行
部分命令
字符编辑
x:删除光标处字符
#x:删除从光标处开始的#个字符
xp:交换光标所在处的字符及后面字符的位置
替换命令
r:替换光标所在处的字符
R:切换成REPLACE模式
删除命令
dd:删除光标所在的行
#dd:删除多行
d^:删除到非空行首
d$:删除到行尾
d0:删除到行首
D:从光标处一直删到行尾
dG:从光标处开始,删到末行
dgg:从光标处开始,删到首行
d:相当于剪切
复制命令
y:复制
y^:复制至行首,不含光标所在字符
y$:复制至行尾,含光标所在字符
yy:复制行
Y:复制整行
查找
/pattern:从当前光标所在向文件尾部查找pattern
?pattern:从当前光标所在向文件首部查找pattern
查找过程中,按n键查找下一个,N键查找上一个
撤销更改
u:撤销最近更改
U:撤销光标落在此行后的所有更改
#u:撤销之前多次更改
Ctrl + r:重做,即撤销的撤销
用法命令
按“:”进入Ex模式,:位于屏幕左侧
r filename 读文件内容到当前文件中
w filename 将当前文件内容写入另一文件
!command 执行命令
r!command 读入命令的输出
* 地址定界
# 具体第#行
#,# 从左侧#起始行,到右侧#结尾行
#,+# 从左侧#起始行,加上右侧#行数
:2+3 第2行到第5行
. 当前行
$ 最后一行
% 全文
/part1/,/part2/ 从第一次被part1匹配到的行开始,到第一次被part2匹配到的行结束
查找并替换
s:在扩展模式下完成查找替换操作
格式:s/查找内容/替换内容/修饰符
修饰符:
i:忽略大小写
g:全局替换;通常默认每一行只替换第一次出现
gc:全局替换,每次替换前询问
查找替换中的分隔符/可以替换成其他字符
s/\/etc/\/var/g
s@/etc@/var@g
s#/etc#/var#g
i:光标所在处输入
I:光标所在行行首输入
o:光标所在行向下新建一行
O:光标所在行向上新建一行
a:光标所在处后面输入
A:光标所在处行尾输入