vi编辑器

jopen 10年前

                                                                     vi编辑器

一、简介

         vi是标准的Linux文本编辑程序

         vi不是基于窗口的,所以,这个多用途编辑程序可以用于在任何类型的终端上编辑各式各样的文件

二、vi细节

         1、创建一个文件

         vi filename

   如果 filename已经存在,vi会打开现存文件

    如果是一个新文件,vi会创建它

         屏幕的最后一行被称为状态行,用于显示文件名及文件中行和字符的个数

         2、vi三种模式

20141023135047671.png

(1)输入模式:

         vi被运行时,通常处在命令模式下,键入以下命令,可以使vi退出命令模式,进入输入模式:

                   I                 I

                   A                a

                   O                o

(2)命令模式

         在该模式中,可以输入命令来执行许多种功能大多数的vi命令都是由一个或两个字母加上一个可选数字组成

         以冒号开头的命令 :w   :wq   :x   :q!

(3)保存及退出vi

         保存

      :w后面接回车键

         保存并退出

     输入:wq后面接回车键

         退出但不保存

     输入:q后面接回车键

        使用q!强行退出

(4)在文件中移动光标

         向左移动一个字符:按h

         向右移动一个字符:按l

         向下移动一行:按j

         向上移动一行:按k

         移动到当前行的开头处:按 ^ (即Shift-6)

         移动到当前行的结尾处:按 $ (即Shift-4)

         移动到顶部:按H(大写)使光标移动到屏幕的顶部

         移动到中部:按M(大写)使光标移动到屏幕的中间

         移动到底部:按L(大写)使光标移动到屏幕的底部

         移动到尾部:按G(大写)使光标移动到文本的尾部

         向前翻页一屏:page up

         向后滚动半屏:page up

         光标上下左右移动:分别是上、下、左、右键

(5)插入文本

         添加:

   输入a后,在光标的右边插入文本

   输入A,在一行的结尾处添加文本

         插入:

   通过在命令模式下输入i,在光标的左边插入文本

   通过在命令模式下输入I,在行首插入文本

         插入新行:

   输入o,在当前光标位置下面打开一行

   输入O,在当前光标位置上面打开一行

(6)撤销更改

         撤消前一个命令:

   在最后一个命令之后立即输入u来撤消该命令

         重复某个命令 .

         撤消对一行的更改:

   输入U来撤消你对一行所做的所有更改

   这个命令只有在你没将光标移动到该行以外时才生效

(7)删除文本

         删除一个字符:

      为删除一个字符

      将光标放置到该行的任意处并输入dd

         删除多行:  ndd

(8)复制和移动文本

         复制一行命令:yy

         粘贴命令:p

         移动文本:先将要移动的部分用删除命令删除,然后再粘贴就可以了

         复制指定文件的内容
         : r filename

(9)查找一个字符串

                   输入/,并在/后面输入要查找的串,然后按下回车

•         输入“n”跳转到该串的下一个出现处

•         输入“N”跳转到该串的上一个出现处

(10)替换一个字符串

         在一行内替换头一个字符串old为新的字符串new

•          :s/old/new

         在一行内替换所有的字符串old为新的字符串new

•          :s/old/new/g

         在两行内替换所有的字符串old为新的字符串new

•         :#,#s/old/new/g

         在文件内替换所有的字符串old为新的字符串new

•         :%s/old/new/g

         进行全文替换时询问用户确认每个替换需添加c选项

•         :%s/old/new/gc

3、设置vi

         显示行号
                   :set nu

         取消行号显示
                   :set nonu

         设置显示用户模式
                   :set showmode

         设置文件只读
                   :set readonly