当前位置 主页 > 网站技术 > 代码类 >

    最全的VI命令与快捷键大全集合建议收藏(3)

    栏目:代码类 时间:2020-02-06 18:06

    可视模式(不知道如何进入) 左下角显示–VISUAL–

    保存退出

    w # 保存当前文件

    w /tmp1 # 另存为/tmp1

    20,59w /tmp1 # 仅将20-59行之间的内存另存为/tmp1

    x 或 wq # 保存退出

    q # 退出vi

    q! # 退出不保存

    !command # 执行shell命令command

    n1,n2 w !command # 将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入

    r !command # 将命令command的输出结果放到当前行

    w !sudo tee % # 保存没权限时,可获取权限再保存

    导航

    h # 光标左移一个字符

    l # 光标右移一个字符

    space # 光标右移一个字符

    Backspace # 光标左移一个字符

    k 或 Ctrl+p # 光标上移一行

    j 或 Ctrl+n # 光标下移一行

    Enter # 光标下移一行

    w 或 W # 光标右移一个字至字首

    b 或 B # 光标左移一个字至字首

    e 或 E # 光标右移一个字至字尾

    ) # 光标移至句尾

    ( # 光标移至句首

    } # 光标移至段落开头

    { # 光标移至段落结尾

    nG # 光标移至第n行首

    n+ # 光标下移n行

    n- # 光标上移n行

    n$ # 光标移至第n行尾

    H # 光标移至屏幕顶行

    M # 光标移至屏幕中间行

    L # 光标移至屏幕最后行

    0 # (注意是数字零)光标移至当前行首

    $ # 光标移至当前行尾

    % 括号匹配

    屏幕翻滚

    Ctrl+u # 向文件首翻半屏

    Ctrl+d # 向文件尾翻半屏

    Ctrl+f # 向文件尾翻一屏

    Ctrl+b # 向文件首翻一屏

    nz # 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部

    插入

    i # 在光标前

    I # 在当前行首

    a # 光标后

    A # 在当前行尾

    o # 在当前行之下新开一行

    O # 在当前行之上新开一行

    r # 替换当前字符

    R # 替换当前字符及其后的字符,直至按ESC键

    s # 从当前光标位置处开始,以输入的文本替代指定数目的字符

    S # 删除指定数目的行,并以所输入文本代替之

    ncw 或 nCW # 修改指定数目的字

    nCC # 修改指定数目的行

    删除

    ndw 或 ndW # 删除光标处开始及其后的n-1个字

    do # 删至行首

    d$ # 删至行尾

    ndd # 删除当前行及其后n-1行

    x 或 X # 删除一个字符,x删除光标后的,而X删除光标前的

    Ctrl+u # 删除输入方式下所输入的文本

    n1,n2 d # 将n1行到n2行之间的内容删除

    %d # 删除全部内容

    1,$d # 删除全部内容

    复制粘贴、剪切、移动

    yy # 复制当前行

    nyy # 复制当前行开始的n行

    先按 v 然后方向键选择区域,按 y 复制选中行

    dd # 剪切当前行

    p(小) # 在当前光标处下面粘贴内容。

    P(大) # 在当前光标处上面粘贴内容

    n1,n2 co n3 # 将n1行到n2行之间的内容拷贝到第n3行下

    n1,n2 m n3 # 将n1行到n2行之间的内容移至到第n3行下

    搜索(查找)

    /abc # 从光标开始处向文件尾搜索abc

    ?abc # 从光标开始处向文件首搜索abc

    /\/abc # 从光标开始处向文件尾搜索/abc,其中/是转义

    n # 在同一方向重复上一次搜索命令

    N # 在反方向上重复上一次搜索命令

    替换

    s/vivian/sky/ # 替换当前行第一个 vivian 为 sky

    s/vivian/sky/g # 替换当前行所有 vivian 为 sky

    n,$s/vivian/sky/ # 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

    n,$s/vivian/sky/g # 替换第 n 行开始到最后一行中每一行所有 vivian 为sky