zoukankan      html  css  js  c++  java
  • vi编辑器的使用

    1、vi的三种模式

       Command Mode/命令行模式、Entry Mode/插入模式和Last-line Mode/底行模式

     

     

    2、vi命令模式功能键

    (1)插入操作

    ①  i  在当前光标位置插入

    ②  I  在当前光标所在行的行首插入

    ③  a  在当前光标位置的后一个字符插入

    ④  A  在当前光标所在行的行尾插入

    ⑤  o  在当前光标所在行下新建一行插入

    ⑥  O  在当前光标所在行上面新建一行插入

     

    (2)光标移动

    H

     ↓ 

    J

    ↑ 

    K

    L

    ②  G  移到文件尾

         gg  移到行首

         nG 或ngg 光标定位到第n行

    ③   f  移动到光标右边的指定字符上,如fx,会定到右边第一个‘x’字符上

         F  移动到光标左边的指定字符上

         t  移动到光标右边的指定字符之前

         T  移动到光标左边的指定字符之前

    ④  0或^  光标定位到行首

    ⑤  $  光标定位到行尾

    ⑦  w  光标向右移一个单词,光标定到首字符

         e  光标定到尾字符

         b  光标定到单词首字符

    ⑧  n  跳到当前下n行

    ⑨  :n 光标定位到第n行 (ps:底行模式下)

         空格n  光标定位到第n行

    ⑩  Ctrl + b  屏幕往后翻动一页

        Ctrl + f  屏幕往前翻动一页

        Ctrl + u  屏幕往后翻动半页

        Ctrl + d  屏幕往前翻动半页

     

    (3)修改操作

    ①  r  替换一个字符

    ②  cw 替换一个单词

    ③  cc 替换一行

    ④  C  替换从光标至行尾

     

    (4)删除操作

    ①  x  删除一个字符

    ②  dw 删除当前词

    ③  ndw 删除n个词

    ④  dd 删除当前行

    ⑤  ndd 删除n行

    ⑥  :m,nd  删除从第m行到第n行

            ps:删除后的字符放在剪贴板上,可以用p/P粘贴。

    ⑦  D  删除到行尾

    ⑧  dtc  当前行上删除到下一次出现的c字符的前一字符

        dfc  当前行上删除到下一次出现的c字符

       

    (5)拷贝操作

    ①  yw  拷贝词

    ②  nyy或nY  拷贝n行

    ③  :1,4cos3  拷贝从行1至行4在行3之后

    ④  :4,6m7    移动从行4至行6在行7之后

     

    (6)粘贴操作

    ①  p  当前行下粘贴一行 或 当前光标后一字符粘贴一词

    ②  P  当前行上粘贴一行 或 当前光标处粘贴一词

    (7)撤销操作

    ①  u  撤销

    ②  U  撤销到上一次的操作

    (8)查找操作

    ①  #   高亮显示当前光标处词

    3、vi底行模式功能键

      (1):w [newname] 保存 [到新文件]

      (2):q   退出

      (3):q!  强制退出,不做保存

      (4):wq 或 :x或 shift + zz  保存退出

      (5)/string  向下查找匹配字符串

           ?string  向上查找匹配字符串

           n 重复刚才同样的搜索

           N 以相反的方向,重复刚才同样的搜索

      (6)set nu/nonu 显示/取消行号

      (7)set ts=4  设置tab长度

      (8)noh  去高亮显示状态

      (9)ctrl + z 挂起vi;  fg  打开挂起的vi

     

    4、快捷键

    (1)shift 5 找到对应括号关系

    (2)shift 8 找到所有光标处所指定的字符并加高亮

    (3)gg=G  从首行到底行缩进

           n==  光标所在行起n行缩进

    (4),$s/hello/helen/g   从光标处开始hello替换为helen

           1,$s/hello/helen/g  第一行开始全部替换

           %$s/hello/hellen/g  全部替换

  • 相关阅读:
    Flink 的datastreamAPI 以及function函数的调用,性能调优
    Spark Shuffle原理、Shuffle操作问题解决和参数调优
    Spark学习之JavaRdd
    Redis学习笔记--Redis数据过期策略详解==转
    Elasticsearch 数据搜索篇·【入门级干货】===转
    HBase二级索引的设计(案例讲解)
    C中指针符*和取址符&
    java 中,如何获取文件的MD5值呢?如何比较两个文件是否完全相同呢?
    Mysql数据库的加密与解密
    Lucene 分词
  • 原文地址:https://www.cnblogs.com/onetaste/p/vi.html
Copyright © 2011-2022 走看看