• shell-vi


    1、插入模式

    i :从目前光标所在之处插入字符
    a :从目前光标所在位置的下一个字符处开始插入字符
    o :插入新的一行,从行首开始输入字符

    2、底线模式

    在插入模式下按Esc键进入命令行模式后,再输入冒号(:)进入底线模式

    3、光标移动

    GG:光标移动到文件的最后一行按
    gg:光标移动到文件的开头第一行
    $:光标移动到所在行的行尾
    ^:光标移动到所在行的行首

    使用键盘的方向键完成光标上下左右移动

    4、删除

    x:每按一次删除光标所在位置的字符
    3x :删除包含光标所在位置后的3个字符
    dd :删除光标所在的行
    3dd:删除光标所在往下的3行,包括光标所在的行

    5、复制

    yw :复制光标所在处到字尾的内容
    yy :复制光标所在的行
    p :粘贴到光标所在的下一行 

    6、替换、撤销

    r : 取代光标所在处的字符
    R :连续取代字符直到按Esc为止
    u :撤销上一步的操作,可以连续按u,撤销多个操作

    7、查找、定位

    :set nu #显示文件每一行的行号
    :set nonu #不显示文件的行号
    :set nowrap #不折行
    :输入数字 #比如:5,再按回车,将跳到相应数字的行数,第5行
    /关键字 #从当前光标开始往下查找关键字(第一个),按n, 继续往下查找,按N继续往上查找

    8、字符替换

    :1,$s/string1/string2/g #整篇文章中string1替换成string2
    :1,$s/string1/string2 #当一行出现多个string1,只替换每行的第一个string1
    :1,20s/apple/pear/g #指定区间替换,将1至20行的所有apple替换成pear

    9、保存

    :30,50 w filename #摘取文件某一段(30至50行)保存成另一个文件
    :w filename #将文件保存为filename
    :wq #保存文件并退出
    :q #退出(若文件修改过,则会报错,不能直接退出)
    :q! #强制退出,不保存修改的内容
    :wq! #强制退出,并且保存修改的内容(如果当前文件被其他用户编辑,也强制修改该文件,并退出)

    10、执行

    chmod 777 test.sh    #给test.sh文件 添加可执行权限 

    11、vi实例

    如果vi正在编辑的过程中突然断电,那么之前编辑中的文件该怎么恢复呢?
    >>打开一个文件,vi会生成一个暂存档(.swp)以备不测。如果非正常退出,再次打开文件时,会有一些提示。
    >>重新打开一个shell终端,
    查看当前工作路径下的隐藏文件:ls -a
    恢复文件:vi -r .filename
    删除暂存档: rm -f .filename.swp

  • 相关阅读:
    解析excel表格为DataSet
    easyui 上传文件代码
    上传文件后台代码
    easyui dialog
    C++ 强制设置文件大小
    std::function与std::bind
    glog 编译报错 ERROR macro is defined. Define GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h. See the document for detail.
    Qt删除目录
    C++11 中的std::function和std::bind
    TortoiseGit 使用教程
  • 原文地址:https://www.cnblogs.com/lilyo/p/11912073.html
Copyright © 2020-2023  润新知