vim 用法

vim 有三种模式

命令行模式----------编辑模式--------底线命令模式

u   撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作

复制粘贴

表1:命令模式下常用的文本复制命令
文本复制命令命令的意义文本复制命令命令的意义
yy 复制光标所在的整行 y{ 复制到上一段的开始
Y 或 y$ 复制从光标所在行 行首到行尾的内容 y} 复制到下一段的开始
y0 复制从光标前一个字符开始到行首的内容 y<CR> 复制包括当前行在内的两行内容
y( 复制到上一句的开始 yw 复制一个单词
y) 复制到下一句的开始    
  • yy 命令:复制光标所在的整行。在 yy 前可加一个数字 n,表示复制当前行及其后 n-1 行的内容,例如:复制此行和以下2行的内容,输入3yy。
  • Y 或 y$ 命令:两命令功能一样,都是复制从光标所在行 行首到行尾的内容。
  • yw 命令:复制一个单词。若光标处在某个词的中间,则从光标所在位置开始复制至词尾。同 yy 命令一样,可在 yw 之前加一个数字 n,表示复制 n 个指定的单词。
  • y) 命令:复制到下一句幵始的所有字符。
  • y} 命令:复制到下一段开始的所有字符。
  • y<CR> 命令(<CR> 表示回车):复制包括当前行在内的两行内容。


与文本复制有关的命令分为两类。

1. 文本粘贴命令

  • p 命令:粘贴命令,粘贴当前缓冲区中的内容。

2. 文本选择命令

    • v 命令:在命令模式下进行文本选择。在需要选择的文本的起始处按下 v 键进入块选择模式,然后移动光标到块尾处。这之间的部分被高亮显示,表示被选中。
    • 选中后,再按下v,可以复制,然后到需要粘贴的地方,按下p则可以粘贴。
    • V 命令:在命令模式下按行进行文本选择。在需要选择的文本的第一行按下 V 键,然后移动光标到块的最后一行。这之间的所有行被高亮显示,表示被选中
      • 1 删除命令

        vi命令

        操作键

        x

         删除当前光标处的字符

        X

         删除光标左边的字符

        D

         删除从当前光标到本行末尾的字符

        J

         删除两行之间的换行符 (亦可用于合并两行)

        dmove

         删除从当前光标到move所给位置的字符

        dd

         删除当前行

        ex命令

        :lined

         删除指定行

        :line,lined

         删除指定范围内的行

        2 常用的删除组合命令

        说明:操作符命令+位移命令

        1      nx                          删除多个字符(n为删除的字符个数)       

        2      dw                           删除1个单词

        3      d10w                       删除10个单词

        4      d10W                      删除10个单词,忽略标点符号。

        5      db                           向后删除一个单词

        6      d2)                        删除两个句子

        7      d5}                           删除5个段落

        8      dG 或 :.,$d                删除当前行到编辑缓冲区末尾的所有行

        9      dgg 或 d1G 或:1,.d           删除当前行到编辑缓冲区开头的所有行

        10    :1,$d 或 :%f                     删除整个编辑缓冲区

        11    d/word                             删除从光标所在位置到单词word的所有文本  

        12    .,/word/d                   删除从光标所在位置到单词word的所有文本

        13    df x                          删除至当前行中x所在的位置

        14    d^                            删除至该行的开始处

        15  :g/^$/d                删除文件中所有空行

        3插入模式中删除操作

        ^U                         删除当前行

        ^H                         删除前一个字符

        ^W                        删除前一个词

        4 撤销或重复改变

        vi命令:

        1      u                        撤销上一命令对编辑缓冲区的修改

        2      U                        恢复当前行(即一次撤销对当前行的全部操作)

        3      .点号                    重复上一命令对编辑缓冲区的修改

        5 恢复删除

        语法:"1p(P) 

        说明:

        1      1为缓冲区的编号。

        2      p在当前行的下面插入,P在当前行的上面插入。

        6 复制上一次删除

        命令

        说明

        p

         复制上一次删除的内容,插入到光标的后面/下面

        P

         复制上一次删除的内容,插入到光标的前面/上面

        7其它有用的一些删除

        删除行尾多个空格 :   :%s/s+$//g

        删除行首多个空格 :   :%s/^s*//g

        删除重复行:           :%s/^(.*)n1/1$/

        删除所有中文:    :%s/v[^x00-xff]+//g

        删除所有数字:    :%s/d//g

      • vim快捷键

        i:在当前位置开始插入

        I:在该行开始开始插入

        o:在下一行进行插入操作

        O:在上一行进行插入操作

        a:在当前位置后开始添加

        A:在该行末尾开始添加

        S:清空改行并进入插入模式

        r:替换当前字符

        R:进入替换模式

        c$:剪切到行尾,并进入插入模式

        y$:复制到行尾

        c0:剪切到行首,并进入插入模式

        y0:复制到行首

        b:光标移到前一个单词

        h:光标左移

        j:光标下移

        k:光标上移

        l:光标右移

        w:光标移到后一个单词

        1G,gg:回到文章的开头

        G:回到文章的末尾

        dd:剪切该行

        dnw:剪切n个单词
        dG:剪切到文件结尾
        dgg:剪切到文件开始
        d^:剪切到行首
        x:剪切该字符
原文地址:https://www.cnblogs.com/wangyh702/p/11375552.html