vim编辑器里面的快捷键

vim编辑器

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

vim编辑器里面的快捷键_第1张图片
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   : 把包括光标所在的字符及本行后面的内容删除

命令模式:

    格式:
    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编辑器里面的快捷键)