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

相关文章
相关标签/搜索