马哥预习课07_Vim文本编辑器

▼Vim编辑器

▷Vim的模式

  1. 命令模式(Normal)
  2. 插入模式(Insert)
  3. 扩展命令模式(extended command)

1. Vim [OPTION] file

[OPTION]
	+NUM	`打开后跳到NUM行`
	+/PATTERN	`跳到PATTERN匹配到的行`
	-b FILE		`二进制打开`
	-d FILE1 FILE2	`比较文件`
	-m FILE		`只读打开`
	-e FILE		`ex模式`
扩展命令模式 命令模式 插入模式 VISUAL模式 esc : i esc v、V、^v 扩展命令模式 命令模式 插入模式 VISUAL模式

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 页底`
zz 当前行移到顶
zt 当前行移到中
zb 当前行移到底

行间、句间、段落间

命令 用途
^ 行首(非空)
0 行首
$ 行尾
NUM G 跳到NUM行
G 尾行
gg 首行
( 下一句
) 下一句
{ 上一段
} 下一段

翻屏快捷键

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行

< start pos > < command > < end pos >

示例

命令 用途
0y$ 复制一行
0gU$ 整行成大写
100iwang [ESC] 输入wang100次
命令 用途
di" 删除" " 之间内容
yi( 复制( ) 之间内容
vi[ 选中[ ] 之间内容
dtCHAR 删除之后直到CHAR字符
ytCHAR 复制之后直到CHAR字符

查找

命令 用途
/PATTERN 向下查找
?PATTERN 向上查找
n 查找方向(对查找结果)
N 查找反向(对查找结果)

撤消更改

命令 用途
[NUM] u 撤消NUM次
U 撤消行的所有更改
Ctrl + r 重做
[NUM] . 重复前一个/NUM个操作

3. vim的寄存器

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

命令 用途
3"tyy 复制3行到t寄存器
"tp 粘贴t寄存器

4. 标记和宏

命令 用途
m{a-z} 将当前位置标记为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

命令 用途
:start_pos,end_pos 地址定界
:NUM 跳转到NUM行
:NUM,+NUM 如:2,+3表示2,5行
:. 当前行
:$ 最后行
:% 全文
/STR1/,/STR2/ 从匹配到的STR1到STR2
NUM,/STR/ 从第NUM行到STR匹配行
/STR/,$ 从STR匹配行到结束

COMMAND

命令 用途
d 删除
w FILE 选中范围保存到文件FILE
r FILE 选中范围保存到指定FILE

示例

:1,3d
:/string1/,/string2/y
:/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	二进制 

3. 可视化模式

命令模式下

命令 用途
v 字符
V
Ctrl+v

可视化模式

4. 多文件模式

vim FILE1 FILE2 FILE3 ...

命令模式下

命令 用途
:next 下一个
:prev 上一个
:first 第一个
:last1 最后一个
:wall 保存所有
:qwall 退出所有
:wqall 保存并退出所有

使用多窗口

vim -o | -O FILE1 FILE2
	-o	: 水平分割
	-O : 垂直分割
命令 用途
Ctrl+w 窗口间切换
Ctrl+w,s 水平分隔
Ctrl+w,v 垂直分隔
Ctrl+w,q 取消相邻窗口
Ctrl+w,o 取消全部窗口

▷定制Vim的工作特性

1. 配置文件

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

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

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

3. 了解更多

  1. Set 帮助
    :help option-list
    :set OR :set all

  2. vi /vim内置帮助
    :help
    :help topic

     *Use :q to exit help*
    
  3. vimtutor : vim帮助

▷vim键盘图

1.vim键盘图1

vim键盘图

2. vim键盘图2

vim键盘图

3. vim思维导图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42758707/article/details/89811882