命令模式
使用vim进行编辑时,默认就处于命令模式。在该模式下,无法输入文本内容,只能使用快捷键对文本内容进行复制、粘贴、删除、快速定位等操作。
编辑模式
在该模式下,可以直接对文本内容进行编辑:输入文本、删除文本等操作。
底行模式
在该模式下,对文件内容进行查找、替换、保存、退出等操作。
可视化模式
在该模式下,可以做一些列选操作(通过移动键选中区域,对区域进行操作)。
(无视大小写)H
向左移动、J
向下移动、K
向右移动、L
向上移动、w
以单词为单位向后移动、b
以单词为单位向前移动
$
定位到光标所在行的行末
^
定位到光标所在行的行首
gg
定位到文件的首行
G
定位到文件的末行
ngg
或者``nG`定位到第n行
yy
复制光标所在行
nyy
复制n行(从光标所在行开始)
p
粘贴到光标所在行的下一行
np
粘贴n行,从光标所在行下一行开始
P
粘贴到光标所在行,原来内容下移
nP
粘贴n行,从光标所在行开始,原来内容下移
vim中剪切和删除其实是同一个操作dd
如果剪切(dd)了,但没有粘贴§就是删除;
如果剪切(dd)了,并且粘贴了§就是剪切。
dd
删除光标所在行
ndd
删除n行(从光标所在行开始)
D
删除光标所在行,使之变为空白行
x
删除光标所在位置字符
nx
删除n个字符,从光标开始向后
X
删除光标前一个字符
nX
删除光标前n个字符
u
就是撤销之前的操作
ctrl+r
就是恢复(取消)撤销的动作
必须在命令模式下才能够进入编辑模式!!!
ESC
退出编辑模式,进入命令模式
i
进入编辑模式,可以在光标之前插入内容
a
进入编辑模式,可以在光标之后插入内容
o
进入编辑模式,可以在光标的下一行插入内容
必须在命令模式下才能够进入底行模式!!!
ESC
退出底行模式,进入命令模式
第一步::
进入底行模式
第二步:
w
保存文件内容
w!
强制保存文件内容
q
退出文件
q!
强制退出文件
wq
保存退出
第一步::
进入底行模式
第二步:
s/要替换的关键字/替换后的关键字 + 回车
替换光标所在行的第一个(从左到右)满足条件的关键字
s/要替换的关键字/替换后的关键字g + 回车
替换光标所在行的所有满足条件的关键字
%s/要替换的关键字/替换后的关键字 + 回车
针对文件的所有行进行替换(每行满足条件的第一个关键字)
%s/要替换的关键字/替换后的关键字g + 回车
针对文件的所有行进行替换(每行所有满足条件的关键字)
第一步::
进入底行模式
第二步:
set nu
显示行号
set nonu
取消显示行号
当我们从别的地方复制代码然后在vim模式中粘贴时,vim会把这些内容当作时是用户键盘输入的,所以就会导致如果vim开启了自动缩进,那么在遇到换行符的时候vim会自动换行,导致代码变乱。
如果开启paste之后再粘贴代码时即可无视这个问题。
第一步::
进入底行模式
第二步:
set paste
开启paste模式
set nopaste
关闭paste模式
第一步:/
进入底行模式,或者:/
第二步:
输入要查找和搜索的关键字,按回车。
如果有多个结果,n
找下一个结果,N
找上一个结果
必须在命令模式下才能够进入可视化模式!!!
ESC
退出可视化模式,进入命令模式
v
进入可视模式,V
进入可视行模式,ctrl+v
进入可视块模式。
在以上模式下,可用HJKL
(无视大小写)进行区域选择,对于区域可用y
复制、p
粘贴、d
剪切等。
第一步:ctrl+v
进入可视块模式
第二步:进行区域选择
第三步:I
进入编辑模式(大写)
第四步:输入//
注释符
第五步:按两下ESC
第一步:ctrl+v
进入可视块模式
第二步:进行区域选择(选中注释符//
)
第三步:按d