工作模式
vim 三种模式:普通模式,编辑模式,命令模式。
模式切换
vim 默认进入普通模式,按相关快捷键进入编辑模式,按“:”进入命令模式。
从编辑模式,按“Esc”键,退出到普通模式。
进入编辑模式快捷键
a 进入编辑模式,后续输入的内容将插入到当前光标所在字符的后面。
A 进入编辑模式,后续输入的内容将插入到当前光标所在行的后面。
s 删除光标所在的字符,进入编辑模式。
S 删除光标所在行,进入编辑模式。
i 进入编辑模式,后续输入的内容将插入到当前光标所在字符的前面。
I 进入编辑模式,后续输入的内容将插入到当前光标所在行的前面。
o 在光标所在行的后面创建空白行进入编辑模式。
O 在光标所在行的前面创建一空白行进入编辑模式。
普通模式中的快捷键
vim中最简单的光标移动方式,是通过上下左右键去移动,但是效率低下。还可以在普通模式下,通过快捷键移动光标所在的位置。
移动光标的快捷键:
h 光标向左移动一位。
l 光标向右移动一位。
j 光标向下移动一行。
k 光标向上移动一行。
w 光标向左移动一个单词。
b 光标向右移动一个单词。
gg 光标移动到文件的首行。
G 光标移动到文件的末尾。
nG 光标移动到文件的第 n 行。
^ 光标移动到当前行的行首。
$ 光标移动到当前行的行尾。
编辑文档的快捷键
x 删除当前光标所在字符。
dd 删除光标所在的一行。
ndd 删除光标所在行一下的 n 行,(3dd,删除3行)
d$ 删除光标所在字符至行尾。
J 删除换行符,两行合并成一行。
u 撤销上一步操作。
r 替换光标所在的字符。(rb ,将光标所在字符替换成b)
yy 复制光标所在的行。
p 粘贴到当前行之后。
P 粘贴到当前行之前。
ZZ 保存并退出当前文档。
Ctrl+N 自动补全功能。(内容中已经出现过的单词可以通过快捷键自动补全)
vim 内容查找和替换
查找
在vim 中使用“ / ” 关键词实现从上往下查找关键词内容。 在vim 中使用“ ? ” 关键词实现从下往上查找关键词内容。
demo :
/class //从上往下查找文件中的class单词
?class //从下往上查找文件中的class单词
通过快捷键 “ n ” 跳到下一个匹配的关键词处,“ N ” 跳到上一个匹配的关键词处。
替换
替换功能需要进入命令模式才能实现替换。常见的命令有:
:s/id/class //将光标所在行的第一个id替换成class,没有匹配到,则不替换。
:s/id/class/g //将光标所在行的所有id替换成class,没有则不替换。
:1,4 s/id/class/g //将1到4行之间的所有id替换成class,没有则不替换。
:% s/id/class/g //将文件中所有的id替换成class,没有则不替换。
vim的保存退出
保存退出命令有:
:q 退出
:q! 强制退出
:w 保存
:w! 强制保存
:wq 保存并退出
:x 保存并退出
:w a.log 保存并另存为 a.log
ps : 如果误操作“ctrl+s”,保存,这时候vim快捷键就锁定了,需要“ctrl+q”来解锁,才能继续操作。
常用命令
:split 一个文档划分成不同的窗口。
:split demo.html 分割窗口并打开新的demo文件。多窗口多文件编辑工作
:vsplit 窗口垂直切割
Ctrl + w + h(l,j,k) 窗口左右上下切换
:set ignorecase 忽略大小写
:set nu 设置行号(:set number)
:!{命令} 执行shell命令,比如 (:!ls-l) 执行查看当前目录的shell命令,而不退出vim编辑器
修改vim的配置文件
~/.vimrc
set nu # 显示行号