【Vim基础】Vi基本使用

Vi的基本模式

Vi编辑器具有三种工作模式,分别 是命令行模式(command mode)、插入模式(insert mode)和底行模式(last mode)。

1、命令行模式

  • 在命令行模式(command mode)下用户可以输入命令来控制屏幕光标的移动,删除字符、单词或行,移动复制某区段,也可以进入到底行模式或者插入模式。

2、插入模式

  • 用户 只有在插入模式(insert mode)下才可以进行字符输入,用户按[Esc]键可回到命令行模式下。

3、底行模式

  • 在底行模式(last mode)下,用户可以将文件保存或退出vi,也可以设置编辑环境,如查找字符串、显示行号等。这一模式下的命令都是以“ :”开始。

Vi的基本操作

命令行模式、底行模式转为插入模式

特征指令作用
新增a从光标所在的位置后面开始新增资料,光标后的资料随新增资料向后移动
A从光标所在列最后面的地方 开始新增资料
插入i从光标所在的位置前面开始插入资料,光标后的资料随新增资料向后移动
I从光标所在列的第一个非空白字符前面开始新增资料
开始o在光标所在列下方新增一列,并进入插入模式
O在光标所在列上方新增一列,并进入插入模式

vi的删除/剪切、修改与复制指令

特征指令作用
剪切nx剪切从光标所在的字符开始的n个字符
ncb剪切光标所在的前n个单词
ncw剪切光标所在的后n个单词
c$剪切自光标所在的字符到行尾的所有字符
ndd剪切自光标所在的行开始 n行,若到文章结尾不够n行,则剪切到最后一行
s删除光标所在的字符,并进入输入模式
S删除光标所在的行,并进入输入模式
修改r待修改字符修改光标所在的字符,键入r 后直接键入待修改字符
R进入取代状态,可移动光标键入所指位置的修改字符,该取代状态直到按 [ Esc ]键才结束
复制nyb复制光标所在的前n个单词
nyw复制光标所在的后n个单词
y$复制从光标所在的字符到行尾的所有字符
nyy复制光标自所在的行开始,向下的n行
p将缓冲区内的字符粘贴到光标所在位置
u取消上一次的文本编辑操作

vi中光标移动的指令

指令作用指令作用
0移动到光标所在行的最前面h光标向前移动一个字符
$移动到光标所在行的最后面l光标向后移动一格字符
Ctrl + d光标向下移动半页k光标向上移动一行
Ctrl + f光标向下移动一页j光标向下移动一行
H光标移动到当前屏幕的第一行第一列e移动到下一个字的最后一个字母
gg光标移动到当前屏幕的第一行第一列^移动到光标所在行的第一个非空白字符
M光标移动到当前屏幕的中间行第一列n-向上移动 n 行
L光标移动到当前屏幕的最后行第一列n+向下移动 n 行
b移动到上一个字的第一个字母nG移动到第 n 行
w移动到下一个字的第一个字母:n光标移动到第 n 行

vi的查找与替换指令

特征指令作用
查找/<要查找的字符>向下查找要查找的字符
?<要查找的字符>向上查找要查找的字符
替换:rang s/string1/string2/gcrange :要替换的范围
s :转入替换模
string1 :这是要查找的一个正则表达式
string2 :这是希望把匹配串变成的模式的正则表达式
g :可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换换行中第一个匹配串
c :可选标志,表示替换前询问
关于替换范围,有很多种写法,其中
  1. 百分号(%)表示行;
  2. 点(.)表示当前行;
  3. 美元符号($)表示末行

在进行剪切复制和黏贴操作时,也可以带上范围,即按快操作。

range y 块复制。

举例如下:

  • :10,20y 表示复制第10行到第20行
  • :.,$y 表示复制当前行到文章最后一行

range d 块删除。

举例如下:

  • :10,20d 表示删除第10行到第20行
  • :.,$d 表示删除当前行到文章最后一行

vi的文件操作指令

指令作用指令作用
:q结束编辑:wq保存文档并退出
:q!不保存编辑过的文档:zz功能与“:wq”相同
:w保存文档,其后可加要保存的文件名:x功能与“:wq”相同
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

攻城狮晨哲

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

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

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

打赏作者

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

抵扣说明:

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

余额充值