红联Linux门户
Linux帮助

vi编辑器常用命令

发布时间:2010-12-03 15:16:38来源:红联作者:qq461733578
vi编辑器常用命令
文章评论

共有 7 条评论

  1. chriss 于 2010-12-07 23:40:20发表:

    谢谢分享

  2. 同风 于 2010-12-06 21:13:05发表:

    只有不到二页,就不用上传下载吧。


    如前所述,所谓的命令行或命令模式,就是在最末一行没有显示--INSERT--或--REPLACE--字样的时候。命令行指令通常有下面几种(注意,当按下“:”时,光标会自动移动到屏幕的最下面一行)。
    一般模式 光标移动
    h 或 向左方向键 光标向左移动一个字符
    j 或 向下方向键 光标向下移动一个字符
    k 或 向上方向键 光标向上移动一个字符
    l 或 向右方向键 光标向右移动一个字符
    Ctrl + f 屏幕向前翻动一页(常用)
    Ctrl + b 屏幕向后翻动一页(常用)
    Ctrl + d 屏幕向前翻动半页
    Ctrl + u 屏幕向后翻动半页
    + 光标移动到非空格符的下一列
    - 光标移动到非空格符的上一列
    n 按下数字后再按空格键,光标会向右移动这一行的n个字符。例如20,则光标会向右移动20个字符
    0 (这是数字0)移动到这一行的第一个字符处(常用)
    $ 移动到这一行的最后一个字符处(常用)
    H 光标移动到这个屏幕最上方的那一行
    M 光标移动到这个屏幕中央的那一行
    L 光标移动到这个屏幕最下方的那一行
    G 移动到这个文件的最后一行(常用)
    nG 移动到这个文件的第n行。例如20G,则会移动到这个文件的第20行(可配合:set nu)
    n 光标向下移动n行(常用)
    一般模式 查找与替换
    /word 在光标之后查找一个名为word的字符串(常用)
    ?word 在光标之前查找一个名为word的字符串
    :n1,n2s/word1/word2/g 在第n1与n2行之间查找word1这个字符串,并将该字符串替换为word2(常用)
    :1,$s/word1/word2/g 从第一行到最后一行查找word1字符串,并将该字符串替换为word2(常用)
    :1,$s/word1/word2/gc 从第一行到最后一行查找word1字符串,并将该字符串替换为word2,且在替换前显示提示符让用户确认(conform)(常用)
    一般模式 删除、复制与粘贴
    x, X x为向后删除一个字符,X为向前删除一个字符(常用)
    nx 向后删除n个字符
    dd 删除光标所在的那一整列(常用)
    ndd 删除光标所在列的向下n列,例如,20dd则是删除20列(常用)
    d1G 删除光标所在行到第一行的所有数据
    dG 删除光标所在行到最后一行的所有数据
    yy 复制光标所在行(常用)
    nyy 复制光标所在列的向下n列,例如,20yy则是复制20列(常用)
    y1G 复制光标所在列到第一列的所有数据
    yG 复制光标所在列到最后一列的所有数据
    p, P p为复制的数据粘贴在光标下一行,P则为粘贴在光标上一行(常用)
    J 将光标所在列与下一列的数据结合成一列
    u 恢复前一个动作(常用)
    编辑模式
    i, I 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退
    (常用)
    a, A 添加:由当前光标所在处的下一个字符开始输入,已存在的字符会
    向后退(常用)
    o, O 插入新的一行:从光标所在处的下一行行首开始输入字符(常用)
    r, R 替换:r会替换光标所指的那一个字符;R会一直替换光标所指的文
    字,直到按下Esc为止(常用)
    Esc 退出编辑模式,回到一般模式(常用)
    命令行模式
    :w 将编辑的数据写入硬盘文件中(常用)
    :w! 若文件属性为只读,强制写入该文件
    :q 退出vi(常用)
    :q! 若曾修改过文件,又不想保存,使用!为强制退出不保存文件
    :wq 保存后退出,若为:wq!,则为强制保存后退出(常用)
    :w [filename] 将编辑数据保存为另一个文件(类似另存新文档)
    :r [filename] 在编辑的数据中,读入另一个文件的数据。亦即将 filename这个文
    件内容加到光标所在行的后面
    :set nu 显示行号,设定之后,会在每一行的前面显示该行的行号
    :set nonu 与set nu相反,为取消行号
    n1,n2 w [filename] 将n1到n2的内容保存为filename这个文件。
    会活用这些指令就很厉害了,因为常用的vi指令也只有不到一半。通常vi的指令除了上
    面注明常用的几个外,其他的不用记忆,您可以做一张简单的指令列表贴在您的屏幕旁,
    一有疑问可以马上查询。我就是将所有的vi指令打印出来,然后贴在我屏幕后面的墙上,
    有问题可以立刻查询,很方便。

  3. ngudream 于 2010-12-06 19:26:08发表:

    谢谢了哈,现在正在学

  4. q564785326 于 2010-12-05 00:26:55发表:

    谢谢分享

  5. taoty 于 2010-12-04 17:43:04发表:

    引用:
    现在不是都用vim么
    tracyone 发表于 2010-12-3 21:58


    很多还是通用的,

  6. tracyone 于 2010-12-03 21:58:49发表:

    现在不是都用vim么

  7. windnest 于 2010-12-03 16:01:06发表:

    不错不错