vim 常用命令

    技术2025-04-24  15

    0  ------------> 移动光标到行首

    $ -------------->移动光标到行尾

    G -------------->移动光标到文档最后一行

    nG ------------->移动光标到文档的第n行

    gg -------------->移动光标到文档第一行 (1G)

    n<Enter> ----> 向下移动 n行

     

    /word -------->在光标下查找 "word"

    ?word ------->向光标之上查找 word

    n -------------->重复前一个搜索动作

    N-------------->反向重复前一个搜索

    :n1,n2s/word1/word2/g ------------->把 n1行和n2行之间的 word1替换为 word2

    :1,$s/word1/word2/g -------------->把 整个文档的word1替换为 word2

    :1,$s/word1/word2/gc ----------->把 整个文档的word1替换为 word2,并要求用户确认

     

     

    x, X---->x 向后删一个字符(del),X 为前删一个字符(backspace)

    ndd --->删除光标下的 n行

    dd --->删除光标所在的一行 (1dd)

    d$---->删除从光标到行最后的字符

    d0---->删除从光标到行首的字符

    yy (或者 :.y, Y) ----->复制光标所在的行

    nyy(或者nY)--->复制光标所在及向下的n行

    y0, y$---->(猜猜是什么?)

    p, P---->p 将复制的数据贴在光标下一行,P为贴在上一行

    u---->复原前一个动作 (undo)

    .(dot)  ---->重复前一个动作

     

     

    o,O---> o是在光标行的下面插入一行, O则是光标行上面插入

    set nu ---> 显示行号

    set nonu --->取消显示行号

     

    :! command ---->暂时离开 vi执行 command

     

    :w filename ---->将文档另存为 filename

    :r filename ---->读入另一个文件

    :n1,n2 w filename --->将 n1,n2行之间的保存为一个文件。

     

     字符串替换:

    替换第n行所有的字符串:

    :ns/old/new/g

    替换当前行:

    :.s/old/new/g

    替换最后一行:

    :$s/old/new/g

    替换从m行到 n行:

    :m,ns/old/new/g

    替换所有行:

    :1,$s/old/new/g

    或者:

    :%s/old/new/g

    字符拷贝:

    拷贝当前 cursor下的字符:

    yl

    拷贝从 cursor下开始的n个字符:

    ynl

    拷贝从cursor下开始到行结尾的字符:

    y$

    拷贝从行起始到cursor结束的字符:

    y0

    单词拷贝:

    拷贝一个单词:

    yw (先把光标定位在单词的起始位置)

    拷贝n个单词:

    ynw

    行拷贝 (先要进入命令模式):

    拷贝第 n行: 

    :ny

    拷贝当前行:

    :.y

    拷贝最后一行:

    :$y

    拷贝一组行:

    :m,ny

    拷贝所有行:

    :$y

    显示当前正在显示的文件和目录:先按1,然后ctrl + g

    全部复制:1,$y

    全选: ggVG

    全选并复制到系统剪切板:

    gg"+yG

    最新回复(0)