Linux下VI命令及三种模式切换

命令模式:用vi命令默认进入的模式,可以执行命令。

输入模式:就像在windows上编辑txt的内容样,可以输入你想要的内容。

底线命令模式:可以执行一些末行指令,例如保存文件、复制第几行到第几行到新的文件等等。

记住最常用的命令

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

 

1、命令模式 >< 输入模式
一般我们都是这样操作的:
[guest@www.masswerk.at:2]$ ls                                                   
-p         istest.ini                                                           
[guest@www.masswerk.at:2]$ vi istest.ini  
(1)何为命令模式?
  其实当你使用vi test.ini时就已经进入了命令模式,当你在键盘上敲下i,并不会在光标位置输入i,而是执行i指令,进入了输入模式。
  在命令模式下,除了可以键入常用的i,还可以键入下面的指令,例如:a、A、i、I、o、O、d、D、x等等,当然,还包括冒号(:)冒号就进入了底
a 在当前光标位置之后插入内容。
A 在光标所在行的末尾(行尾)插入内容。
i 在当前光标位置之前插入内容。
I 在光标所在行的开头(行首)插入内容。
o 在光标所在行的后面插入一个新行。
O 在光标所在行的前面插入一个新行。
dd  删除光标所在行,并且后面的数据填充所删的行;
D  删除光标所在行,但是保留该删除的空白行;
x  删除当前光标所在字符
yy  复制光标所在行
p  在光标的下一行粘贴复制的行,一般在yy操作后使用
u  撤销上一个操作
 备注:以上表格中的命令都经过实际试验。
 (2)命令模式 -> 输入模式
  当前在命令模式,使用a、A、i、I、o、O即可进入输入模式。
  a——append 属于追加,在后面追加内容;
  i——insert 属于插入,在前面插入内容;
  o——other 属于另起一行的意思;
  备注:怎么看你现在是不是在输入模式呢?处于输入模式时,最后一行会显示一个INSERT,就像截图:
(3)输入模式 -> 命令模式
  输入模式中把内容输好了,要退出输入模式,按ESC键即可回到命令模式。
 
2、命令模式 >< 底线命令模式
  命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
(1)命令模式 -> 底线命令模式
  在命令模式下,输入:就进入了底线命令模式,就可以输入末行命令啦,例如常见的wq就是属于末行命令。
:w 保存文件
:q 退出编辑器
:wq 保存文件并退出编辑器
:q! 不保存并退出编辑器
:wq test.ini 保存文件并退出编辑器,文件名为test.ini
:wq /home/guest/test.ini 保存文件并退出编辑器,文件路径为/home/guest,文件名为test.ini

常用的其他末行命令:

:set nu 或 :set number

:set nonu

显示行号

取消显示行号

:1,20d 一次删除1到20行

/查找内容

?查找内容

从光标所在行向下查找

从光标所在行向上查找

n 下一个; N 上一个

:1,10s/old/new/g 替换所有1到10行的old为new
(2)底线命令模式 -> 命令模式
  要退出底线命令模式,按ESC键即可回到命令模式。
 
 注意:
底线命令模式和输入模式不能直接切换,必须先按ESC键回到命令模式才行。
 

posted @ 2020-12-04 15:34  youreyebows  阅读(3495)  评论(0编辑  收藏  举报