• vi编辑器


    转载请标明:http://www.cnblogs.com/winifred-tang94/

    要启动vi编辑器,直接在命令提示符下输入vi命令即可,如果要编辑一个文件则使用“vi 文件名”的方式。如下图所示,窗口的最后一行是状态栏,有文件名、文件的大小、文件的读写属性:

    Vi编辑器有三种操作方式:

    A、 命令方式;vi编辑器刚刚启动的时候是处于命令方式的。

    B、 编辑方式;如果用户要进入编辑方式,可以通过在命令方式下输入命令从而进入编辑方式。如附加数据的a命令和插入数据的i命令。输入esc键就可以从编辑方式返回命令方式。

    C、 ex转义方式(在vi编辑器中调用ex编辑器的命令来完成编辑操作);在命令方式下输入:命令就可以进入ex转义方式。进入ex转义方式后,可以在之前输入的:(即ex命令提示符)后输入ex命令进入ex方式编辑。

    注意:在vi编辑器中队文件进行的编辑,都是对编辑缓冲区进行操作的,如果要真正对文件进行修改,要输入:w(ex命令)命令或其他命令向磁盘写入,对文件的修改才会真正写入文件。

    Vi编辑器中的功能键:
    <Esc>键:用于结束编辑方式,重新进入命令方式。

    <Enter>键:在使用ex转义方式的时候,enter键使ex命令生效并且退出ex转义方式返回命令方式。

    /:在 / 后输入字符串或字符可以从当前位置向后查找字符串或字符,当找到第一个需要找的字符串或字符后,点击 n 会跳到下一个匹配值。

    ?:? 的功能和 / 是一样的。

    如下图所示:在/后输入esac后按enter键就会找到匹配的字符串。

    退出vi编辑器:
    命令ZZ:在命令方式下,输入命令ZZ保存当前修改并退出vi编辑器。

    Ex命令:x ——可以保存当前修改并推出vi;

    Ex命令:q——退出

    Ex命令:q!——退出但不保存。

    Vi编辑器在命令方式下的命令:

    A、 光标移动命令:

    移动至下一行:enter键和下方向键

    移动到行首:0

    移动到行尾:$

    移动到某行:先按行号然后按G,光标就跳转到指定行号的第一个字符。

    移动到句首:(

    移动到句尾: )

    移动到段首:{

    移动到段尾:  }

    B、 文本编辑命令

    在当前位置插入,用i命令,输入的字符会插入所在光标的字符之前。

    在当前位置附加,用a命令,输入的字符会插入在当前光标所在的字符之后。

    在当前行的末尾附加:A命令

    开始新行:o 在当前行的下面建立新行、O 在当前行的上面建立新行

    C、 文本删除命令

    X命令删除当前光标所在位置的字符,X命令删除当前光标所在位置之前的那个字符。

    dw删除当前位置的一个单词;d$从当前位置删除至行尾;dd删除当前行。

     

    注意:删除操作删除的文本放在一组缓冲栈中,缓冲栈编号从1到9,最后一次删除的文本放在缓冲栈1中,可以通过p命令将最后一次删除的文本放在当前行的下一行;如果要找回其他文本的话使用命令:+缓冲栈编号+p。

    D、 文本修改命令

    在编辑过程中,可能会有修改错误的时候,这个时候可以撤销修改,u命令撤销上一次修改,U命令撤销进入本行以来所做的所有修改。

    E、  文本移动和复制

    在vi编辑器中也可以复制和移动。

    如果要复制的话,要结合y命令和p命令。如果要复制当前一行则使用命令yy,然后将光标移动到要添加的位置,使用p命令,就将之前复制的那一行粘贴过来了。可以在yy前加数字表示行数,比如3yy表示从当前位置开始的3行都被复制。

    如果要移动的话,要结合d命令和p命令,之前我们说过dd命令删除当前这一行,利用dd删除了当前这一行后,将光标移动要所要移动到的位置执行p命令,就把之前删除的那一行移动过来了。——之所以会这样的原因是,删除的数据保存在vi的缓冲区中。

    Vi编辑器中的个别转义命令

    写命令——:w

    读命令——:r 文件名(通过这个命令可以在打开的本文件中读取外部文件)

  • 相关阅读:
    List of 3rd Party .NET UI & Reporting Components
    cannot open window service on computer '.' in window application
    CentOS7重新生成 /boot/grub2/grub.cfg
    vmware esxi 查看网卡、Raid卡驱动
    libcmt.lib和msvcrt.lib冲突,原因和解决方法
    C/C++注释规范
    lsof命令查看端口关联的文件
    linux下查看磁盘分区的文件系统格式
    编译linux kernel及制作initrd ( by quqi99 )
    三种虚拟化技术比较
  • 原文地址:https://www.cnblogs.com/winifred-tang94/p/5831726.html
Copyright © 2020-2023  润新知