zoukankan      html  css  js  c++  java
  • linux下的文本编辑器VI的使用命令

    1. 移动光标

    H                 #移到屏幕的左上角 
    M                 #移到屏幕的中间行开头 
    L                #移到屏幕的最后一行 
    [                #移到文件开始位置 (双击)
    ]                #移到文件结束位置(双击)
    :n                #移到文件的第n行 
    Ctrl + b             #屏幕上卷一个菜单 
    Ctrl + F           #屏幕下卷一个菜单
    h                        # 将光标左移一格 
    l                        # 将光标右移一格 
    j                        # 将光标下移一格
    k                        # 将光标上移一格
    w                        # 将光标移到下一个小字的前面
    b                        # 将光标移到前一个小字的前面
    0                        # 把光标移到当前行的第一个字符处
    $                        # 把光标移到当前行的最后一个字符处

    2. 修改内容

    nx                  #删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)
    ndw                  #删除光标位置其实的n个字符组(dw删除光标所在的单词)
    d0                   #将行的开始到光标位置的字符全部删除
    d$ 或D                 #将光标位置起始到行尾的字符全部删除
    ndd                  #将光标位置起始的n行(整行)删除(dd表示删除光标所在行)
    :start,endd             #删除文件的第start到end行
    rc                         #把光符所在字符替换成c
    R                          #覆盖本行内容
    u                          #恢复上一次的修改
    cw                         #改变光标所在单词
    C                          #改变一行光标位置以后的部分
    cc或S                      #修改一整行

    3. 寻找替换

    /pattern                  #向后寻找指定的pattern ,若遇到文件尾,则从头再开始。 
    ?pattern                 #向前寻找指定的pattern ,若遇到文件头,则从尾再开始。 
    n                         #在上次指定的方向上,再次执行
    N                         #在上次指定的方向的相反方向上,再次执行上次定义的查找
    :%s/old/new/g             #查找所有old并替换为new
    :start,ends/old/new       #替换指定区域

    4. 编辑切换

    a                         #在光标之后开始输入文本 
    A                        #在行尾开始输入文本 
    I                        #在光标之前开始输入文本 
    i                        #在行首第一个非空白字符前输入文本
    o                        #在光标所在行后插入一空行
    O                        #在光标所在行前插入一空行

    5. 复制及移动文件

    yy                        #把当前行放入缓冲区
    yw                        #把光标所在的单词放入缓冲区
    p                         #将缓冲区内容取到光标所在行的下面一行
    P                         #将缓冲区内容取到光标所在行的上面一行
    :first,last co dest      #将first 到last行的数据复制到目标行(dest)下面
    :Start,end m dest       #将start 到 end行的数据移动到目标行(dest)下
    :r filename           #将指定文件的内容读入光标所在行下 

    6. 其他

    vi                 #进入vi而不读入任何文件 
    vi filename            #进入vi并读入指定名称的文件(新、旧文件均可)。 
    vi +n filename         #进入vi并且由文件的第几行开始。 
    vi + filename          #进入vi并且由文件的最后一行开始
    vi filename(s)         #进入vi并且将各指定文件列入名单内,第一个文件先读入
    u                #取消前一指令
    Ctrl + l           #刷新屏幕显示
    :set nu               #显示文件的行号,但不会存文件
    :set nonu           #解除行号显示
    e!                      #重新装入当前文件,若当前文件有改动,则丢弃以前的改动
    :sh                     #启动sh ,从sh中返回可用exit或ctrl+d
    :! Command              #执行命令command
    !!                      #重新执行上次的:! Command子命令

    7. 整理的脑图

  • 相关阅读:
    -bash: fork: Cannot allocate memory 问题的处理
    Docker top 命令
    docker常见问题修复方法
    The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
    What's the difference between encoding and charset?
    hexcode of é î Latin-1 Supplement
    炉石Advanced rulebook
    炉石bug反馈
    Sidecar pattern
    SQL JOIN
  • 原文地址:https://www.cnblogs.com/zjfjava/p/9881595.html
Copyright © 2011-2022 走看看