vim使用方法

vim是vi的增強版本,具有比vimi更加強大的功能,對于尤其適合編寫腳本,下面總結一下vim的常用方法。

vim三種工作模式。

        1. 編輯模式:

            以vim打開文件就直接進入此模式,可以在此模式中刪除、復制、粘貼等操作。

            vim使用方法

            vim使用方法

                如上圖所示,使用vim打開/etc/inittab文件,直接進入編輯模式。

        2. 輸入模式:

            在此模式下進行文件內容的輸入和編輯。

            vim使用方法

                看到“INSERT”即進入了輸入模式

        3. 末行模式:

            可以提供查找數據、替換字符、設置vim環境、保存文件等功能。

            vim使用方法

                看到“:”即進入了末行模式。

打開文件:    

    vim [option]…[FILE]   

        當指定的文件存在則打開文件,如果不存在則可以保存為新的文件。

    編輯模式 –> 輸入模式

        當使用vim打開文件時默認進入的是編輯模式,如果想要切換到輸入模式,可以使用以上方法

            i:在光標所在處切換為輸入模式。

            I:光標移至行首切換為輸入模式。

            a:在光標所在處的后方切換為輸入模式。

            A:光標移至行尾切換為輸入模式。

            o:在光標所在處的下方新建一個空行并切換為輸入模式。

            O:在光標所在處的上方新建一個空行并切換為輸入模式。

    輸入模式 –> 編輯模式

        按 ESC 鍵即可由輸入模式回到編輯模式

    編輯模式 –> 末行模式

        直接輸入“:”即可進入末行模式

    末行模式 –> 編輯模式

        按 ESC 鍵可以回到編輯模式

    注:從輸入模式不能直接進入末行模式,必須經由編輯模式方可切換,輸入模式 –> 編輯模式 –> 末行模式 

    vim +# file:打開文件時光標直接處于第#行行首。

              

 退出文件:

     末行模式下

        不保存強制退出

            vim使用方法

        保存退出

            兩種方法效果相同

            vim使用方法

            vim使用方法

        強制保存

            vim使用方法

        強制保存退出

            vim使用方法

    編輯模式下

            輸入ZZ也可以保存退出。

編輯模式

    光標移動

        字符間移動

            h或左箭頭:光標向左移動一個字符

            j或下箭頭:光標向下移動一個字符

            k或上箭頭:光標向上移動一個字符    

            l或右箭頭:光標向右移動一個字符

            一次移動多個字符    #{h|j|k|l}

                eg:輸出3j即可向下移動3行

        單詞間跳轉:

            w:光標移至下一個單詞的詞首

            b:光標移至當前單詞或前一個單詞的詞首

            e:光標移至當前單詞或下一個單詞的詞尾

            一次移動多個單詞    #{w|b|e}

        行內移動:

            ^:光標移至行首(第一個非空字符)

            0:光標移至行首(絕對行首)

            $:光標移至行尾(絕對行尾)

        句子間移動:

            ):下一句的句首

            (:上一句的句首

        段落間移動:

            }:下一段

            {:上一段

        行間移動:

            G:最后一行

            #G:直接跳轉至第#行

            gg:直接跳轉至首行

            #[Enter]:光標向下移動#行

        翻屏操作:

            Ctrl+f:向文件尾部翻一屏

            Ctrl+b:向文件首部翻一屏

            Ctrl+d:向文件尾部翻半屏

            Ctrl+u:向文件乎部翻半屏

    編輯命令

        刪除操作:

            x:刪除光標所在處的字符(相當于[Del]鍵)

            X:刪除光標前面的一個字符(相當于[Backspace]鍵)

            #x:刪除后面的#個字符

            d:刪除命令

                結合光標跳轉字符使用,刪除跳轉范圍內的字符

                    #d+光標跳轉符(w,b,e,$,0,^)

            dd:刪除光標所在行

            dG:刪除從光標所在到最后一行的所有數據

            d1G:刪除光標所在到第一行的所有數據

            D:刪除從光標所在處至行尾的內容,與d$相同

            注意:最后一次刪除的內容會被保存到緩沖區

        復制操作:

            y:復制命令

                結合光標跳轉字符使用,復制跳轉范圍內的字符

                    #y+光標跳轉符(w,b,e,$,0,^)

            yy:復制光標所在的那一行

            #yy:復制光標所在的向下n行

            y1G:復制光標所在行到第一行的所有數據

            yG:復制光標所在行到最后一行的所有數據

            Y:復制光標所在處至行尾的內容,與y$相同        

        粘貼操作        

            粘貼的位置取決于最后一次刪除、復制操作的內容,如果刪除或復制的操作為行則:

                p:粘貼至光標所在行的下方

                P:粘貼至光標所在行的上方

            如果刪除或復制操作為字符或單詞則:

                p:粘貼于當前光標所在處后方

                P:粘貼于當前光標所在處前方

        修改操作

            修改操作可以在進行刪除操作后直接切換為輸入模式

            c:刪除命令

                結合光標跳轉字符使用,刪除跳轉范圍內的字符

                    #c+光標跳轉符(w,b,e,$,0,^)

            cc:刪除光標所在行并切換至輸入模式

            cG:刪除從光標所在到最后一行的所有數據并切換至輸入模式

            c1G:刪除光標所在到第一行的所有數據并切換至輸入模式

            C:刪除從光標所在處至行尾的內容并切換到輸入模式,與c$相同

        撤消編輯

            u:撤消最近一次的操作

            #u:撤消最近的#次操作,最多可撤消50次的內容

        撤消此前的撤消操作

            Ctrl+r

        重復前一條命令

            .

    查找與替換

        /pattern:向下查找與pattern匹配的字符串

        ?pattern:向上查找與pattern匹配的字符串

            n:重復前一個查找的操作。如果使用/進行查找,則n表示向下查找,如果使用?進行查找,則n表示向上查找

            N:與n相反,表示與前一個查找進行反向操作

末行模式

    行間跳轉

        :#[Enter]:光標直接跳轉至第#行

            $:可跳轉至最后一行

    內容定界

        指定起始位置和結束位置來定義內容的范圍

            eg: :20 +3 表示從20行開始的4行

            #:第#行

            .:當前行

            $:最后一行

            %:全文,相當于1,$

                :10,$-1    表示從第10行到倒數第2行

            c,d,y等命令可直接附加在指定的范圍后使用

                :10,$-1 d:表示刪除從第10行到倒數第2行的內容

            w:將指定范圍的內容另存至其它文件

                :.$w /root/test:將從當前行至最后一行的內容另存為/root/test

                如不指定范圍,直接使用w命令,則可將整個文件另存為一個新的文件

            r:在指定位置讀入其它文件的內容

                :.r /root/test:在當前位置讀入/root/test文件內容

        查找與替換

            s/查找模式/要替換成的內容/gic

                查找模式:可以使用正則表達式

                要替換成的內容:不能使用模式,僅能使用引用

                    引用模式匹配到的所有內容可以使用&符號來替代\1等字符

                g:global,全行替換

                    如果不使用g,查找的字符所在行中存在不止一個匹配項時,只替換第一個

                i:不區分字符大小寫

                    :%s/\<file\>/FILE/gi:只替換file單詞,忽略包含在單詞中的file字符,且不區分大小寫

                c:替換前提示用戶確認是否替換,常與g同時使用

    

可視化模式:

    用于選取整塊范圍的模式

    在編輯模式下輸入以下命令:

        v:光標走過的字符都被選中

        V:光標走過的行都被選中

        Ctrl+v:以長方形的方式進行選擇

            vim使用方法

            以上圖為例,將光標移到Default的詞首,按下Ctrl+v鍵,可以看到模式切換為塊選擇,此時選中Default單詞并向下移動光標,與Default字符相對齊的字符都被選中。

        y:將選中的數據復制

        d:將選中的數據刪除

多文件模式

    可以同時打開多個文件,并在各個文件中進行切換

    vim file1,file2……

    :file:列出目前這個vim打開的所有文件

    :n:下一個文件

    :N:上一個文件

    :next:與:n相同

    :previous:與:N相同

    :last:最后一個文件

    :first:第一個文件

    :wqa:保存并退出所有文件

    :wqall:與:wqa相同

多窗口模式

    多文件操作

        vim [option] file1,file2 ……

              [option]:

                    -o:水平分割多個文件

                    -O:垂直分割多個文件

            在已打開的文件中再次的打開一個文件并且以水平分割的方式放置: :sp [filename]

                vim使用方法

                文件默認以水平分割的方式打開

                vim使用方法

            在多個窗口中進行切換:    Ctrl+w,方向鍵

            

    單文件操作

        Ctrl+w,s:水平分割單個文件

        Ctrl+w,v:垂直分割單個文件

            vim使用方法

            首先以將文件水平分割成上面兩個窗口,再把上面的窗口以垂直方式分割成兩個窗口

        :sp:水平分割單個文件

            vim使用方法

窗口屬性定義

    以下操作均在末行模式下進行:

        :set nu:顯示行號

        :set nonu:取消顯示行號

            vim使用方法

        

        :set ai:自動縮進

        :set noai:取消自動縮進     

            設置了自動縮進后,換行時光標會自動對齊上面行的行首位置,而不會回到絕對行首

        

        :set  ic:忽略字符大小寫

        :set noic:取消忽略字符大小寫

            設置此項后在查找字符時會忽略大小,默認關閉

        

        :set sm:顯示與之匹配的括號的另外半邊

        :set nosm:取消顯示與之匹配的辭呈的另外半邊

            vim使用方法

                上圖中將光標移至左中括號時,自動高亮顯示與之匹配的右中括號

 

        :set hlsearch:開啟搜索高亮顯示

        :set nohlsearch:關閉搜索高亮顯示

            vim使用方法

                上圖中搜索f,會自動高亮標識所有的f,此選項會默認開啟,并且即使關閉了當前文件,再次打開其它文件時也會高亮標識之前的搜索結果。

 

        :set syntax= [on|off]:語法高亮顯示控制

                vim使用方法

                    上圖中帶顏色的字符即為開啟語法高亮顯示的結果,可以幫忙用戶標識語法結構,查找語法錯誤,如果關閉此功能則如下圖所示

                vim使用方法

            

        :set all:顯示目前所有環境參數設置值

        :set:顯示與系統默認值不同的設置參數,一般就是用戶改動過的設置

配置文件

    可將屬性命令寫在配置文件中設置vim默認屬性,注釋使用雙引號。

        全局配置文件:/etc/vimrc

        用戶配置文件:~/vimrc

 

            

            

          

                

 

         

       

             

        

原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/1025

(0)
petmasterpetmaster
上一篇 2015-03-18
下一篇 2015-03-18

相關推薦

  • LVM(重要)

    LVM   LVM(Logical Volume Manger),是一種磁盤分區管理機制,可以靈活的調整分區的大小。它是將多個硬盤組成卷組的形式實現的。說白了就是通過軟件來實現對分區靈活管理。   LVM是將多塊硬盤組成PV,再由PV組成VG,VG再組成lv,然后在lv上創建文件系統。   物理存儲介:指的就是硬盤等,最基本的存儲單元。   PV(physi…

    Linux干貨 2016-08-30
  • 正則表達式的如何使用

    簡述:正則表達式主要用于文本的搜索,它表示了搜索文本的過濾條件。根據這些條件,對目標文本朱行進行匹配檢查,最后對輸出匹配到符合過濾條件的行。 使用:正確高效的使用正則表達式,需要掌握以下基本知識點         1:語法 grep [OPTION] PATTERN FILE……

    Linux干貨 2017-06-04
  • N25-第五周作業

    第五周作業 1、顯示當前系統上root、fedora或user1用戶的默認shell; grep "^\(root|fedora|user1\)" /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello(); grep "…

    Linux干貨 2017-02-14
  • 正則表達式 小結

    聽老師和學姐都說,正則表達式很重要,所以這次我總結一下,同時加強一下記憶。 目前我們學的正則表達式有:字符匹配;匹配字數;位置錨定。 :. 匹配任意單個字符 [] 匹配指定范圍內的任意單個字符 [^] 匹配指定范圍外的任意單個字符 [:alnum:] 或 [0-9a-zA-Z] [:alpha:] 或 [a-zA-Z]…

    2017-07-31
  • 深入Php底層,用c為php編寫拓展

    1.前言              隨著lamp/lnmp架構的流行,Php語言越來越得到廣泛的使用。php語言在表現層有著非常優異的表現,部署方便,開發迅速。但Php語言也有著天生短板以及局限性—-對多線程以及多進程的支持不甚如意,以及…

    Linux干貨 2016-10-29
  • 第一次發微博

    第一次申請微博,第一次發微博,覺得很難

    Linux干貨 2017-01-06

評論列表(1條)

  • Linux_love
    Linux_love 2015-03-28 17:46

    mark

欧美性久久久久