美文网首页
vim编辑器里面的快捷键

vim编辑器里面的快捷键

作者: 六月天的安静 | 来源:发表于2017-06-04 21:24 被阅读107次

    vim编辑器

    vim一直是linux采用的标准编辑器下面来简单的介绍一下怎么使用vim

    1.png
    vim刚进入默认是在命令模式下,下面来介绍几种从命令模式进入插入模式的方法(esc从插入模式退回命令模式):
        i  : 光标在当前位置进入插入模式
        I  :光标所在当前位置移动到行首进入插入模式
        A  :光标所在一行移动到行尾进入插入模式
        a  :光标后退一格进入插入模式
        o  :光标所在的行下面新加一行进入插入模式
        O  :光标所在的行上面新加一行进入插入模式
    

    从命令模式进入扩展命令模式如上图所示(shift + :)进入扩展命令模式,下面来介绍下在此模式下退出的几种方法:

        q   :不保存退出
        q!  :不保存强制退出
        wq  :保存退出
        wq! :保存强制退出
        ZZ  :在命令模式下存盘退出(慎用)
        ZQ  :在命令模式下不存盘退出
    

    有些时候我们在在使用vim的时候需要执行其他命令,一般情况下我们还得从vim中退出来,但是下面的这几个命令就不需要了:

        !COMMAND     : 在扩展命令模式下直接就可以执行你想要执行的命令
        r filename   :读取文件的内容到当前文件夹
        w filename   :将当前文件内容另存为指定的文件中
        r!COMMAND    : 读取命令的内容到到当前文件的指定位置
    

    下面我们来相对比较详细的来介绍一下vim的一些比较好用的组合键

    字符间跳转:

        #h  : 光标处往左移动#个字符
        #l  :光标处往右移动#个字符
        #j  :光标所在之处的行往下移动几行
        #k  :光标所在之处的行往上移动几行
        
        注:“#”是你想输入的数字。
    

    单词间跳转:

        w :下个单词词首
        e :下个单词词尾
        b :当前或前一个单词的词首
        
        数字加上面的命令:
        #w:光标移动到后#个单词的词首
        #e:光标移动到后#个单词的词尾
        #b:光标向前移动#个单词的词首
    

    当前页跳转:

        H:从光标之处跳转到当前页的页首
        M:从光标之处跳转到当前页的中间
        L:从光标之处跳转到当前页的页尾
    

    行首行尾跳转:

        ^ : 跳转到光标所在本行的第一个非空白字符
        0 : 跳转到光标所在本行的行首(包括空格)
        $ : 跳转到光标所在本行的行尾
    

    行间移动:

        G           :从光标之处跳转到最后一行的行首
        gg(或:1G)   :从光标之处跳转到第一行的行首
        #G           :跳转到第#行的行首
    

    句间移动:

        (  : 从光标所在之处跳转到上一句句首
        )  : 从光标所在之处跳转到下一句句首
    

    段间移动:

        {  :跳转到上一段
        }  :跳转到下一段
    

    翻屏操作:

        ctrl + b  : 向文件首部翻一屏
        ctrl + f  : 向文件尾部翻一屏
        ctrl + u  : 向文件首部翻半屏
        ctrl + d  : 想文件尾部翻半屏
    

    字符编辑:

        x   :  删除光标所在之处的字符
        #x  : 删除从光标之处开始的往后几个字符
        x   : 把光标所在之处的字符与光标所在之处的后一个字符交换位置
        ~   : 转换大小写
        J   : 删除光标所在行的换行符(把光标所在之行及后面的一行合为一行)
    

    替换命令:

        r   : 把光标所在之处的字符替换为你输入的字符
        #r  : 把包括光标所在之内往后的#个字符替换为你输入的字符
        R   : 开启全局替换模式
    

    删除命令:

        d$  : 从光标所在之处删除到行尾
        d^  : 从光标所在之处删除到行首(不包括行首的空格)
        d0  :删除到行首(包括行首的空格)
        dw  :删除光标处单词
        #dw :把包括光标之内往后的#个单词删除
        de  :删除光标所在单词后的单词
        db  : 删除光标所在单词前的单词
        dd  :删除光标所在的整行
        #dd : 把包括光标在内的后#行删除
        dG  :把包括光标所在行及后面的所有内容都删除
        dgg :把包括光标所在行及前面的所有内容都删除
    

    复制命令:

        y$  : 从光标处复制到行尾
        y0  : 从光标处复制到行首
        y^  : 从光标处复制到非空行首
        ye  : 若光标在单词词首则复制则复制本单词,若不在单词词首只复制本单词后的字符
        yb  : 若光标在单词词首则复制则复制本单词,若不在单词词首只复制本单词前的字符
        yw  : 复制光标所处单词
        yy  : 复制光标所在的整行
        #yy : 把包括光标所在行的后面#行复制
    

    改变命令

        c$  : 把光标所在之处及光标所在行后面的内容删除然后进行编辑
        c^  : 把光标所在之处及光标所在行前面的内容删除然后进行编辑(不包括行首的空格)
        c0  : 把光标所在之处及光标所在行前面的内容删除然后进行编辑(包括行首的空格)
        ce  : 若光标在词首则把整个光标所在单词删掉进行编辑,若光标所处位置不在单词词首则把包括光
              标之处字符及本单词光标之后的字符删掉进行编辑
        cb  : 若光标在词首则把整个光标所在单词删掉进行编辑,若光标所处位置不在单词词首则把包括光
              标之处字符及本单词光标之前的字符删掉进行编辑
        cc  : 把光标所在的行删除之后进行编辑
        C   : 把包括光标所在的字符及本行后面的内容删除
    

    命令模式:

        格式:<start position><COMMAND><end position>
        COMMAND : 
                 y  : 复制
                 d  : 删除
                 gU : 变大写
                 gu : 变小写  
        例如:
                 0y$ 的解释如下:
                 0  : 先把光标跳转到行首,
                 y  : 从这里开始进行拷贝,
                 $  :  拷贝到光标所处之行的行尾
                 
                 ye : 拷贝到本单词最后一个字符
    
        100iwang[Esc]:黏贴wang100次(在命令模式下输入数字100,然后按下“i”键,在输入“wang”,
        紧接着按下“Esc”键,就会在光标之后复制wang100次)
    

    地址定界:

        格式:start_pos,end_pos
        
        #        : 具体到第#行,例如#是2就表示第2行;
        #,#     : 左侧#表示起始行,右侧表示结尾行
        #,+#    : 左侧表示起始行,加上右侧#行(2,+3  :表示从第2到第5行)
        .        : 表示当前行
        
        注意地址定界也支持模式:
        
          格式:/part1/,/part2/
               从第一次被part1模式匹配到的行开始一直到第一次被part2匹配到的行结束
               行号和模式可以混用,例如:
                       #,/part/
                       /part/,$
               使用方式:后跟一个编辑命令:
                       d:删除
                       y:复制
                       w file:将指定范围内的行另存为到指定的文件里面
                       r file:将读取出来的范围行插入到文件内
    

    扩展命令模式模式:查找

        /PATTERN  : 从当前光标所在处向文件尾部查找(例如:/^root  :以root开头向下查找)
        ?PATTERN  : 从光标所在处向文件首部查找;
              n:与命令同方向查找;N:与命令反方向查找;
              
        s:在扩展模式下完成查找替换操作:
           格式:s/要查找的内容/替换为的内容/修饰符
           要查找的内容:可使用模式
           替换为的内容:不能使用模式,但可以使用\1,\2,......等后向引用;还可以使用 "& 引
           用前面查找时找到的内容   
           
           修饰符:
                i  : 忽略大小写
                g  : 全局替换,默认情况下只替换第一次出现
                gc : 全局替换,每次替换前会询问
        查找替换中的分隔符 / 可替换为其他字符,例如:
                s@/etc@/var@g   : 用@作为分隔符
                s#/boot#/#i     : 用#作为分隔符
    

    命令模式:

        u  : 撤销最近的更改
        #u : 撤销之前多次更改
        U  : 撤销光标落在这行后的所有此行的更改
        .  : 重复前一个操作
        n.  : 重复抢一个操作n次

    相关文章

      网友评论

          本文标题:vim编辑器里面的快捷键

          本文链接:https://www.haomeiwen.com/subject/wwjbfxtx.html