• Linux vim编辑命令总结


    Linux vim编辑命令总结

    1.     启动vim编译器

    vim filename                     打开原有的文件或创建一个新文件。

    vim                                  打开一个新文件,在编辑过程中或结束编辑时再指定文件名。

    vim –r filename                恢复因意外停机或终端连接中断而未及时保存最终编辑结果的文件。

    view filename                   以只读方式打开文件。除了不能把编辑处理的最终结果写入文件保存之外,view的所有编辑功能均与vim无异。

    2.     光标定位命令

    ←↑↓→                        将光标左移、上移、下移或右移一个字符(行)位置。

    h j k l                              同上。

    -                                     光标上移一行。

    Enter键(或加号“+”)光标下移一行。

    退格键                            将光标左移一个字符位置。

    空格键                            将光标右移一个字符位置(命令模式)。

    Ctrl+F                             往下(文件结尾方向)滚动一屏。

    Ctrl+B                             往上(文件开始方向)滚动一屏。

    Ctrl+D                             往下滚动半屏。

    Ctrl+U                             往上滚动半屏。

    Ctrl+E                             编辑窗口中的文件内容整体上移一行。

    Ctrl+Y                             编辑窗口中的文件内容整体下移一行。

    w                                     将光标右移一个字。光标停留在下一个字的字首位置。

    W                                    将光标右移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。

    b                                     将光标左移一个字。光标停留在下一个字的字首位置。

    B                                     将光标左移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。

    e                                      把光标移至当前所在字(或下一个字)的最后一个字符位置。

    E                                     同上,只是以空格字符作为字的分隔符。

    ^                                      把光标移至当前行的起始位置,也即当前行的第一个非空白字符位置

    0(零)                           同上

    $                                      把光标移至当前行的行尾,也即当前行的最后一个字符位置。

    H                                     把光标移至编辑窗口顶部第一行的行首位置。

    M                                    把光标移至编辑窗口中间一行的行首位置。

    L                                     把光标移至编辑窗口底部最后一行的行首位置。

    3.     插入文本数据

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

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

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

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

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

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

    4.     修改文本

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

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

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

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

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

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

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

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

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

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

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

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

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

    5.     删除文本

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

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

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

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

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

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

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

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

    6.     复制与移动文本

    [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行之后。

    7.     设置行号显示

    :set nu                              在编辑期间增加临时行号。

    :set nonu                           撤销行号显示(默认情况)。

    Ctrl+G                              显示当前文件的名字和当前文本行的行号。

    8.     设置大小写字母检索准则

    :set ic                                检索字符串时忽略字母的大小写。

    :set noic                            检索字符串时严格区分字母的大小写(默认情况)。

    9.     定位文本行

    G                                     将光标移至文件的组后一行。

    [n]G                                 将光标移至文件的第n行。

    10.  检索与替换

    :/string                              向前(文件结尾方向)检索指定的字符串。

    :?string                             向后(文件开头方向)检索指定的字符串。

    n                                      将检索方向找出下一个匹配的字符串。

    N                                     逆检索方向找出前一个匹配的字符串。

    :[g]/search/s//replace/[g][c] 检索并替换字符串。

    11.  清除屏幕

    Ctrl+L                              清除因其他进程的输出信息而干扰的编辑窗口。

    12.  合并文件与合并行

    :r filename                        在光标所在行之后插入指定文件的内容。

    : line#1 r filename              在第line#1行之后插入指定文件的内容。

    J                                      把相邻的两个文本行个并为一行(把下一行合并到光标当前所在行的后面)。

    13. 保存编辑结果与退出vim编辑器

    :w                                    保存编辑处理后的结果(把内存缓冲区中的数据写到文件中)。

    :w!                                   强制保存编辑处理后的结果。

    :wq                                  保存编辑处理后的结果,然后退出vim编辑器。

    :wq!                                 强制保存编辑处理后的结果,然后退出vim编辑器。

    ZZ                                   保存编辑处理后的结果,然后退出vim编辑器。

    :q                                     在未做任何编辑处理时,可以使用此命令退出vim编辑器。

    :q!                                    强制退出vim编辑器,放弃编辑处理后的结果。

    :w filename                       把编辑处理后的结果写到指定的文件中保存。

    :w! filename                      把编辑处理后的结果强制写到指定的文件中保存,即使文件已经存在。

    :wq! filename                    把编辑处理后的结果强制写到指定的文件中保存,即使文件已经存在,然后退出vim编辑器。

    14.  其他

    ;f  Ctrl+G                     显示文件的名字、编辑状态、文件总的行数、光标当前所在行号和列号,以及当前行之前的行数占整个文件总行数的百分比。

    Ctrl+V                              输入控制字符。

  • 相关阅读:
    话说地址栏的URL的最大长度
    程序员,我拿什么来拯救自己
    把女友升级为老婆的时候发生的BUG
    一个精典asp程序引发的错误引起的思考
    [转]提高 Web Service 数据传输效率的基本方法
    整理发布html的select控件实用js操作
    asp.net简单实现导出excel报表
    c#简单实现生成csv文件
    利用sql server直接创建日历
    jQuery学习笔记:效果
  • 原文地址:https://www.cnblogs.com/luowei/p/2614153.html
Copyright © 2020-2023  润新知