vi 文本编辑器操作命令

vi是unix/linux操作系统中最经典的文本编辑器,只能是编辑字符,不能对字体、段落进行排版;

1. 工作模式

vi有3种工作模式,对其的起名也五花八门,重在理解

命令描述
命令模式(command mode)移动光标,删除、复制字符等
编辑模式(input mode)修改文本内容
末行模式 (last line mode)进行查找等相关操作,在末尾输入相关命令

vi file,进入命令模式,file存在则打开,不存在则创建
命令模式下,按任意键 [i, I, o, O, a, A] 进入编辑模式
命令模式下,按任意键 [: / ?] 进入末行模式
编辑模式下,Esc切换到命令模式
模型模式下,Esc切换到命令模式

命令描述
i在光标位置之前插入字符
I在光标所在行的行首插入字符
o在光标位置下面创建一行
O在光标位置上面创建一行
a在光标位置之后插入字符
A在光标所在行的行尾插入字符

2. 文件的打开和保存

命令描述
vi file打开文件,进入命令模式
vi -R file只读的形式打开文件,不能编辑文件
view file只读的形式打开文件,不能编辑文件
:w保存文件,不退出,相当于ctrl+s
:q退出文件,不保存
:q!强制退出文件,不保存
:wq保存文件,并退出
ZZ相当于wq,使用起来更加方便

3. 光标移动与滚屏

光标移动

命令描述
k 或 上方向键向上移动一行
j 或 下方向键向下移动一行
h 或 左方向键向左移动一个字符
l 或 右方向键向右移动一个字符
0 或 Home本行开始位置
$ 或 End本行末尾
gg文本开始位置
G文本末尾
数字 + Enter光标位置向下移动的行数
数字 + G跳转到数字所在的行数
:n+Enter跳转到n行

滚屏

命令描述
ctrl + u向上滚动半屏
ctrl + d向下滚动半屏
ctrl + b向上滚动全屏
ctrl + f向下滚动全屏
ctrl + y向上滚动一行
ctrl + e向下滚动一行

4. 删除

命令描述
dd删除光标所在的行
ndd向下删除n行,从光标所在位置行开始计算(1dd == dd)
dw删除光标所在位置到字符串结尾处的内容(包含光标)
d^删除光标所在位置到到行首的位置(不包含光标)
D 或 d$删除光标所在位置到到行尾的位置(包含光标)
dG删除光标所在行,到文本尾的内容
x删除光标所在位置的字符
nx删除光标所在位置的字符,执行n次,n是数字,例如3x
X删除光标位置前一个字符
nX删除光标位置前一个字符,执行n次,n是数字,例如3X

5. 修改

命令描述
cc删除光标所在的行,并进入编辑模式
cw删除光标所在位置到字符串结尾处的内容(包含光标),并进入编辑模式
r替换光标所在的字符,1个字符
R开始替换光标所在的字符,直到按Esc结束
s删除当前字符,并进入编辑模式
S删除光标所在行,并进入编辑模式

6. 复制粘贴

命令描述
yy复制当前行
nyy向下复制n行
yw复制一个字符串,从光标所在的位置开始,到当前字符串的结尾
p从当前光标之后,插入粘贴的内容
P从当前光标之前,插入粘贴的内容

7. 查找替换

命令描述
/向下查找,输入查找的内容之后,按enter ,再按N(向前)或者n(向后)
向上查找,输入查找的内容之后,按enter ,再按N(向后)或者n(向前)
:n1,n2s/test1/test2/g在第 n1 行和 n2 行之间寻找 test1 这个字符串,并且将其替换为 test2
:1,$s/test1/test2/g从第一行到最后一行寻找test1 这个字符串,并且将其替换为test2
:1,$s/test/test/gc从第一行到最后一行寻找test1 这个字符串,并且将其替换为test2,并提示用户是否需要进行确认

8. 辅助操作

命令描述
:set nu 或 :set number设置行号
u撤销上次从操作
ctrl + r恢复撤销的内容
ggdG删除整个文本的内容(组合命令)
J将光标所在的行和下一行连接在一起

多练习,用多了就习惯了,其它命令后续逐步补充

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值