vi编辑器命令详解

vi编辑器是linux重要的编辑器,它有着强大而又繁多的命令,本文将尽可能提供vi命令解释。

基本命令:

1.要运行vi,只需在你的sh上键入vivim.当你要对某个文件进行编辑时,键入view [路径][文件名]。若该文件在你的工作路径上,则不必输入路径。例:view/home/boldwin/linux/foo(绝对路径);view./foo(相对路径)

2.vi编辑器分两种工作模式:插入模式命令模式。当你想要对文本进行编辑时,在命令模式下输入i/a进入插入模式,当你想输入命令时,按Ecs键进入命令模式。

3.在命令模式下输入:q!可退出不保存文件,若要保存,在退出前输入:w!

4.如果对vi的命令有些问题,输入:helpinsert获取帮助信息

5.输入U/u相当于撤销

6.输入:setnumber 可为文本添加行号。

7.输入CONTROL+G可显示文本信息。

例:¨ackerman.c¨[readonly] line 1 of 16 --6%-- col 1

8.在命令模式下你也可以用¨h,j,k,l¨键移动光标。

崩溃后的文件恢复:

vim会在操作的交换文件临时存储起来,若系统突然崩溃了,重启后可对这些交换文件进行恢复。在shell下输入vim-r可查看vim保存的所有交换文件,若有输入vim-r [文件名],然后将交换文件用另一个名字写到硬盘上。如:wnonane2

删除文本(d/D)

dl:删除当前字符 d0:从行的开始删除 d^:从行开始的第1个字符删除

dw:删除字的末尾(标点符号和如/.>;<也算一个字)

d3w:删除到第三个字的末尾 db:从字的开始删除 dW:删除到空白分隔字的末尾

dB:从空白分割字的首字符开始删除

d7B:从前面的第7个空白分隔字的首字符开始删除

  1. :删除到句子末尾 d4):删到第4个句子 d}:删除到段落末尾

  2. d{:从段落头开始删 d7{:从第7段开始删 d/test:删到test开始出现

Dd$:删到行末尾 dd:删除当前行 8dd:删除当前行开始8

dL:删到最后一行(包括最后一行) dG:删到文本末尾

tips:若相邻两字符顺序颠倒,将光标放在第一个字符,输入xp,将其交换

若行顺序错误,可将光标放在上一行,输入ddp与下一行交换

若要修改大小写,可用~。例:5~ 将光标所在位置开始的5个字符的大小写

查找字符串(以/***开始):

用正则表达是查找字符串

^ vim将每行的开始字符于搜索字符匹配例:/^test是向下搜索以the开始的行

$ /!$将搜索以!号为结尾的下一行

. 与如何字符匹配,它可以出现在搜索字符串的任意位置

\> 与字结尾匹配例/s\>查找以s结尾的单词

\< 字开始字符,与上面对应

[] 范围查找字符

实例: /and 查找字符串and下一次出现的位置

/^[0-9] 查找以数字为结尾的字

/^[A-Za-z] 查找以大写字母或小写字母为开始的下一行

字符串的替换:

替换命令格式:[g][address]s/searchstring/replacement string[/option]

address前的ggrobal的缩写 ,如果加这个参数,则将在所有行查找字符串。

Adress实例:

5 5行; 77100 77行到100行 ; 1,.从文本到光标所在行

.,$ 从光标所在行到结尾; 1,$ 从文本开始到到结束 ;%1,$

/test/包含test的下一行;g/test/包含test的那一行;

.,.+10 从当前行到下10

实例::s/bigger/biggest 将当前行第1次出现的字符串bigger改为biggest

1,$s/ten/10/g 将所有行的字符串ten替换为10

%s/\<ten\>/10/g 同上

:s/<short\>/¨&¨/ 将当前行的short改为¨short¨

g/chapter/s/ten/10/ 将第一次出现chapter的所有行的字符串ten替换为10

其他命令:

连接J:将光标停在上一段末尾可将下一段连接起来

Yank Put命令:vim 编辑器有26个命名缓存区,它们以26个字母命名

你想复制粘帖一些东西时,将将光标停在你想复制的那一行,输入yy

¨kyy(这样可以将内容指定复制在k命名缓存区),在将光标停在你想粘贴的那一行,输入p/P,将它粘帖在上面。

:e! [filename]可重新打开文件

:e# 将打开上一次的文件





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值