vim使用说明

vim使用说明vim

1、定义编辑器

vivisual interfaceide

vimvisual interface iMprovedspa

 

扩展:it

Emacssedawknanoast

 

2、模式class

1三种模式:awk

    编辑模式(命令模式)扩展

    输入模式sed

    末行模式

二、模式切换

    1vi/vim file:默认进入编辑模式(命令模式)

    2、编辑模式(命令模式)-----> 输入模式

        i:在紧挨光标所在位置的前面输入。

        I:在行首输入

        a:在紧挨光标所在位置的后面输入(光标向后移动1个字符,再输入)

        A:在行尾输入

        o:在光标所在行下面新建输入新行

        O:在光标所在行上方新建输入新行

    3、输入模式------> 编辑模式(命令模式)

    Esc

    4、编辑模式(命令模式)-----> 末行模式

    :

    5、末行模式------> 编辑模式(命令模式)

    Esc


3、打开关闭

1、打开

    vim 

    vim FILENAME:打开文件到编辑模式

    vim +# FILENAME#为行数):打开文件并定位光标到第#

    vim +/PATTERN:打开文件并定位光标到匹配第一个PATTERN的行

2、关闭

末行模式下:

    :wq  保存退出

    :q 退出

    :q!  不保存强制退出

    :x 保存退出

编辑模式(命令模式)下:

    ZZ 保存退出

 

4、编辑模式(命令模式)命令

1、光标跳转(移动)

    h:向左移动一个字符

    j:移动到光标正对下一行的字符

    k:移动到光标正对上一行的字符

    l:向右移动一个字符

等同于小键盘的方向键(h左,j下,k上,l右),能够与数字同时使用。例:#h向左移动#个字符

    w:移动到后一个单词的词首

    e:移动到当前或后一个单词的词尾

    b:移动到当前或前一个单词的词首

w,e,b一样能够与数字同时使用,#w,#e,#b

    ^:移动到行首第一个非空字符

    0:移动到行首

    $:移动到行尾

    #G:移动到第#行第一个非空字符

    1Ggg移动到第一行第一个非空字符

    G:移动到最后一行第一个非空字符

2、编辑命令

    x:删除光标所在位置的字符

    #x:删除光标所在日后的#个字符

    #xp:剪切粘贴

    r #:替换光标所在处字符为#

    d:删除光标所在的行

        d^:删除光标所在至行第一个非空字符

        d$:删除光标所在至行尾

        d0:删除光标所在至行首

        dw:删除光标所在至下一个单词的词首

        de:删除光标所在至当前或下一个单词的词尾

        db:删除光标所在至当前或上一个单词的词首

        dd:删除光标所在整行

注:d命令删除的内容会被vim编辑器保存至缓冲区

    p:粘贴

        1、复制或删除的内容不是一个完整的行

            p小:粘贴至当前光标所在处后面

            P大:粘贴至当前光标所在处前面

        2、复制或删除的内容是完整行(但是多行)

            p小:粘贴至当前光标所在行下方

            P大:粘贴至当前光标所在行上方

    y:复制,与d用法相同

        y^:复制光标前一字符至行第一个非空字符

        y$:复制光标所在至行尾

        y0:复制光标所在至行首

        yw:复制光标所在至下一个单词的词首

        ye:复制光标所在至当前或下一个单词的词尾

        yb:复制光标所在至当前或上一个单词的词首

        yy:复制光标所在整行

    c:修改,删除指定字符,并切换到输入模式

        c^:修改光标以前一个至行第一个非空字符

        c$:修改光标所在至行尾

        c0:修改光标所在至行首

        cw:修改光标所在至下一个单词的词首

        ce:修改光标所在至当前或下一个单词的词尾

        cb:修改光标所在至当前或上一个单词的词首

        cc:修改光标所在整行

    u:撤销上一步操做

    ctrl+r:恢复撤销的操做

    .:重复前一个编辑命令

三、翻屏

    ctrl+f:向后一屏

    ctrl+b:向前一屏

    ctrl+d:向后半屏

    ctrl+u:向前半屏


5、末行模式

1、地址定界匹配

    :start_pos,end_pos

    :#    #

    :#,&  #行到&

    :.  当前行

    :$  最后一行;等同于命令模式下的G

    :%  全文;等同于:1,$

2、查找

    /pattern:向尾部进行

    ?pattern:向首部进行

    n:与命令同方向

    N:与命令反方向

3、替换

    s:在末行模式下,在地址定界的范围内完成查找替换操做

        格式:

        s/要查找的内容/想要替换成的内容/修饰符

            查找内容:可以使用模式匹配

            替换内容:不能使用模式,但可使用后向引用符号,以引用前面模式中的分组括号所匹配到的内容;引用:

                () \1,\2……

                &:引用查找内容匹配到整个内容

            修饰符:

                i:忽略大小写

                g:全局

            分隔符:习惯用 /,查找替换的内容若出现/。能够:

                1、用转义符\。写成:\/

                2、使用其余字符代替分隔符:例如@#等 

四、导入

    :!command    执行系统命令

    :r filename    导入文件;在光标所在位置写入导入文件的内容

    :r!command   将命令结果写入打开的文件光标所在位置

 

6、编辑多文件

同时编辑修改多个文件

    vim FILE1FILE2……

1、切换文件

    :next  下个文件

    :first 第一个文件

    :prev  上一个文件

    :last  最后一个文件

2、退出

    :wqall  所有保存退出

    :q!all  所有强制退出

3、多文件窗口分割

    vim -o|-O FILE1 FILE2……

        -o:水平分割

        -O:垂直分割

4、 单文件分割

    ctrl+w,s水平分割

    ctrl+w,v   垂直分割

操做:ctrl+w,而后按s或v


7、特性定制

1、行号

    :set nu

    :set nonu

2、括号匹配

    :set sm

    :set nosm

3、自动缩进

    :set ai

    :set noai

4、高亮搜索

    :set hlsearch

    :set nohlsearch

5、语法着色

    :syntax on

    :syntax off

6、忽略大小写

    :set ic

    :set noic

使以上特性永久性生效:

    全局:/etc/vimrc

    我的:~/.vimrc