VIM基本用法

來源:互聯網
上載者:User

標籤:liunx   編輯   文本   vim   

vim基本用法            

    模式化編輯器

        模式:

            編輯模式: 命令模式

                鍵盤操作常被理解為編輯命令

            輸入模式

            末行模式: vim內建的命令介面,執行vim命令

        開啟檔案

            vim [option]... [file]...

        模式轉換:

            編輯模式 --> 輸入模式

                i: 在游標所在處的前方轉換為輸入模式

                a: 在游標所在處的後方轉換為輸入模式

                o: 在游標所在行的下方建立一個空行並轉換為輸入模式

                I: 行首

                A: 行首

                O: 游標所在行的上方建立一個空白行

            輸入模式 --> 編輯模式

                Esc

            編輯模式 --> 末行模式

                :

            末行模式 --> 編輯模式

                ESC

        退出檔案:

            :q! 不儲存退出

            :wq 儲存退出

            :x  儲存退出

            ZZ  不儲存退出

        編輯文本:

            游標移動:

                #{hjkl}: 跳#個字元

            單詞間移動:

                w: 下一個單詞詞首

                e: 當期單詞或下一個單詞詞尾

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

            行內移動

                ^: 行首第一個非空白字元

                0: 絕對行首

                $: 絕對行尾

            行間移動

                #G: 直接跳至第#行

                G:  最後一行

        編輯命令:

            x:  刪除游標所在處的字元

            d:  刪除命令

                結合游標跳轉字元使用,刪除游標跳轉範圍內的字元

            dd: 刪除游標所在行

            D:  d$,刪除游標以後的字元

            注意: 最後一次刪除的內容會被儲存至緩衝區

            p: paste,粘貼

                行層級:

                    p: 粘貼於當前行上方

                    P: 粘貼於當前行下方

                小於行層級

                    p: 粘貼於當前游標所在行的後方

                    P: 粘貼於當前游標所在行的前方

            y: yank,複製

                結合游標跳轉字元使用,複製游標跳轉範圍內的字元

                Y: yy

            c: change, 修改

                結合游標跳轉字元使用,修改跳轉範圍內的字元

                先刪除,再轉換為輸入模式

                cc,C: 刪除游標所在處的整行而後轉換為輸入

            撤銷操作:

                u: undo,撤銷

                #u: 撤銷最近的#次操作(50)

            撤銷此前的撤銷: ctrl+r

            重複前一條命令: .

        末行模式:

            行間跳轉: 

                #: 指定行數

                $: 最後一行

            內容定界

                startpos,endpos

                    #: 第#行

                    .: 當前行

                    $: 最後一行

                    %: 全文,相當於1,$

                c,d,y等命令可以直接附加在位址範圍後使用

                w /path/to/somefile: 將選定範圍內的內容儲存至某檔案中

                r /path/from/sonmefile: 將指定的檔案中的內容讀取到指定位置

                s/尋找模式/要替換成的內容/gi

                    %s/echo/i/gi

                    尋找模式:可以使用Regex

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

                    g: global,全行替換

                    i: 不區分大小寫

                    引用匹配模式比對到的所有內容可以用&

        練習: 

            複製/etc/rc.d/init.d/functions至/tmp目錄

                替換/tmp/functions檔案中的/etc/sysconfig/init為/var/log

                :%s#/etc/sysconfig/init#/var/log#gi

        練習:

            1. 複製/etc/grub.conf至tmp目錄,刪除/tmp/grub.conf檔案中的行首的空白字元

                :%s#^[[:space:]]\{1,\}##gi

            2. 複製/etc/rc.d/rc.sysinit至/tmp目錄,將/tmp/rc.sysinit檔案中的以至少一個空白字元開頭的行的行首加#號

                :%s/^\([[:space:]]\+\)/#\1/gi

                :%s/^[[:space:]]\+/#&/gi

            3. 刪除/tmp/rc.sysinit檔案中以#號開頭,且後面跟了至少一個空白字元的行的行首的#號和空白字元

                :%[email protected]^#[[:space:]]\{1,\}@@

            4. 為/tmp/grub.conf檔案的前三行的行首家#號

                :1,[email protected]^@#@

            5. 將/etc/yum.repos.d/CentOS-Media.repo檔案中的enable=0和gpgcheck=0兩行最後的0改為1

                %[email protected]\(enable\|gpgcheck\)[email protected]\[email protected]

        vim可視化模式

            v: 游標走過的字元

            V: 游標走過的行

        文本尋找:

            用法同less命令

                /pattern

                ?pattern

        翻屏:

            ctrl+f: 向檔案尾部翻一屏

            ctrl+b: 向檔案首部翻一屏

            ctrl+d: 向檔案尾部翻半屏

            ctrl+u: 向檔案首部翻半屏

            j: 向下走一行

            k:想上走一行

        多檔案模式:

            :next  下一個檔案

            :previous  前一個檔案

            :last  最後一個檔案

            :first  第一個檔案

            :wqall  退出儲存所有

        多視窗模式:

            多檔案

                -o: 水平分割兩個視窗

                -O: 垂直分割兩個視窗

                ctrl+w,arrow

            單檔案:

                ctrl+w,s: 水平分割

                ctrl+w,v: 垂直分割

        視窗屬性設定:

            :set nu    顯示行號

            :set nonu    取消顯示行號

            :set ai    自動縮排

            :set noai    取消自動縮排

            :set ic    忽略字元大小寫

            :set sm    顯示自動匹配括弧

            :syntax off    文法高亮關閉

            設定檔:

                全域: /etc/vimrc

                使用者: ~/.vimrc


本文出自 “bran” 部落格,請務必保留此出處http://branguo.blog.51cto.com/9768383/1599262

VIM基本用法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.