vim常用命令详解

Vi编辑器的三种模式:
命令模式:
进入:vi filename(文件名前要接路径,绝对路径与相对路径皆可)
退出:编辑模式下输入wq
插入模式
进入:命令模式下输入i、a、o可切换到插入模式
退出:插入模式下按Esc键可回退至命令模式
编辑模式:
进入:命令模式下输入:即可进入编辑模式(即末行模式)
退出:编辑模式下命令以回车结束运行
文件信息:
ctrl+g 查看当前文件信息(文件下面会列出文件名,文件总行数,当前光标所在行数与总行数的百分比,当前光标所在行数及此行的第几列,)

插入命令:
命令 作用
a 在光标所在字符后插入
A 在光标所在行行尾插入
i 在光标所在字符前插入
I 在光标所在行行首插入
o 在光标下插入新行
O 在光标上插入新行
s 删除光标指定的字符并进入插入模式
S 将光标所在行清除,并进入插入模式(只清除指定行内容,不清除行本身)
命令模式下的复制和剪贴
vim用y+p命令实现复制:y [数字] motion +p&P
(vim中剪切的实现:删除命令+p&P):
注:vim中的删除操作并未真正的删除,实际上是把删除内容放置在一个缓冲区(vim称之为寄存器),类似于Windows的剪切功能
命令 作用
yy 复制当前行
nyy 复制当前行以下的n行
dd 剪切当前行
ndd 剪切当前行以下n行(包括当前行,例如3dd的执行结果为删除光标所在行及光标下2行,一共删除了三行。)
p、P 将最后一次删除的内容粘贴在光标之后或光标之前(如果粘贴的是以整行为单位,那么p&P将在光标的下一行&上一行开始粘贴)
命令或编辑模式下的保存退出命令:
命令 作用
:w 保存修改
:w new_filename 另存为指定文件(局部内容另存为:命令模式下v进入可视模式,选中局部内容,末行模式w filename另存为)
:wq 保存修改并退出
ZZ 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者及root用户可以执行)
命令模式下替换和取消命令:
命令 作用
r 替换光标所在处字符
nr 将光标指定字符之后的n个字符替换为新字符(例如3r再键入a,就会将光标指定字符及之后的2 个字符全部替换为a)
R 进入替换模式,从光标所在处开始替换字符,按Esc结束(替换模式下按Backspace键可以撤销上一次替换的字符)
u 取消上一次修改
U 撤销对整行的修改
Ctrl+r 可以恢复撤销的内容
命令模式或编辑模式下修改与删除命令:
修改命令:vim用c命令实现修改:c+[数字]+motion
修改命令的用法与删除命令相同,只是把d改为c,二者之间的差别在于修改命令在执行删除操作后会直接在光标所在位置进入插入模式。
c0 删除光标从当前位置(不包含光标指定字符)到该行行首的所有字符,并进入插入模式
c^ 同上
c$ 删除从光标当前位置(包含光标指定字符)到该行行尾的所有字符,并进入插入模式
cb 删除从光标当前位置(不包含光标指定字符)到该单词起始处的所有字符,并进入插入模式
ce 删除从光标当前位置(包含光标指定字符)到单词结尾处的所有字符,并进入插入模式
cw 删除从光标当前位置(包含光标指定字符)到下个单词起始处的所有字符,并进入插入模式
ch 删除光标前面的一个字符,并进入插入模式
cl 删除光标指定的字符,并进入插入模式
cj 删除光标所在行以及下一行的所有字符,并进入插入模式
ck 删除光标所在行以及上一行的所有字符,并进入插入模式

命令 作用
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行(包含光标所在行)
D 删除光标所在处到行尾内容
d0 删除光标从当前位置(不包含光标指定字符)到该行行首的所有字符
d^ 同上
d$ 删除从光标当前位置(包含光标指定字符)到该行行尾的所有字符
db 删除从光标当前位置(不包含光标指定字符)到该单词起始处的所有字符
de 删除从光标当前位置(包含光标指定字符)到单词结尾处的所有字符
dw 删除从光标当前位置(包含光标指定字符)到下个单词起始处的所有字符
dh 删除光标前面的一个字符
dl 删除光标指定的字符
dj 删除光标所在行以及下一行的所有字符
dk 删除光标所在行以及上一行的所有字符
dgg 删除光标所在行到文件开头的所有字符
dG 删除光标所在行到文件末尾的内容
dn+Enter 删除光标所在行到n行的所有字符(n为指定的数字)
:n1,n2d 删除指定范围的行(例如删除3-4行:3,4d)
命令或编辑模式下的定位命令:
命令 作用
在这里插入图片描述
<< 反缩进
% 定位一对括号中的另一个括号(只能定位大,小,中括号)
$ 将光标移至行尾
0 将光标移至行首(此处是数字0)
^ 将光标移至行首
b 将光标定位到光标所在单词的起始处
e 将光标定位到光标所在单词的结尾处
w 将光标定位到下一个单词的起始处(光标所在单词的下一个单词)
:set nu 设置行号
:set nonu 取消行号
gg 将光标定位到第一行
G 将光标定位到最后一行
nG 将光标定位到第n行
:n 将光标定位到第n行
修改命令:vim用c命令实现修改:c [数字] motion
命令或编辑模式下的搜索替换命令:
无法直接搜索的特殊字符:.、*、[、]、^、%、/、?、~、、$ 搜索这些字符时需要在前面加上反斜杠
命令 作用
nohl 解除高亮
/ 进入搜索模式(从光标所在处向后开始搜索)(n匹配下一个字符,N匹配上一个字符)
? 进入搜索模式(从光标所在处向前开始搜索)
/character 搜索指定字符串(/后面接要搜索的字符串)
在这里插入图片描述
vim -o vim -O 同时打开多个文件(ctrl+w+w将光标切换到下一个文件,也可以ctrl+方向键切换到指定方向的文件内)(对于多文件时保存退出操作:在命令后加a即可)
vim编辑器命令大多依循:数字+motion=重复多个motion这个规律。例如: 数字+d+motion=删除多个motion范围

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值