Linux-vim编辑器

@toc

文本编辑器-vim

三种模式

命令模式:Normal(默认模式,可移动光标,剪切/粘贴文本)  
插入模式:Insert(修改文本)  
命令模式:Extended command(保存,退出等)

1.vim [option] file

[OPTION]
	+NUM	`打开后跳到NUM行`
	+/PATTERN	`跳到PATTERN匹配到的行`
	-b file		`二进制打开`
	-d file1 file2	`比较文件`
	-m file		`只读打开`
	-e file		`ex模式`
说明:  
如果file存在,则file被打开并显示内容  
如果file不存在,在编辑后覅一次wq时新建file

2.命令模式

1.命令模式_光标跳转

字符间

命令 用途
[NUM] h 向左NUM个字符
[NUM] l 向右NUM个字符
[NUM] j 向下NUM个字符
[NUM] k 向上NUM个字符

单词间

命令 用途
[NUM] w 向下NUM个单词
[NUM] e 当前或下NUM个单词词尾
[NUM] b 当前或上NUM个单词词首
页面
命令 用途
-- --
H 页首
M 页中
L 页底
zt 当前行移到顶
zz 当前行移到中
zb 当前行移到底
行间、句间、段落间
命令 用途
-- --
^ 行首(非空)
0 行首
$ 行尾
NUM G 跳到NUM行
G 尾行
gg 首行
( 上一句
) 下一句
{ 上一段
} 下一段
vim中翻屏快捷键
ctrl+f:向下一屏
ctrl+b:向上一屏
ctrl+d:向下半屏
ctrl+u:向上半屏

2.命令模式-字符操作

命令 用途
[NUM] x 删除当前NUM个字符
p 粘贴x删除的字符
~ 大小写转换
gu 变小写
gU 变大写
J 删除当前行的换行符
r 替换当前字符
R 替换模式
删除命令
命令 用途
-- --
[NUM] d 删除命令(结合以下命令使用)
d$或D 删到尾
d0 删到头
d^ 删到头(非空)
dw 删除当前字符
de 后删单词
db 前删单词
[NUM] dd 删除NUM行
复制命令
命令 用途
-- --
[NUM] y 复制命令(结合以下命令使用)
y$ 复制到尾
y0 复制到头
y^ 复制到头(非空)
yw 复制当前字符
ye 复制后单词
yb 复制前单词
[NUM] yy 复制NUM行
粘贴命令
命令 用途
-- --
p 往后粘贴
P 往前粘贴
改变命令
命令 用途
-- --
c 修改进入插入模式(同下)
c$或c 删到尾
c0 删到头
c^ 删到头(非空)
cw 删除当前字符
ce 删除后单词
cb 删除前单词
[NUM] cc 删除NUM行
查找命令
命令 用途
-- --
/PATTERN 向下查找
?PATHERN 向上查找
n 查找方向(对查找结果而言)
N 查找反向(对查找结果而言)
撤销更改
命令 用途
-- --
[NUM] u 撤销NUM次
U 撤销行的所有改变
ctrl+r 重做
[NUM] . 重复前一个NUM个操作

3.vim的寄存器

vim一共有26个全名寄存器和1个无名寄存器

命令 用途
1"syy 复制1行到s寄存器
"sp 粘贴s寄存器里的内容

4.标记、宏

命令 用途
m 将当前位置标记为a,可以标记26个{a-z}}
'a 跳转到标记a
qa 录制宏a
q 停止录制
@a 执行洪a
@@ 重新执行上次的宏

3.扩展命令模式

1.关闭文件

命令 用途
:q 退出
:q! 强制退出
:wq 保存退出
:x 保存退出
ZZ 保存退出
ZQ 不保存退出

2.命令操作

命令 用途
:w 写(存)磁盘文件
:r file 读文件到当前文件中
:w file 将当前文件写到另一个文件中
:!command 执行命令
:r!command 把命令的结果写入当前文件

3.地址定界

地址定界+command

命令 用途
:NUM 跳转到NUM行
:NUM,+NUM 如:2,+3表示2,5行
:. 当前行
😒 最后行
:% 全文
/STR1/,/STR2/ 从匹配到STR1到STR2
NUM,/STR/ 从第NUM行到STR匹配行
/STR/,$ 从STR匹配行到结束
command
命令 用途
-- --
w file 选中范围保存到文件file
r file 选中范围保存到指定file
示例
1.:1,3d
2.:/string1/,/string2/y
3.:/string1/,$r /data/file1

4.查找并替换

格式: s/要查的内容/要替换的内容/修饰符
要替换的内容: 1. 可以使用\1,\2括号引用。2. 可以使用&引用前面查找到的整个内容
修饰符

命令 用途
I 忽略大小写
g 每行替换1次
gc 全部替换
分隔符可以使用
1. s/string1/string2/g
2. s@string1@string2@gc
3. s#string1#string2#i

5.编辑二进制文件

1. vim -b binary_FILE
2. 命令模式下:
		:%!xxd		十六进制
		:%!xxd-r	二进制

4.可视化模式

命令模式下

命令 用途
v 字符
V
ctrl+v

5.多文件模式

vim file1 file2 file3
命令模式下

命令 用途
:next 下一个
:prev 上一个
:first 第一个
:last1 最后一个
:wall 保存所有
:qwall 退出所有
:wqull 保存并退出所有
使用多窗口
vim -o file1 file2(水平分割)
vim -O file1 file2(垂直分割)
命令 用途
Ctrl+w,w 窗口间切换
Ctrl+w,s 水平分割
Ctrl+w,v 垂直分割
Ctrl+w,q 取消相邻窗口
Ctrl+w,o 取消所有窗口

6.定制vim的工作特性

1.配置文件

全局:/etc/vimrc
个人:~/.vimrc

2.扩展模式(临时有效)

命令 用途
set [no]nu 不显示行号
set [no]ic 不忽略大小写
set [no]ai 不自动缩进
set [no]paste 不复制保留格式
set [no]si 不智能缩进
set [no]search 不高亮搜索
set [off]on 关闭语法高亮
set ff=dos unix
set textwidith=65,set wrapmargin=15 设置文本宽度
set [no]cul 不显示光标所在标识线
set [no]list 不显示tab和换行符

7.vim键盘图

posted @ 2019-10-08 13:06  南国的风-S  阅读(123)  评论(0)    收藏  举报