备注:#表示数字,.表示当前行,$表示最后一行,+# 向下的#行,$-1倒数减一行

设置行号末行模式 set nu/number

一、在打开文件前

[root@jfedu tmp]# vim + inittab

vim + filename  打开文件并处于最后一行

[root@jfedu tmp]# vim +10 inittab

vim +# filename 打开文件并定位#行

二、三种模式

  命令模式(编辑功能)

  录入模式(内容)

  末行模式(文件管理功能)


  模式切换

  编辑模式--->录入模式

    i:在光标当前位置前一位插入    

    a:在光标当前位置后一位插入

    

    I:跳到光标所在行的行首插入

    A:跳到光标所在行的行尾插入

    

    o:跳到光标所在行的下一行插入

    O:跳到光标所在行的上一行插入


  录入--->编辑:

     Esc

    

  编辑--->末行:

    :

    

  末行--->编辑:

     Esc

菜鸟的进击之路(三)----------vim使用小结_vim
















               画的有点丑,哈哈

三、移动光标(命令模式)

单字符移动

    左h 右l 上k 下j

多字符移动

    w 移动到下一个单词的词首

    e 移动到当前或者下一个单词的词尾

    b 移动到当前或者上一个单词的词首

    #w 移动到#个词的词首

行内移动

    0 移动到行首包括空格字符

    ^ 移动到行首不包括空格字符

    $ 移动到行尾包括空格字符

行间移动

    G 移动到最后一行的行首

    gg 移动到第一行的行首

    #G 移动到第#行的行首

    末行模式下输入行号

翻屏

    ctrl+f下翻一屏

    ctrl+b上翻一屏

    ctrl+d下翻半屏

    ctrl+u上翻半屏

四、编辑功能(命令模式)

删除 d(命令模式)

    x 删除光标所在的单个字符

    dw 删除光标所在位置以及后面的一个单词

    #dw 删除光标所在位置以及以后的#个单词

    de 删除光标所在位置以及后面的一个单词

    dd 删除光标所在位置的一行 

    #dd 删除光标所在位置的一行以及以及以下共#行

    末行模式下 7,8 d 删除7到8行内容

    vim最近删除的n个内容将不会被立即清空,而是存在缓冲区

粘贴 p(命令模式)

    p:如果删除或者复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴在所在字符的后面

    P:如果删除或者复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴在所在字符的前面

复制 y (命令模式)

     yw 复制光标所在位置以及后面的一个单词

    #yw 复制光标所在位置以及以后的#个单词

     ye 复制光标所在位置以及后面的一个单词

     yy 复制光标所在位置的一行 

    #yy 复制光标所在位置的一行以及以及以下共#行

删添 c(先删除内容,并直接转换为输入模式)

    cw 删改光标所在位置以及后面的一个单词

    #cw 删改光标所在位置以及以后的#个单词

     ce 删改光标所在位置以及后面的一个单词

     cc 删改光标所在位置的一行 

    #cc 删改光标所在位置的一行以及以及以下共#行

替换 r(命令模式)(只能替换单个字符)

    R 替换多个字符

撤销(命令模式)

    u 撤销上一次操作

    U 撤销所有

    #u 可撤销此前的#次操作(最多50次)

    ctrl r 撤销最近的一次撤销操作

查找(末行模式)

     / 顺着找

     ? 倒着找

       n 顺着再一次

       N 倒着在一次

可视化模式 

     v 按字符选取

     V 按矩形块选取

查找并替换 s(末行模式下)

     startaddr,endaddrs///g或gi(g:全局替换 i:忽略字符大小写)