linux亦步亦趋(16)文件管理之VI命令一

goawalk 2014-07-28

vi或vim是linux下非常强大,使用非常普遍的一个全屏幕文本编辑器,vim是vi的高级版本。

多数的linux操作系统都自带vi编辑器。可见其强大与普遍。

下面我们就来学习一下这个神秘的文本年编辑器,网上有人说它很复杂,让我们pai不急待的开始吧。

提示:vi下没有菜单,只有命令。

首先要讲的是vi的三种模式:

  • 命令行模式【有的管这个叫编辑模式或者最后一行模式】
  • 命令模式
  • 插入模式

其实命令行模式和命令模式的唯一区别就是命令是否可见。命令模式下我们看不到我们输入的命令,命令行模式下我们可以看见我们的命令。

因此有的也将vi分为命令模式和插入模式两个模式。

三种模式的切换方式如下图【非常重要】

 

 
linux亦步亦趋(16)文件管理之VI命令一
 

 

对于上面的图,我们简单的解释一下,

  • 当我们用vi file打开一个文件的时候,默认进入的模式就是命令模式,在这个模式下所敲的键盘上的任何字符都是命令(当然不存在的命令是不会被执行的)
  • 当在命令行模式下敲了 I、i、A、a、O、o 任何一个键,就会进入插入模式。他们的不同意义我们稍后再详解,在插入模式中我们可以编辑我们的文本。
  • 插入模式下按ESC键回到命令模式。(ESC键在我们的linux系统中用的非常的频繁)
  • 命令模式键入冒号,就进入命令行模式,在命令行模式下可以输入好多编辑命令,稍后详解,输入编辑命令后回车即可回到命令模式。
  • 命令行模式下输入“:q!”或者“ :wq”即可退出vi。

下面开始详细学习一下几个重要的知识点。

插入命令: 

  • i    小写的i在光标前插入文本
  • I    大写的i在光标后插入文本
  • a   小写的a在光标后附加文本
  • A   大写的A在行末添加文本
  • o    在光标下插入新行
  • O   在光标上插入新行

插入命令中我们一直没离开光标这个词,那我们怎么移动光标呢,看下面的图我们就知道了。

 
linux亦步亦趋(16)文件管理之VI命令一

注意上面的命令都是在命令模式下才有用。

上述的khjl均属于移动命令,定位命令,具体的总结如下:

定位命令:

  • 向左移动光标
  • j   向下移动光标
  • l   向右移动光标
  • 向上移动光标
  • 光标移动到行尾
  • 光标移动到行首
  • H 移动到屏幕的顶部
  • M 移动到屏幕的中间
  • 移动到屏幕的底端

上面的定位命令都比较简单,或者说移动的范围都是本屏幕内。下面的则更强大。

  • :set nu ,设置显示行号,:set nonu表示不显示行号。
  • gg 到文本的第一行
  • G 到文本的最后一行
  • nG 到第n行
  • :n  到第n行(建议大家使用这个)

删除命令:

vi中的删除命令,除了在插入模式中直接使用退格来操作外,还有大量实用的命令。

  • x 删除当前字符,即光标所在的位置
  • nx 删除光标后面多n个字符。
  • dd 删除光标所在行
  • dG 删除光标所在行到末尾的内容
  • :n1,n2d  删除n1 到 n2的行。

复制黏贴命令:

vi对复制粘贴支持的也非常不错,具体如下:

  • yy、Y 复制当前行
  • nyy、nY 复制当前行下面n行
  • dd 剪切当前行
  • ndd 剪切当前行下面n行
  • p、P粘贴光标所在行下或者行上。

替换命令:

  • 替换光标所在处的命令,按完r后直接输入要替换的命令既可以,直后按esc
  • R 替换光标及以后的字符,esc结束。

撤销命令:

vi中的撤销命令是u(undo),其中vi可以撤掉一次,vim可以撤掉多次。

 

 

相关推荐