5.2vim的高級用法

末行模式:
    行間跳轉
        #
            $: 跳到當前行的最後一個字符處正則表達式

    內容定界:
        startpos,endpos
            #: 第#行
            .: 當前行
            $: 最後一行
            %: 全文,至關於1,$
            10,$-1 將第10行到倒數第2行所有刪除vim

        c, d, y等命令能夠直接附加在地址範圍後使用
            :10,$-2dless

        w /path/to/somefile: 將選定範圍內的內容保存至某文件中
          :.,$w /path/to/somefile
        r /path/from/somefile: 將指定的文件中的內容讀取到指定位置
     
        s/查找模式/要替換成的內容/gi
            查找模式:能夠使用正則表達式
            要替換成的內容:不能使用模式,僅能使用引用spa

    :%s/\<file\>/FILE/gi  將file單詞替換爲FILE
 
        s@@@gi  @做爲分隔符it

            g: global, 全行替換
            i: 不區分字符大小寫io

            引用模式匹配到的全部內容,能夠使用&符號ast

        練習:複製/etc/rc.d/init.d/functions至/tmp目錄
            替換/tmp/functions文件中的/etc/sysconfig/init爲/var/log
            %s/\/etc\/sysconfig\/init/\/var\/log/gi
            %s@/etc/sysconfig/init@/var/log@gifunction

    :1,.s@^@#@g  第一行到當前行在開頭添加#號
        :1,.s@^#@@g  第一行到當前行在開頭刪除#號可視化

        練習:
            一、複製/etc/grub.conf至/tmp目錄,刪除/tmp/grub.conf文件中的行首的空白字符;
            %s@^[[:space:]]\{1,\}@@g配置

            二、複製/etc/rc.d/rc.sysinit至/tmp目錄,將/tmp/rc.sysinit文件中的以致少一個空白字符開頭的行的行首加#號;
            %s@^\([[:space:]]\{1,\}.*\)@#\1@

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

            三、刪除/tmp/rc.sysinit文件中以#開頭,且後面跟了至少一個空白字符的行的行首的#號和空白字符;
            %s@^#[[:space:]]\{1,\}@@

            四、爲/tmp/grub.conf文件中前三行的行首加#號;
            1,3s@^@#@

            五、將/etc/yum.repos.d/CentOS-Media.repo文件中的全部enable=0和gpgcheck=0兩行最後的0改成1;
            %s@enable=0@enable=1@
            %s@\(enable\|gpgcheck\)=0@\1=1@g

vim可視化模式:
    v:光標走過的字符
    V:光標走過的行

文本查找:
    用法同less命令
        /pattern
        ?pattern

        n
        N

翻屏:
    Ctrl+f: 向文件尾部翻一屏
    Ctrl+b: 向文件首部翻一屏
    Ctrl+d: 向文件尾部翻半屏
    Ctrl+u:
    j:
    k:


多文件模式:
    :next
    :previous
    :last
    :first

    :wqall

多窗口模式:
    多文件:
        vim
            -o: 水平分割
            -O: 垂直分割

            Ctrl+w, Arrow
    單文件:
        Ctrl+w, s: 水平分割
        Ctrl+w, v: 垂直分割

窗口屬性定義:
    :set nu
        顯示行號

    :set nonu

    :set ai  自動縮進
    :set noai

    :set ic  忽略字符大小寫
    :set noic

    :set sm 顯示與之匹配的括號
    :set nosm

    語法高亮:
        :syntax on|off

    搜索高亮:
        :set hlsearch
        :set nohlsearch

 

    配置文件:         全局:/etc/vimrc         用戶:~/.vimrc

相關文章
相關標籤/搜索