Linux Vim使用技巧【简】

来源:互联网 发布:淘宝盗图原图制作软件 编辑:程序博客网 时间:2024/04/29 07:15
vim编辑器是vi编辑器的强化版,其功能比vi更大强大,是Linux终端下使用最为频繁地一种编辑工具,也是开源世界中尤其神奇的一个编辑器,号称“编辑器之神”。


vi:全名 Visual Interface;  vim:全名VI  iMproved.  它们都是全屏化、模式化编辑器。

vim有三种使用模式:命令模式、输入模式(编辑模式)、末行模式

    命令模式:使用键盘命令的模式,进行文本内容的编辑。

    输入模式(编辑模式):在文本状态下,进行文本内容的编辑。

    末行模式:在末行状态下,进行文本内容的编辑。

模式转换:

    命令模式——>输入模式:

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

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

        o:在当前光标字符的下方,新建一行,并进入输入模式

        I:当前光标跳转至行首,转换为输入模式

        A:当前光标跳转至行尾,转换为输入模式

        O:在当前光标字符的上方,新建一行,并进入输入模式

    输入模式——>命令模式:

        ESC

    命令模式——>末行模式:

        :

    末行模式——>命令模式:

        ESC,ESC

vim基本操作技巧:

一、打开单个文件
    vim file:  直接打开文件
    vim + file:打开文件并跳至最后一行
    vim +# file:打开文件并跳至第#行
    vim +/PATTERN:打开文件并跳转至第一次被模式PATTERN匹配到的行的行首


二、关闭文件
末行模式下:
     :q  关闭文件但不保存
     :w  保存文件
     :wq 保存并关闭文件
     :x   保存并关闭文件


     :q! 强制关闭文件但不保存
     :wq!  强制保存并关闭文件
     :x!  强制保存并关闭文件

命令模式下:
     ZZ :保存并退出

三、移动光标
1.逐字符移动
    h:左移一个字符
    l:右移一个字符
    j:向下移一行
    k:向上移一行

2.以单词为单位移动
    w:移动到下一个单词的行首
    e:移动到下一个单词的行尾
    b:移动到上一个单词的行首

3.行内跳转
    0:跳转至绝对行首
    ^:跳转至相对行首,即行首的第一个字符所在处
    $:跳转到行尾

4.行间跳转

    命令模式下:
        G:跳转到最后一行
        #G:跳转到第#行

    末行模式下:
        :$ 跳转至最后一行
        :#   跳转到第#行

四、翻屏显示
    Ctrl+f:向下翻一屏  ## f:front
    Ctrl+b:向上翻一屏  ## b:back
    
    Ctrl+d:向下翻半屏  ## d:down
    Ctrl+u:向上翻半屏  ## u:up
    
五、删除
    命令模式:
        删除字符
:
            x:删除光标所在处的字符
            #x:删除光标所在处及之后的#个字符
        
        删除单词:  ##    d:delete
            #dw:删除从当前光标字符开始到#个单词之后的行首处之间的单词
            #de:删除从当前光标字符开始到#个单词之后的行尾处之间的单词
            #db:删除从当前光标字符开始到#个单词之前的行首处之间的单词
        
        删除行
            dd:删除当前光标字符所在行
            #dd:删除当前行在内向后的#行

    末行模式:
        :StartADD,EndADDd
            .: 表示当前行
            $: 最后一行
            +#: 向下的#行
            -#: 向上的#行

六、复制
    复制单词 ##    y:copy
        y:用法同d命令
    
    复制行
        yy:复制当前行
        #yy:复制当前行在内向后的#行
        
七、黏贴
    ##    p/P:paste
        小p:黏贴到当前光标所在处之后,或者下方
        大P:黏贴到当前光标所在处之前,或者上方

        
八、修改

   实质是在要修改的位置先删除,后插入     ## c:change
        c:用法同d命令
        
九、替换
    ##    r/R:replace
    r:用法同d命令,在命令模式下直接替换
    R:进入输入模式,并替换

    
十、撤销命令模式下的操作

    u:撤销上一次的操作
    #u:撤销前#次的操作
    
    Ctrl+r:恢复最近一次撤销操作
    
十一、重复上一次命令模式下的操作
    命令模式下:.
    
十二、可视化模式

    v:按字符选取
    V:按矩形选取

    
十三、查找
    查找:
        末行模式下:
            /PATTERN:顺序查找,从前往后查找
            ?PATTERN:逆序查找,从后往前查找
            n:向后移动到下一个PATTERN处             
            N:向前移动到上一个PATTERN处
    查找并替换:      

           在末行模式下使用s命令

           ADDR1,ADDR2s@PATTERN@string@gi

           1,$

            %:表示全文


十四、同时编辑多个文件
    vim file1 file2 file3
    切换:
        :next 跳转到下一个文件
        :prev 跳转到上一个文件
        :first 跳转到第一个文件
        :last 跳转到最后一个文件
        
    分屏显示:    ##    w:windows     
        Ctrl+w,s 水平显示多个文件    ##    s:Simultaneous 平行的
        Ctrl+w,v 垂直显示多个文件    ##    v:Vertical    垂直的
        Ctrl+w,c 关闭分屏显示        ##    c:Close
        
    分窗口编辑:
        vim -o:水平分割显示
        vim -O:垂直分割显示
        
    另存为:
        :w /path/to/anotherfile
        :StartLine EndLinew /path/to/anotherfile
    
    在当前文件中引入另一文件内容:
        :r /path/to/file
    
十五、与shell交互
    :!COMMAND

十六、显示设置
    显示/隐藏行号:
        :set number    或 :set nu
        :set nonu
    忽略/区分字符大小写:
        :set ignorecase    或    :set ic
        :set noic
    打开/关闭自动缩进:
        :setautoindent    或    :set ai
        :set noai
    打开/关闭查找到的单词高亮显示:
        :set hlsearch
        :set nohlsearch
    打开/关闭语法高亮:
        :syntax on
        :syntax off
    
十七、配置文件
    /etc/vimrc
    ~/.vimrc

    
   

0 0