zoukankan      html  css  js  c++  java
  • VI的基本操作

                       常用VI 编辑

    1 基本编辑指令(由指令模式进入编辑模式

    1.1 Append(追加,既在原光标所在位置后面加入字符)

    *      a  从光标所在位置後面开始插入数据,

    *      A  从光标所在行的最後面开始插入数据

    1.2 Insert(插入,既在原光标所在位置前插入字符)

    *      i   从光标所在位置前面开始插入数据

    *      I   从光标所在行最前面开始插入数据

    1.3 Open

    *      o   在光标所在行的下一行插入数据

    *      O   在光标所在行的上一行开始插入数据

    1.4 Replay (替换,既替换光标所在位置字符)

    *      r  修改光标所在字元,一次只修改一个,既光标所在字       ,并且不改变命令行状态         

    *      R  进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止

    1.5 chang(改变,既先删除需要改变的字符,然后在改变的位置输入)

       cw  改变光标所在位置的的一个字节,然后进入插入模式,如果光标在字符中间,则改变光标所在位置到该字节的结束,如果光标在字节的开头,则改变整个字节

       cb   改变光标所在位置前的一个字节~~~~

       cnw  改变光标所在位置的后n个字节

       c0   改变光标所在位置到行的开头的字节

       c$   改变光标所在位置到行结束的字节                    

    2          光标移动指令

    2.1 行的移动

    h   向左移动   nh  向左移动n个字符

    j   向下移动    nj   向下移动n

    k   向上移动   nk   向上移动n

    l    向右移动   nl   向右移动n个字符

    0               移动到光标所在行的最前面

    $   移动到光标所在行的最后面

    b   移动到下一个字的第一个字母

    w  移动到上一个字的第一个字母

    字符与数值的组合,

    nw   移动到下n个字的第一个字母

    nb   移动到上n 个字的第一个字母

    2.2 段的移动

    Ctrl+f  向上一页

    Ctrl+b  向下一页

    H  移动到当前屏幕的第一行

    M  移动到当前屏幕的中间行

    L  移动到当前屏幕的最后一行

    23 移动屏幕,但光标的位置不变

      z (enter)  移动当前行到屏幕的顶端,并滚动

      z .       移动当前行到屏幕的中间,并滚动

      z-       移动当前行到屏幕的底端,并滚动

    2.4 按句子移动光标

      从光标位置移动到句子的开始

      从光标的位置移动到下一个句子

    3           删除 复制

    dd   删除所在的行

    D  删除从光标位置开导到所在行的末尾

    dl  向右删除一个字符

    dh  向左删除一个字符

    dj   删除本行加下一行,总共删除2

    yy   复制 所在的行

    5yh  向前复制5个字符

    nyj  向下复制n行(包括当前行,则有N+1行)

    nyk  向上复制n行(~~~~~~~~~~~~)

    删除和复制同理

    d ,y 与下面的字符结合可控制删除,复制的位置

       0  光标所在位置到该行的最后一个字符

       $  光标所在位置到该行的第一个字符

    复制的字符被放在缓存区,P  把复制的内容放到光标之前的位置

                           p   把复制的内容放到光标之后的位

    4           取消上一次操作

    u   取消上次操作and 保存删除的行,当删除了不想删除的字符时,按u可以回到最后一次操作前的状态,连续按u 可以恢复到前n个状态。

    p(小写)   复制上一次删除的内容,复制到当前光标的下一位置,连续按p 则复制n个相同的内容

    P   复制到当前光标的上一位置

    .  重复三次操作

    5           连接下一行

     J  连接光标所在行的下一行

    6 查找字符

      /word   查找/下的字符,光标停留在查找的字符出

      for example   /dec   查找屏幕中的字符 dec

      fx  (x代表任意一个字符) 查找当前行光标后的字符x

      Fx  查找当前行光标前的字符x

        重复查找

    7 复习

    Table 2.1: Edit Commands

    Text Object

    Change

    Delete

    Copy

    1 word

    Cw

    Dw

    yw

    2 words, not counting punctuation

    2cW or c2W

    2dW or d2W

    2yW or y2W

    3 words back

    3cb or c3b

    3db or d3b

    3yb or y3b

    1 line

    Cc

    Dd

    yy or Y

    to end of line

    c$ or C

    d$ or D

    y$

    to beginning of line

    c0

    d0

    y0

    single character

    R

    x or X

    yl or yh

    five characters

    5s

    5x

    5yl

     

    Table 2.2: Movement

    Movement

    Commands

    , , ,

    h, j, k, l

    forward by word

    w or W

    backward by word

    b or B

    to end of line

    $

    to beginning of line

    0

     

    Grep SIB501 *    在当前目录下造成构件号为SIB501的构件

     

     

     

  • 相关阅读:
    LeetCode 50. Pow(x, n)
    java方法的多态性理解
    向量的相似性度量
    LeetCode 43. Multiply Strings
    java中的字符编码方式
    LeetCode 67. Add Binary
    LeetCode 2. Add Two Numbers
    LeetCode 13. Roman to Integer
    linux-系统启动过程,执行的配置文件
    linux-后台运行程序-nohup
  • 原文地址:https://www.cnblogs.com/zhangweia/p/2062447.html
Copyright © 2011-2022 走看看