vi编辑器

Posted joanna123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vi编辑器相关的知识,希望对你有一定的参考价值。

vi3种模式

1.命令模式:直接vi filename刚进入的模式就是命令模式

2.底行模式:在命令模式按esc输入 : / ? 到达的模式就是底行模式.在底行模式按回车键回到命令模式

3.编辑模式:在命令模式按i a o任意一个进入的模式是编辑模式,在编辑模式按esc退回到命令模式

vi filename:新建文件打开或打开已有文件,光标停在首行

vi +n filename :打开文件 ,光标停留在第n行

vi -r filename:在上次使用vi编辑文件时发生系统崩溃,恢复文件

 底行模式命令

:w:保存当前编辑内容
:wq:保存并退出vi编辑器
:q: 退出vi编辑器,如果文件已经更改未保存,则无法退出
:q!:强制退出不保存
:w!:强制保存
:w filename :文件另存为一个新文件
:w >>filename:把文件追加到另外一个文件

:1,$s/旧串/新串/g :底行模式 1开始位置 第一行,后面没有值表示全局

   $s表示开始替换 /旧串表示替换前的值 /新串 表示替换后的值 g结束

    :set nu 显示行号。 底行模式的命令。

    :set nonu 不显示行号。 底行模式的命令。

     :1,2co3 拷贝1,2行在3行之后 底行模式的命令。

    :4,5m6 移动行4行5在行6之后。 底行模式的命令。

    :20 光标停留再第20行。 底行模式的命令。

 

 命令模式

a:在当前的右侧插入数据
dd:删除一行数据
dw:删除一个单词

 5dd删除当前和下面的加起来5行

   D:从光标处删除到行尾

   ndw:删除n个字符

1,100d:从第一行删除到第100行,底行命令模式
x:光标处删除一直到按下esc键。

r:替换一个字符
yy:复制一行
p:粘贴 

 i :在光标处插入内容

 I :在当前行首

   a:在光标后插入内容

   A:在当前行尾

   o:在当前行之下插入内容

   O:在当前行之上新开一行

   r:替换当前字符

   R:替换当前字符及其后的字符,直至按ESC键

   s:从当前光标位置处开始,以输入的文本替代指定数目的字符 例:5s

   S:替换光标所在的行

   c:清除一个字符

   cw:清除一个单词 

    J:把当前行和下一行连起来

    u:撤销上一步操作

 查找内容


底行模式下输入 /内容,按回车键

/pattern 从当行往下查找匹配字符 底行模式的命令

   ?pattern 从当前往上查找匹配字符 底行模式的命令


非底行模式命令 输入k在当前行向上查找行号 输入回车在当前行向下查找行号 输入n在当前行向上或者向下查找对应值
输入G直接查找到文件最后一个匹配到的地方

 

 

 

以上是关于vi编辑器的主要内容,如果未能解决你的问题,请参考以下文章

Notepad++编辑器——Verilog代码片段直接编译

04 vi/vim文本编辑器

linux 的vi编辑器为啥没有高亮显示?

青蛙学Linux—文本编辑器Vi/Vim

使用vi编辑器轻松(取消)注释源代码

一看就懂的Linux系统vi(vim)编辑器命令使用教程