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

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

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

                    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文件中以#號開頭,且後面跟了至少一個空白字符的行的行首的#號和空白字符

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

            4. 爲/tmp/grub.conf文件的前三行的行首家#號

                :1,3s@^@#@

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

                %s@\(enable\|gpgcheck\)=0@\1=1@

        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


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