• 文本编辑器Vi常用命令


      Vi是Linux/Unix上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。

      Vi没有菜单,只有命令。

      vi filename 进入命令模式,命令模式进入到插入模式,可使用i、a、o键

      1、插入命令

        a  在光标后附加文本

        A  在本行行末附件文本

        i  在光标前插入文本

        I  在本行开始插入文本

        o  在光标下插入文本

        O  在光标上插入文本

      2、定位命令

        h或方向左键  左移一个字符

        j或方向下键  下移一行

        k或方向上键  上移一行

        l或方向右键  右移一个字符

        $  移至行尾

        0  移至行首

        H  移至屏幕上端

        M  移至屏幕中央

        L  移至屏幕下端

        :set nu  设置行号

        :set nonu  取消行号

        gg  到第一行

        G  到最后一行

        nG  到第n行

        :n  到第n行

      3、删除命令

        x  删除光标所在的字符

        nx  删除光标所在处后n个字符

        dd  删除光标所在行

        ndd  删除n行

        dG  删除光标所在行导末尾的内容

        D  删除从光标所在行到末尾的内容

        :n1,n2d  删除指定范围的行

      4、复制和剪切命令

        yy或者Y  复制当前行

        nyy或者nY  复制当前行一下n行

        dd  剪切当前行

        ndd  剪切当前行以下n行

        p或者P  粘贴在当前光标所在行下或行上

      5、替换和取消命令

        r  取代光标所在处的字符

        R  从光标所在处开始替换字符,按Esc键结束

        u  取消上一步操作

      6、搜索和替换命令

        /string  向前搜索指定命令,搜索时忽略大小写:set ic ,如搜索ftp:  /ftp

        n  搜索指定字符串的下一个出现位置

        :%s/被替换的字符串/替换成的字符创/g  例如把全文的ftp替换成hello  :%s/ftp/hello/g

        :n1,n2s/被替换的字符串/替换成的字符创/g  在一定的范围内替换字符串

      7、保存退出命令

        :wq 或者 ZZ 保存退出

        :q!  不保存退出

        :wq!  强行保存退出 (root或者文件的所有者)

      8、应用实例

        1)在vi中导入文件 :

          :r 文件

          如:导入/test目录下的abc.txt文件  :r /test/abc.txt

        2)在vi中执行命令:

          :!命令

          如:在vi编辑器中查看 /test目录下的文件详细信息  :!ls -l /test

          这样就不需要先退出vi再去执行命令

        3)把命令执行的结果导入到vi中:

          如:把date命令执行的结果导入到vi中

          :r !date

        4)定义快捷键

          :map 快捷键 触发的命令

          如:  :map ^P I#<ESC>  ^表示定义的快捷键,

              注意,在vi中,^这个符号是使用ctrl+v组合输入的符号,^P 在vi中的输入是ctrl+v和ctrl+p,或者ctrl+v+p

              :map ^P I#<ESC>  表示光标无论在行的哪个位置,只要按下ctrl+p就可以在行首插入#号,然后回到命令模式。I表示在行首插入文本,<ESC>表示  回到命令模式。

              :map ^E acodeartisan@gmail.com  定义了一个快捷键ctrl+e,只要按下ctrl+e就可以在光标位置输入我的邮箱acodeartisan@gmail.com,非常方便。

              再比如我们要定义一个快捷键,无论光标在行的哪个位置,只要按下ctrl+b,就可以去掉行首的#注释(实际上就是把行首的第一个字符删掉)

              :map ^B 0x  定义了一个快捷键ctrl+b。0表示移到行首,x表示删除光标所在字符。

        5)连续行注释

          :n1,n2s/^/#/g  在n1行和n2行之间的行首加入#注释

          :n1,n2s/^#//g  把n1行和n2行之间的行首的#注释去掉

        6)替换

          :ab myemail acodeartisan@gmail.com

          只要输入myemail,然后按回车或者空格,myemail就会变成acodeartisan@gmail.com

          :unab  取消替换操作  

          以上一些快捷键、替换命令操作在退出vi后就失效了,是因为vi没有保存配置。要想配置可以保存,可以把那些命令写在vi的配置文件中 /root/.vimrc

          

  • 相关阅读:
    Haskell 编写几个递归函数 练习 typeclass 模式匹配等
    Haskell-chp01
    阉割的List
    实现简单的string类
    构造函数语义学——Copy Constructor 的构造操作
    BinarySearchTree-二叉搜索树
    对象模型
    二叉树的遍历
    带头尾结点的单链表
    Effective Modern C++ ——条款5 优先选择auto,而非显式型别声明
  • 原文地址:https://www.cnblogs.com/luxh/p/2790027.html
Copyright © 2020-2023  润新知