VIM学习笔记(三):VIM文本编辑相关命令

    技术2022-06-22  90

    在我们实际编程或者写文档的过程中,需要对文本进行快速的编辑等操作,比如说快速的删除一些指定内容,快速的定位光标并进行插入文本操作,粘贴,复制,等等功能,以下是常用的VIM文本编辑命令。

    1、插入文本数据

    a                                      在光标当前所在字符位置的后面输入文本数据。

    A                                     在光标当前所在行的行尾(也即最后一个字符位置)后面输入文本数据。

    i                                       在光标当前所在字符位置的前面输入文本数据。

    I                                      在光标当前所在行的行首(也即在第一个非空白的起始字符)前面输入文本数据。

    o                                      在光标当前所在行下面的行首位置输入文本数据。

    O                                     在光标当前所在行上面的行首位置输入文本数据。

    2.     修改文本

    C                                     替换当前文本行光标所在字符位置之后的所有数据,以Esc键结束。

    cw                                   替换光标当前所在字符位置及之后的整个字或部分字,以Esc键结束。

    [n]cc                                替换当前行,或从当前行开始的n行文本,以Esc键结束。

    [n]s                                  替换光标当前所在位置的单个字符,或从光标当前位置开始的n个字符,以Esc键结束。

    S                                     替换当前行,以Esc键结束。

    r                                      替换光标当前所在位置的单个字符。

    r<Enter>                           断行。也可使用“a”或“i”命令加Enter及Esc键实现。

    R                                     从光标当前所在的字符位置开始,替换随后的所有字符,直至按下Esc键。

    xp                                    交换字符位置。交换光标当前所在位置开始字符位置。

    ~                                      转换光标当前所在位置字符的大小写。

    u                                      撤销最近一次执行的编辑命令,或依次撤销先前执行的编辑命令。

    :u                                     同上(ex编辑命令)。

    U                                     撤销施与当前文本行的编辑处理。

    3.     删除文本

    [n]x                                 删除光标当前所在位置的字符,或删除从光标当前位置开始的n个字符。

    [n]X                                删除光标当前所在位置的前一个字符,或删除光标当前所在位置之前的n个字符。

    dw                                   删除光标当前所在位置的一个整字或部分字符。如果光标在字首,则删除整字。如果光标在字的中间任何位置,则删除光标位置及之后的字符。

    [n]dd                                删除光标当前所在的文本行,或删除从当前行开始的n个文本行。

    D                                     删除当前文本行从光标位置开始之后的所有字符。

    dG                                   删除从当前行开始直至文件最后一行的所有文本行。

    d[n]G                               删除从文件的第n行开始直至当前行的所有文本行。

    :line#1,line#2 d                  删除从指定的行号line#1到line#2之间的所有文本行。

    4.     复制与移动文本

    [n]yy                               复制光标当前所在的文本行,或从当前行开始的n个文本行。

    [n]Y                                同上。

    p(小写)                       把复制或删除(“dd”命令)的文本行粘贴到光标所在行的下面。

    P(大写)                       把复制或删除(“dd”命令)的文本行粘贴到光标所在行的上面。

    :line#1,line#2 co line#3      把第line#1~line#2行复制到第line#3行之后。

    :line#1,line#2 m line#3       把第line#1~line#2行移至第line#3行之后。


    最新回复(0)