首页 > 代码库 > linux文本编辑命令(vi、vim)

linux文本编辑命令(vi、vim)

文本编辑器分类:

    行编辑器:sed;

    全屏编辑器:nano、vi(visual interface)、vim(vi improved)

一、vim:文本编辑器:(支持ascii码、unicode码)

1、vim模式化编辑器:

vim模式分类:

    编辑模式:(命令模式);默认模式;

    输入模式:

    末行模式:内置的命令接口


2、 vim [options] [file ..]

options

    +# :打开文件后,让光标处于第#行的行首,默认是第一行行首;

    +:打开文件,光标处于尾行

    +/PATTERN:打开文件后,直接然让光标处于第一个被PATTERN匹配到的行的行首;


3、模式转换:

编辑模式转换为输入模式方法一:i键:insert,在光标所在处输入

编辑模式转换为输入模式方法二:a键:append,在光标所在处后方输入;

编辑模式转换为输入模式方法三:0键:在光标所在处下方打开一个新行;

编辑模式转换为输入模式方法四:I键:在光标所在处的行首输入;

编辑模式转换为输入模式方法五:A键:在光标所在处行尾输入;

编辑模式转换为输入模式方法六:O键:在光标所在处的上方打开一个新行;


输入模式装换为编辑模式方法一:ESC键:


编辑模式转换为末行模式方法一::键(冒号)


末行模式转换为编辑模式方法一:两次esc键


保存退出:

    ZZ:保存退出

    :wq :保存退出

    :q! :不保存退出

    :x 保存并退出;

    :w /path/to/somfile :另存为somfile文件;


4、光标跳转:

字符间跳转:

    h左跳一个字符、j向下跳转、k向上跳转、l向右跳转

    #h、#j、#k、#l:依次向相应方向跳转#个字符

单词间跳转:

    w、下一个单词的词首

    e、当前或后一个单词的词尾;

    b、当前或前一个单词的词首;

    #w、#e、#b:依次向相应方向跳转#个单词

行首行尾跳转:

    ^:跳转至行首的第一个非空白字符

    0:零;跳转至行首(绝对行首);

    $:跳转至行尾

行间跳转:

    G:跳转至行尾

    #G:跳转至第#行行首;

    1G或gg:跳转至第一行;

句间跳转:

    ):跳到下一句;

    (:跳到前一句;

    #(、#):跳转到相应方向#句

段间跳转:

    {:前一段落;

    }:后一段落;

    #}、#{:跳转至相应方向#段;


5、翻屏操作:

    ctrl+f:向文件尾部翻一屏;

    ctrl+b:向文件首部翻一屏;

    ctrl+d:向文件尾部翻半屏;

    ctrl+u:向文件首部翻半屏;

    enter:按行向后翻一行;


6、vim编辑命令:

字符编辑:

    x:删除光标所在处的字符;

    #x:删除光标所在处向后的#个字符

    xp:交换光标所在处的字符及后面字符的位置;

替换命令:replace

    r:替换光标所在处的字符,方法:输入r,后跟想要替换的字符;

删除命令:删除后会放在缓冲区,删除的东西可被用来粘贴。

    d:删除命令,可结合光标跳转命令,实现范围删除;如:d$,d^,dw,de,db,

    #d:删除#个单词,可结合光标跳转命令使用

    dd:删除一整行;

    #dd:删除#整行

粘贴命令(paste)

    p:小写p;缓冲区的内容如果为整行,则粘贴在当前光标所在行的下方,否则粘贴在光标所在处的后方;

    P:大写p:缓冲区的内容如果为整行,则粘贴在当前光标所在行的上方,否则粘贴在光标所在处的前方;

复制命令(yank):

    y:复制,工作行为类似于d命令;也可以结合光标跳转命令使用;

    yy:复制一整行;

    y$,y^,y0,yw,ye,yb,

    #yy:复制#行


改变命令:change,c,类似d命令

    可以实现删除操作时,同时转换为输入模式;

    c$,c^,c0,cw,ce,cb,cc,#cc


可视化模式:(用于区域选择)

    v:按字符选定;

     V:按行选定;

    集合编辑命令:d、c、y


撤销操作:undo

    u:撤销此前的操作;

    #u:撤销此前的#次操作;

    ctrl+r:恢复此前的撤销操作;


重复执行前一个编辑操作:(点号)

    .:点号


vim教程:vimtutor








linux文本编辑命令(vi、vim)