vim:全屏、模式化编辑器


vim模式:

    编辑模式(命令模式)

    输入模式

    末行模式


模式转换:

    编辑——>输入

        i:在当前光标定位的字符前面,转为输入模式

        a:在当前光标定位的字符后面,转为输入模式

        o:在当前光标所在行的下面新建一行,转为输入模式

        

        I:在当前光标定位的行首,转为输入模式

        A:在当前光标定位的行尾,转为输入模式

        O:在当前光标所在行的上面新建一行,转为输入模式

        

    输入——>编辑:

        ESC

    编辑——>末行:

        :


    末行——>编辑:

        ESC


vim命令使用:

    1、打开文件:

        vim +12 file                 ——>直接打开定位到文件的第12行

        vim + file                     ——>直接打开定位到文件的尾部

        vim +/PATTERN file    ——>打开文件,定位到第一次被PATTERN匹配到的行的行首

    

    2、关闭文件:

        w:保存

        q:退出

        wq:保存并退出

        q!:不保存退出

        w!:强行保存

        :wq ——> :x

        编辑模式下关闭文件

        ZZ:保存并推出 ——> shift+z,

    

    3、移动光标(编辑模式):

        逐字符移动:

            h:向左

            l:向右

            j:向下

            k:向上

            #h:移动#个字符...

            ...

    

        以单词移动:

            w:跳到下一个单词的词首

            e:跳到当前或下一个单词的词尾

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

            #w:跳到下#个单词的词首

            ...

    

        行内跳转:

            0:跳到绝对行首

            ^:跳到行首的第一个非空白字符

            $:绝对行尾

    

        行间跳转:

            #G:跳到第#行

            G:跳转到最后一行

            末行模式下,直接给出行号即可

    

    4、翻屏跳转:

        Ctrl+f:向下翻一屏

        Ctrl+b:向上翻一屏

        Ctrl+d:向下翻半屏

        Ctrl+u:向上翻半屏

    

    5、删除单个字符

        x:删除光标所在处的单个字符

        #x:删除光标所在处及向后的共#个字符

    

    6、删除命令

        d:该命令需跟跳转命令组合使用

            example:d$

        #d跳转符:删除#个跳转符

        dd:删除当前光标所在行

        #dd:删除包括当前光标所在行的#行

    

        末行模式下:

            .:表示当前行

            $:表示最后一行

            +#:表示向下#行

            $-1:表示倒数第二行

            example:.,$-1s/he/HE/g——>从当前行到倒数第二行将he全局替换为HE

    

    7、粘贴命令

        p:如果删除或复制为整行内容,则粘贴到光标所在行的下方;如果复制或删除的内容为非整行,则粘贴到光标所在字符的后面

        P:如果删除或复制为整行内容,则粘贴到光标所在行的上方;如果复制或删除的内容为非整行,则粘贴到光标所在字符的前面

    

    8、复制命令

        y用法同d命令

    

    9、修改:先删除内容,再转换为输入模式

        c:用法同d命令

    

    10、替换:

        r:常用于替换单个字符(光标定位rx)

        R:替换模式

    

    11、撤销编辑:

        u:撤销前一次编辑操作

        #u:直接撤销最近#次操作

        Ctrl+r:撤销最近一次撤销操作

    

    12、重复前一次编辑操作

        .

    

    13、可视化模式(选取文本)

        v:按字符选取

        V:按矩形选取

    

    14、查找

        /PATTERN

        ?PATTERN

        n:查找下一个

        N:查找上一个

    

    15、查找并替换

        在末行模式下使用s命令

        :ADDR1,ADDR2s/PATTERN/string/gi

        1,$

        %:表示全文

        %s:全文搜索

    

    16、编辑多个文件

        vim file1 file2 ...

        :next:切换后一个文件

        :prev:切换前一个文件

        :last:切换到最后一个文件

        :first:切换到第一个文件

        :qa:全部退出

    

    17、分屏显示

        Ctrl+w,s:水平拆分窗口

        Ctrl+w,s,上下箭头:切换窗口

        Ctrl+w,v:垂直拆分窗口

        Ctrl+w,s,左右箭头:切换窗口

        :qa:关闭所有窗口

    

    18、分窗口编辑多个文件

        vim -o:水平分割编辑

        vim -O:垂直分割编辑

    

    19、将当前文件中的部分内容另存为另一个文件

        末行模式下使用w命令

        :w 路径

        :ADDR1,ADD2w /home

    

    20、将另一个文件中的内容填充在当前文件中

        :r /home/file

    

    21、跟shell交互

        :! COMMAND

    

    22、高级话题

        显示或取消显示行号

        :set nu

        :set nonu

    

        忽略或区分字符大小写

        :set ignorecase

        :set ic

        :set noic

        :set noignorecase

    

        设定自动缩进

        :set autoindent

        :set ai

        :set noai

    

        查找到的文本高亮显示或取消

        :set hlsearch

        :set nohlsearch

        

        语法高亮

        :syntax on

        :syntax off

    

    23、配置文件

        /etc/vimrc

        ~/.vimrc