TA的每日心情 | 开心 2021-12-13 21:45 |
---|
签到天数: 15 天 [LV.4]偶尔看看III
|
VIM编辑器常用模式有:
普通模式:实现基本的光标移动与大量的快捷键操作 (vim编辑器默认模式)
插入模式:实现文本的基本编辑功能
命令模式:输入特定的指令实现特定的功能
普通模式:
在插入模式或者命令模式中可以按ESC键来退回到普通模式
命令模式:
在普通模式下输入":" 即可进入到命令模式,在“:”后输入指令,即可实现特定的功能
普通模式:移动光标的操作
G
将光标移动到文件的最后一行
gg
将光标移动到文件的第一行,等价于
1gg
或
1G
0
或
^
数字
0
,从光标所在位置移动到当前行的结尾
$
从光标所在位置将光标移动到当前行的结尾
n<Enter>
n
为数字,
<Enter>
为回车键,将光标从当前位置向下移动
n
行
ngg
N
为数字,移动到文件的第
n
行,如
11gg
可移动到
11
行,可配合“
:set nu
”查看,同
nG
H
光标移动到当前窗口的最上方哪一行
M
光标移动到当前窗口的中间哪一行
L
光标移动到当前窗口的最下方哪一行
h
光标向左移动一个字符
j
光标向下移动一个字符
k
光标向上移动一个字符
l
光标向右移动一个字符
普通模式:搜索与替换操作
/oyb
从光标位置开始,向下寻找名为
oyb
的字符串
?oyb
从光标位置开始,向上寻找名为
oyb
的字符串
n
从光标位置开始,向下重复前一个搜索的动作
N
从光标位置开始,向上重复前一个搜索的动作
:%s/A/B/g
把符合
A
的内容全部替换为
B
,斜线分割,可以用
@
、
#
等替代
:n1,n2s/A/B/g
n1
、
n2
为数字,在第
n1
行和
n2
行间寻找
A
,用
B
替换
普通模式:复制、粘贴、删除等操作
yy
复制光标所在的当前行
nyy
N
为数字,复制光标开始向下共
n
行
p/P
P
将已复制的数据粘贴到光标的下一行,
P
则为粘贴到光标的上一行
dd
删除光标所在的当前行
ndd
n
为数字,删除从光标开始向下共
n
行
d$
删除光标至行尾的内容
x
删除光标当前字符
J
删除换行符,可以将两行合并为一行
rn
将光标当前字符替换为
n
(
n
为任何键盘单个输入)
u
恢复(回滚)前一个执行过操作,
可以多次使用
uu
表示撤销两步操作
进入编辑模式
i
后续输入的内容将插入至当前光标的前面
I
后续输入的内容将插入至当前光标的段首
a
后续输入的内容将插入至当前光标的后面
A
后续输入的内容将插入至当前段落的段尾
o
在当前行的后面创建新的空白行
O
在当前行的前面创建新的空白行
Esc
退出编辑模式,回到普通模式中
进入命令模式
:wq
退出并保存
:wq!
退出并强制保存,“!”为强制的意思
:q!
强制退出,不保存
:n1,n2 w filename
n 1
、
n2
为数字
,
将
n1
行到
n2
行的内容保存成
filename
这个文件
:n1,n2 co n3
n 1
、
n2
为数字
,
将
n1
行到
n2
行的内容拷贝到
n3
位置下
:n1,n2 m n3
n 1
、
n2
为数字
,
将
n1
行到
n2
行的内容移动至
n3
位置下
:!command
暂时离开
vi
到命令行模式下执行
command
的显示结果!例如
:! ls /etc
:set nu
显示行号
:set nonu
与
set nu
相反,取消行号
:vs filename
垂直分屏显示,同时显示当前文件合
filename
对应文件的内容
:sp filename
水平分屏显示,同时显示当前文件合
filename
对应文件的内容
I+#+Esc
在可视化模块下(
ctrl+v
)
,
一次性注释所选的多行,取消注释可用
:n1,n2s/#//g, #
号可以换成别的操作,列如
tab
键,这样就是批量缩进
Del
在可视化模块下(
ctrl+v
)
,
一次性删除所选内容
r
在可视化模块下(
ctrl+v
)
,
一次性替换所选内容
|
|