Vim常用命令及用法

Vim常用命令及用法

1切换插入模式:
命令模式下
a                                (小写)光标之后进行插入
A                                (大写)光标所在行尾进行插入
i                                (小写)光标前开始进行插入
I                                (大写)光标所在行首进行插入
o                                (小写)光标所在行后新插入一空行进行插入
O                                (大写)光标所在行前新插入一空行进行插入
插入模式下按ESC键返回命令模式
2 切换到编辑模式
命令模式下按【:】进入编辑模式,键入命令回车后自动返回到命令模式或按ESC键返回到命令模式。
3 保存文件
编辑模式下
:w                            (小写)保存文件
​:wq                        (小写)保存并退出vim
:w 文件名1            将文件另存为文件名1
:ZZ                          (大写)保存文件并退出,相当于:wq
:wq!                        (小写)文件所有者强制保存只读文件,如果不是文件所有者进行此操作,不能成功
:q!                                退出不保存文件
4 复制(yank)
命令模式下
yy或 Y                    复制光标所在整行
y^                        复制到光标所在行行首,不包括光标位置字符
y$                        复制到光标所在行行尾,包括光标位置字符
yw                        复制一个单词,光标必须在单词首部
yG                        复制到文件尾
y1G                        复制到文件首
nyy                        复制光标所在行开始的n行
5 粘贴
命令模式下
p                                (小写)粘贴到光标后
P                                (大写)粘贴到光标前
6 删除
命令模式下
x                                (小写)删除光标前一个字符
X                                (大写)删除光标后一个字符
dd                                (小写)删除光标所在整行
dw                                (小写)删除光标所在处一个单词
dG                                删除光标所在整行到文件尾
dgg                        删除光标所在整行到文件首
D                                (大写)删除到行尾,包含光标处的字符
d$                                与D效果相同
d0                                删除到行首,不包含光标处的字符
d^                                与d0效果相同
:n1,n2d                编辑模式下,删除n1-n2行
7撤销
命令模式下

u                        (小写)无限次保存前撤销(大概500多次)

ctrl+r                redo


8 字符替换
命令模式下
r                        (小写)替换光标所在处一个字符
R                        (大写)开始替换,直到按ESC键退出替换,相当于按下键盘上到insert键
cc                        (小写)取代光标所在整行
S                        (大写)与ss(小写)效果相同
C                        (大写)取代到行尾,包括光标处字符
c0                        (小写,数字0)取代到行首,不包括光标处字符
c^                        (小写)与c0(小写,数字0)效果相同
9 字符串查找和替换
命令模式下
/string                从光标处开始向下开始查找字符串string
/查找模式下按n(小写)查找下一个,按N(大写)查找上一个
?string        从光标处开始向上开始查找字符从string
?查找模式下按n(小写)查找上一个,按N(大写)查找下一个
*                        向下完整匹配光标下的单词
#                        向上完整匹配光标下的单词
g*                        向下部分匹配光标下的单词
g#                        向上部分匹配光标下到单词
编辑模式下
:set ic                查找时,忽略大小写
:set noic        取消查找时忽略大小写
:f string        (小写f与string有空格)搜索一行中匹配到的string
:%s/old/new/g        全文将old替换为new,不提示
:%s/old/new/c        全文将old替换为new,提示是否替换
:n1,n2s/old/new/g        n1-n2行中,将old替换为new,不提示
:n1,n2s/old/new/c        n1-n2行中,将old替换为new,提示是否替换
在替换文本old或new中有/字符时,需要用\进行转义
10 显示行号
编辑模式下
:set nu(mber)                显示行号
:set nonu                        取消显示行号
:set nu!                        取消显示行号

推荐阅读:

相关推荐