Linux基礎之vim文本編輯器

一、簡介:

    vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。

    1、viimproved,vim 

全屏編輯器,模式化,功能強大,短小精悍

    2、使用格式:

        #vim[Options] /path/to/somefile


二、使用模式:

1、默認模式:命令模式,編輯模式,可對文件進行刪除,複製,粘貼等操作

2、輸入模式:對文本文件進行修改,輸入

3、末行模式:可以執行保存、查找、替換、退出等命令

4、模式間轉換:

     編輯模式-->輸入模式

        i:insert,實現在當前光標所在字符前面轉爲輸入模式;

        a:append,實現在當前光標所在字符後面轉爲輸入模式;

        o:在光標所在行的下方新建一個空白行並轉爲輸入模式;

        I:在當前光標所在行的行首轉爲輸入模式;

        A:在當天光標所在行的行尾轉爲輸入模式;

        O:在當前光標所在行的上方,新建一個空白行並轉爲插入模式;

    輸入模式-->編輯模式:

        按下Esc鍵;


    編輯模式-->末行模式

        輸入":"模式

    末行模式-->編輯模式

        按兩次Esc退出末行模式,不能從莫忙模式直接轉到輸入模式;


三、光標跳轉:

1、字符間跳轉:

         h:向左跳轉一個字符;

         l:向右跳轉一個字符;

         j:向下跳轉一個字符;

         k:向上跳轉一個字符;

                ↑k

            ←h      l

                ↓j

         #h:向左跳轉#個字符;

         #j:向下跳轉#個字符;

         #k:向上跳轉#個字符;

         #l:向右跳轉#個字符;

2、單詞間跳轉:

         w:跳至後一個單詞的詞首;

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

         b:跳至當前或前一個單詞詞首;

3、句間跳轉:

         ):跳至下一句;

         (:跳至上一句;

4、段落間跳轉:

         }:跳至下一段;

         {:跳至上一段;

5、行間跳轉:

         1G,gg:跳至文件首行;

         G:跳至文件最後一行;

         #G:跳轉到#行;

6、行內跳轉:

         ^:跳至行首;

         $:跳至行尾;

         0:零跳至絕對行首;

7、翻屏操作:

         Ctrl+f:向文件尾部翻一屏或按PageDown鍵;

         Ctrl+b:向文件首部翻一屏或按PageUp鍵;


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

            Ctrl+u向文件首部翻半屏;


四、關閉文件:

    1、在末行模式下:

            :w保存

            :q退出;

            :!強制;

            :wq保存並推出;

            :q!強制退出不保存,對文件做了修改不想保存時就可以用強制退出;

        :wq! 強制保存並推出,對於有些文件不讓保存,但我們又非要保存不可的時候就用強制保存;

        :x 保存退出;

2、在編輯模式先:

         ZZ:保存退出;


五、打開文件

    1、vim +#/path/to/file 打開文件光標自動跳轉至#行;

    2、打開多個文件:

         vim[optios] FILE1 FILE2 FILE3

        可使用以下命令在多個文件之間跳轉:

                next下一個;

                last最後一個;

                first第一個;

                prev前一個;

    3、打開多個文件並分屏顯示

        vim-[o|O] FILE1 FILE2 FILE3

            -O:垂直分割窗口;

            -o:水平分割窗口;

              Ctrl+w+(↑↓):在多個文件間跳轉


六、編輯操作:

    1、x命令:

        x:向後刪除一個字符

        X:向前刪除一個字符

        #x:刪除#個字符

    2、d:刪除命令;

        dw:刪除當前光標到後一個單詞詞首;

        db:刪除光標所在處到詞首,或前一個單詞詞首

        de:刪除光標所在處當詞尾,或下一個單詞詞尾

        d^:刪除光標所在處到行首;

        d$:刪除光標所在處到行尾

        dd:刪除光標所在行

        #dd:刪除當前光標向下#

    3、在末行模式使用d命令

         末行模式可以使用地址定界;

            起始地址,結束地址

                $:最後一行

                 .:當前光標所在行

                %:全文

                1,7d:刪除第一行到第七行;

                1,$:第一行到最後一行;

                1,+6:第一行到第六行;

                1,$-2:第一行到倒數第三行;加d命令可以直接刪除

                .,+3:當前光標所在行和下面的三行;加d命令可刪除4

    4、c:編輯,轉換至輸入模式

        cc:刪除當前光標所在行並轉換至輸入模式;

        #cc:刪除當前光標所在行向下#行並轉換至輸入模式;

        c^:刪除當前光標所在處到行首並轉換至輸入模式;

        c$:刪除當前光標所在處到行尾並轉換至輸入模式;

    5、粘帖操作:p命令

        用d命名刪除的字符可用p命令來粘貼;

            a、刪除的是整行:

                p:刪除的是整行在當天光標所在行的下方粘貼;

                P:刪除的是整行在當前光標所在行的上方粘貼;

            b、刪除不是整行:

                p:在當前光標所在處的後方粘貼;

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

6、複製:y,yank

         yy:複製當前光標所在行;

         y^:複製當前光標所在處到行首;

         y$:複製當前光標所在處到行尾;

         #yy:複製當前光標所在行向下#行;

   a 、複製的是整行:

        p:複製的是整行在當天光標所在行的下方粘貼;

        P:複製的是整行在當前光標所在行的上方粘貼;

    b、複製不是整行:

        p:在當前光標所在處的後方粘貼;

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

7、編輯操作可撤銷

        在編輯模式下:

        u:vim默認會保存最近50次,可逐次撤銷

             Ctrl+r:撤銷此前的撤銷操作


七、文本搜索:

    /keyword(關鍵字):從當前光標向文件尾部查找;

    ?keyword(關鍵字):從當前光標向文件首部查找;

        n:查找下一個

        N:查找前一個

    支持模式:

        /\<d[[:alpha:]]\{2\}n\>:精確匹配以d開頭,後跟兩個任意字符,並且以n結尾的字符串;

    基本正則表達式

        ^:錨定行首的符合條件的內容,用法格式"^pattern";

        $:錨定行尾的符合條件的內容,用法格式"pattern$";

        .:匹配任意單個字符;

        *:匹配緊挨在其前面的字符的字符任意次;

        []:匹配指定範圍內的任意單個字符

        [^]:匹配指定範圍外的任意單個字符

       \?:匹配緊挨在其前面的字符0次或1次;

        \{m,n}:匹配其前面的字符至少m次,至多n

            \{0,n}:至多n次,0-n次;

            \{m,\}:至少m

            \{m,\}:精確匹配m

        \<錨定詞首,用法格式:\<pattern

            \b:\bpattern

        \>錨定詞尾,用法格式:pattern\>

            \b:pattern\b                      

        \(\):分組,用法格式;

            \(a.b\).*\1:前匹配後引用;

八、vim可視化模式

    1、visual模式

            v:選中光標劃過的字符;

            V:選中光標劃過的行,整行選取

    2、 按兩次Esc鍵,回到編輯模式;

    3、 同一文檔分屏顯示

            Ctrl+w,s:水平分割;

            Ctrl+w,v:垂直分割;

            在其間切換Ctrl+w(↑↓)


九、窗口屬性定義:

    1、顯示行號:

        set number,簡寫:set nu;

        set nonumber,簡寫:set nonu;

    2、自動縮進

        set autoindent,簡寫:set ai;

        set noautoindent,簡寫:set noai;

    3、不區分字符大小寫

        set ignorecase,簡寫:set ic;

        set noic;

    4、獲取幫助:

        set 可以查看set可以配置的功能;

    5、顯示匹配的括號:

        set showmatch,簡寫:set sm;

        set nosm

    6、語法着色:

        syntax on;

        syntax off

    7、查找結果高亮顯示:

        set hlsearch

        set nohlsearch


十、vim的配置文件:在文件中用set修改的只對當前vi進程有效。要想長期有效就需要要修改配置文件;

    1、全局:/etc/vimrc

    2、個人:~/.vimrc 文件不存在可自己創建;

         3、修改時直接將set COMMAND放在配置文件中就可以了;




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