vim基礎知識總結

vim簡介:

 

         vim是從 vi發展出來的一個模式化文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能

特別豐富,在程序員中被廣泛使用。和Emacs並列成爲類Unix系統用戶最喜歡的編輯器。

vim的設計理念是命令的組合,即通過普通命令組合使用完成快捷操作。

 

vim 基本模式:

    編輯模式

    輸入模式

    末行模式:爲內置的命令接口

 

打開文件:

    vim [OPTION]... FILE...

        +#:打開文件後,直接讓光標處於指定行首

       +/PATTERN:打開文件後,直接讓光標處於第一個被PATTERN匹配的行的行首

 

模式轉換:

    1)編輯模式 --> 輸入模式

        i:insert,在光標所在處輸入;

        a:append,在光標所在處後面輸入

        o:在當前光標所在行的下方打開一個新行

        I:在當前行行首輸入

        A:在當前行行尾輸入

        O:在當前行上方打開一個新行

        c:剪貼選擇的內容到剪貼板並且進入輸入模式

        C:剪切從光標位置到行尾到剪貼板並進入輸入模式

    2)輸入模式 --> 編輯模式

        ESC

    3)編輯模式 --> 末行模式

        :

    4)末行模式 --> 編輯模式

        ESC

 

四:關閉文件:

    :q  退出

    :q! 強制退出,丟棄所做修改

    :wq 保存退出

    :x  保存退出

    :w  /PATH/TO/SOMEWHERE

    ZZ: 保存退出

 

光標跳轉:

    1)字符間跳轉:

        h(左), l(右),  k(上), j(下)

 

    2)單詞間跳轉:

        w:跳至當前或下一個單詞的詞首

        e:跳至當前或下一個單詞的詞尾

        b:當前或前一個單詞的詞首

 

        #COMMAND:由#指定一次跳轉的單詞數

 

    3)行首行尾跳轉:

        ^:跳轉至行首的第一個非空白字符

        0:跳轉至行首

        $:跳轉至行尾

 

    4)行間移動:

        #G:跳轉至有#指定的行;

        G:最後一行

        1G,gg:第一行

    5)句間移動:

        )

        (

    6)段落間移動:

        {

        }

         7)翻屏操作:

         Ctrl +f:向下翻一屏(與空格效果一樣)

        Ctrl + b:向上翻一屏

        Ctrl + d:向下翻半屏

        Ctrl + u:向上翻半屏

 

 

六、vim的編輯命令:

    1)字符編輯   

        x:刪除光標處的字符

            #x:刪除光標處起始的#個字符

        X(大寫):往後(行首)刪除

            #X:往後刪#個字符

 

        xp:交換光標所在處的字符及其後字符的位置

 

    2)刪除命令:

        d:刪除命令,可結合光標跳轉字符,實現範圍刪除;

            d$, d^, d0, dw, de, db,

            dd:刪除光標所在行

                #dd:多行刪除

 

    3)粘貼命令:

        p,put,paste

       p(小):緩衝區存的如果爲整行,則粘貼至當前光標所在行的下方;否則粘貼至當前光標的所在位置後面

       P(大):緩衝區存的如果爲整行,則粘貼至當前光標所在行的上方;否則粘貼至當前光標的所在位置前面

       

    4)複製命令(y,yank)

        y:複製,工作行爲相似於d命令:

            y$, y0, y^, ye, yw, yb

                #COMMAND

            yy:複製行

                #yy:複製多行

 

    5)替換命令(r,replace)

        r:替換光標所在處的字符

 

    6)改變命令(c,change)

        c:修改

            編輯模式 --> 輸入模式

            c$, c^, c0

            cb, ce, cw

                #COMMAND

            cc:刪除並輸入新內容

                #cc

 

    7)撤銷及恢復操作

        u(undo):撤銷此前的操作

            #u:撤銷此前的操作

        撤銷此前的撤銷:

            Ctrl+r

        重複前一個編輯操作:

            . (點號)

 

七、可視化模式:

    v:按字符選定

    V:按行選定

 

    注意:經常結合編輯命令: d, c, y

 

 

八、vim中的末行模式:

    (1)地址定界

    :start_pos,end_pos

        #:具體第#行

        #,#:從左側#表示行其實,到右側#表示行結尾

        #,+#:從左側#表示的行起始,加上右側#表示的行數,共選定#+1行

        .:當前行

        $:最後一行

              當前行到倒數第二行:.,$-1

        %:全文,相當於1,$

        /pat1/,/pat2/:

             從第一次被pat1模式匹配到的行開始,一直到第一次pat2模式匹配到的行介紹

              #,/pat/, /pat/,$: 使用方式:後跟一個編輯命令 ,  d, y...             

        w FILE:將範圍內的行另存至指定文件中;

        r FILE:在指定位置插入指定文件中的所有內容

 

    (2)查找

        /PATTERN:從當前光標所在處向文件尾部查找

        ?PATTERN:從當前光標所在處向文件首部查找

          n:與命令同方向;

          N:與命令反方向

 

    (3)查找並替換

        s:在末行模式下完成查找替換操作

        s/要查找內容/替換的內容/修飾符

            要查找的內容:可使用模式

            替換成的內容不能使用模式,但可以使用\1,\2,...等後向引用符號,還可以使用"&"引用前面查找時查找到的內容

            修飾符:

                i:忽略字符大小寫  

                g:全局替換;默認情況下,每一行只替換第一次出現

            查找替換中的分隔符/可替換爲其他字符,例如

                s@@@

                s###

    練習:

   1、複製/etc/grub2.cfg至/tmp/目錄,用查找替換命令刪除/tmp/grub2.cfg文件中的行首的空白字符;

        %s/^[[:space:]]\+//g  或: %s#^\s\+##

 

   2、複製/etc/rc.d/init.d/functions文件至/tmp目錄,用查找替換命令爲/tmp/functions的每行開頭爲空白字符的行的行首添加一個#號;

        :%s/^[[:space:]]/#&/  或:%s@^\s@#&

 

 

九、文件打開視圖模式:

    多文件模式:

    vim FILE1 FILE2 FILE3

    :next 下一個

    :prev 前一個

    :first 第一個

    :last 最後一個

 

    :wall 保存所有

    :qall 退出所有

 

    窗口分隔模式:

    vim -o|-O FILE1 FILE2

    -o:水平分隔

    -O:垂直分隔

    在窗口間切換:Ctrl+w,Arrow

 

    單文件窗口分隔:

    Ctrl+w,s:split,水平分隔

    Ctrl+w,v:vertical 垂直分隔

 

十、定製vim的工作特性:

    配置文件:永久有效

        全局:/etc/vimrc

        個人:~/.vimrc

    末行:當前vim進程有效

 

    1)行號

        顯示:set number,簡寫set nu

        不顯示:set nonumber,簡寫set nonu

    2)括號匹配

        匹配:set showmatch, set sm

        取消:set nosm

    3)自動縮進

        啓用:set ai

        禁用:set noai

    4)高亮搜索

        啓用:set hlsearch

        禁用:set nohlsearch

    5)語法高亮

        syntax on|off

    6)忽略字符的大小寫

        啓用:set ic

        不忽略:set noic

 

、vim自帶練習教程:vimtutor


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章