vi编辑器常用命令汇总

1. 进入vi命令

vi filename                打开或新建文件,并置光标于行首
vi + filename               打开文件,并置光标与末行行首
vi +n filename              打开文件,并置光标与第 n 行行首
vi +/w1 filename            打开文件,并置光标于第一个匹配w1处
vi -r filename              上次使用vi时发生崩溃,恢复filename
vi file1 file2 ...          打开多个文件,一次编辑

2. 移动光标

h 或 [←] 或 [Backspace]    光标左移一个字符
l 或 [→] 或 [space]        光标右移一个字符
k 或 [↓] 或 ^p             光标上移一个字符
j 或 [↑] 或 ^n             光标下移一个字符
nh 或 n[←] 或 n[Backspace]  光标左移 n 个字符;l, j, k类似
b 或 B                      光标移至本字字首
e 或 E                      光标移至本字字尾
w 或 W                      光标移至下一个字字首
nb 或 nB                    光标移至前 n 个字字首
ne 或 nE                    光标移至后 n 个字字尾
nw 或 nW                    光标移至后 n 个字字首
-                           光标上移一行
+ 或 [Enter]                光标下移一行
G                           光标移至末行行首
0                           数字 0, 光标移至本行行首 (常用)
$                           光标移至本行行尾
n-                          光标上移 n 行
n+ 或 n[Enter]              光标下移 n 行
nG                          光标移至第 n 行行首 (常用)
n$                          光标移至第 n 行行尾
(                           光标移至句首
)                           光标移至句尾
{                           光标移至段首
}                           光标移至段尾
H                           光标移至屏幕首行
M                           光标移至屏幕中间行
L                           光标移至屏幕末行
^f                          屏幕上翻一屏(常用)
^b                          屏幕下翻一屏(常用)
^d                          屏幕上翻半屏
^u                          屏幕下翻半屏

3. 删除、复制与粘贴

X                           向前删除一个字符(常用)
x 或 [del]                  向后删除一个字符,
nX                          向前删除 n 个字符
nx                          删除光标处及其后 n-1个字符
ndw 或 ndW                  删除光标处及其后 n-1个字
do                          删至行首
d$                          删至行尾
dd                          删除本行(常用)
ndd                         删除本行及下 n-1 行(常用)
d1G                         删除光标前字符  (小心)
dG                          删除光标后字符  (小心)
^u                          删除输入方式下所输入的文本
yy                          复制本行(常用)
nyy                         复制本行及下 n-1 行(常用)
y1G                         复制光标前字符
yG                          复制光标后字符
p                           在下一行粘贴
P                           在上一行粘贴(常用)
:n1,n2 co n3                将 n1 行到 n2 行内容拷贝到第 n3 行下
:n1,n2 m n3                 将 n1 行到 n2 行内容移到第 n3 行下
:n1,n2 d                    删除 n1 行到 n2 行内容

4. 查找与替换

/word                       在光标后查找串 word (常用)
?word                       在光标前查找串 word (常用)
n                           在同一方向重复上次查找
N                           在反方向重复上次查找
:s/w1/s2/g                  将本行中的所有 w1 用 w2 替换
:n1,n2s/w1/w2/g             在第 n1 与 n2 行间的 w1 用 w2 替换!(常用)
:1,$s/w1/wd2/g              在首行与末行间的 w1 用 w2 替换 !(常用)
:g/w1/s//w2/g               同上
:1,$s/w1/w2/gc              同上!并且提示是否取代!(常用)

5. 进入编辑模式

i                           光标前
I                           本行行首
a                           光标后
A                           本行行尾(常用)
o                           当前行下插入一行
O                           当前行上插入一行(常用)
r                           替换当前字符
R                           替换当前字符及其后字符,直至按 ESC 退出
s                           删除当前字符,并开始输入文本
S                           删除本行,并开始输入文本
ncw 或 ncW                  删除 n 个字,并开始输入文本
nCC                         删除 n 行,并开始输入文本
Esc                         退出编辑模式,回到一般模式中(常用)

6. 指令命令模式

:w                          保存当前文件(常用)
:w!                         强制保存当前文件
:q                          退出 vi (常用)
:q!                         不保存退出 vi,
:wq                         保存后退出
:x                          同上       
                        
:wq!                        强制保存后离开(常用)
:!command                   执行shell命令command
:r!command                  将命令command输出放到当前行
:e!                         将档案还原到最原始的状态!
:w filename                 将文件另存为 filename 文件
:n1,n2 w [filename]         将 n1 与 n2 间内容另存为 filename 文件
:r filename                 在当前行下一行读入 filename 文件内容
:set nu                     显示行号
:set nonu                   取消行号

:set hls                    高亮

:set ignorecase             忽略大
  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

螃蟹是谁呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值