• 常用vi编辑器命令行


     

    对于VI的命令行,不需要特意的去记忆,写下来,让要用到的时候能找到就行

     游标控制

    h 游标向左移
    j 游标向下移
    k 游标向上移
    l (or spacebar) 游标向右移
    w 向前移动一个单词
    b 向后移动一个单词
    e 向前移动一个单词,且游标指向单词的末尾
    ( 移到当前句子的首部
    ) 移到下一个句子的首部
    { 移到当前段的首部
    } 移到下一段的首部
    [[ 移到当前区段的首部
    ]] 移到下一个区段的首部
    0 移到当前行的首部
    $ 移到当前行的尾部
    ^ 移到当前行第一个非空白字符的地方
    + or RETURN 移动到下一行的第一个字符
    - 移动到上一行的第一个字符
    n | 移动到当前行的字符n的地方
    H 移动到当前屏幕的首部
    M 移动到当前屏幕的中部
    L 移动到当前屏幕的尾部
    nH 移动到当前屏幕首部下的n行
    nL 移动到当前屏幕尾部上的n行
    Ctrl-F 移动到下一屏
    Ctrl-B 移动到上一屏
    Ctrl-D 向下移动半屏
    Ctrl-U 向上移动半屏
       
       
    z RETURN 刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的首部(是不是不明白???不明白的话,试试就知道是什么意思了)
    z . 刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的中部
    z - 刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的尾部
    Ctrl-L 刷新屏幕,不调整屏幕位置
    Ctrl-R 刷新屏幕,不调整屏幕位置
    /text 向下搜索text
    / 重复上次的搜索的内容向下搜索一次
    ?text 向上搜索text
    ? 重复上此搜索的内容向上搜索一次
    n 重复上此的搜索,向下搜索
    N 重复上此的搜索,向上搜索
    /text/+n 移动到text所在行的下面n行
    ?text?-n 移动到text所在行的上面n行
       
       
    nG 移动到n行
    :n 移动到n行
    G 移动在最后一行

    内容编辑

    A:当前行的尾部追加内容

    i:游标前插入内容

    I:游标后插入内容

    o:在鼠标所在行的下面添加内容

    O:在鼠标所在行的上面添加内容

    ESC:退出编辑模式

    Ctrl-T:移动到下一个tab

    Backspace:向后移动一个字符

    Ctrl-U:删除当前

    cw:删除游标所在的字符,然后进入编辑模式

    cc:删除游标所在的行,然后进入编辑模式

    C:删除从游标所在的位置到行尾的字符,然后进入编辑模式

    dd:删除当前行

    ndd:删除第n行

    D:删除当前行游标所在的位置后面的字符

    dw:删除邮编所在的字符

    d}:删除当前段剩余的字符

    d^:删除游标前到行首的字符

    c/pat:删除游标后面到第一次匹配字符间的内容

    dn:删除游标后面到下一个匹配字符间的内容

    dfa:删除当前行游标到匹配字符间的内容(匹配的字符也将被删)

    dta:删除当前行游标到匹配字符间的内容(匹配的字符不被删)

    dL:删除从游标到屏幕的最后一行之间的内容

    dG:删除从游标到文件末尾之间的内容
    J:连结上下两行的内容

    p:在游标后面插入buffer中的内容

    P:在游标前面插入buffer中的内容

    rx:用x替换字符

    Rtext:用text从游标开始处进行替换

    u:撤销最后的改变

    U:还原当前行的内容

    x:向后删除游标所在位置的字符

    X:向前删除游标前面的字符

    nX:删除前面的n个字符,游标所在的字符将不会被删

    .:还原最后的改变

    ~:反转字母的大小写

    y:拷贝当前行到新的buffer

    yy:拷贝当前行

    "xyy:拷贝当前行的buffer名为x的buffer

    ye:拷贝当单词的末尾

    文件操作

    :w 写文件





     

     

     

     

     

    :w! 写文件,忽略警告信息
    :w! file 覆盖文件,忽略警告信息
    :wq 写文件之后退出编辑
    :q 退出编辑器
    :q! 强制退出编辑器
    :w file 把文件的内容写到另一个文件
    ZZ 退出编辑器,如果文件有改动,则保存再退出
    :x 退出编辑器,如果文件有改动,则保存再退出
    :n1,n2file 把n1行到n2行间的内容写到文件file
    :n1,n2>> file 把n1行到n2行间的内容追加到文件file
    :e file2 在当前文件的命令行模式下编辑file2
    :e! 重新从磁盘加载文件
    :e# 交替编辑文件
       
       
    :n 编辑地下一行
    :n! 编辑地下一行(忽略警告)
       
    :r file 在游标后面插入文件
    :r !command 在当前行的后面,插入运行命令后的输出内容
  • 相关阅读:
    linux 内核升级4.19
    监管对保险页面的要求
    软件测试-测试可交付成果
    软件测试架构思想
    dockerfile
    转载:.NET Core 图片操作在 Linux/Docker 下的坑
    docker build速度过慢问题
    .net 5 发布到 docker 或 docker 镜像方法
    Centos 安装 docker 教程
    DQL、DML、DDL、DCL全名是啥?
  • 原文地址:https://www.cnblogs.com/logsharing/p/7987074.html
Copyright © 2020-2023  润新知