• Linux学习之路三


    1.  VI编辑器

    1.1 Vi 简介

    • Linux中的最经典的文本编辑器

    • 只能是编辑文本内容,不能对字体段落进行排版

    • 不支持鼠标操作

    • 没有菜单

    • 只有命令

    1.2  编辑器的使用

    命令行模式:刚进来处于的模式

    编辑模式:输入:i、O、o a A  ...

    底行模式:按Esc键;然后输入::wq (wq:保存退出)

    vi a.txt #打开a.txt文本进入编辑模式
    vi a.txt +10 #打开a.txt文本并且定位到第10行进行编辑
    #vim是vi的增强版,更加的智能 

      命令行模式可以操作的命令:

    命令功能
    o 在当前行后面插入一空行
    O 在当前行前面插入一空行
    dd 删除光标所在行
    ndd 从光标位置连续向下删除 n 行
    yy 复制光标所在行
    nyy 从光标位置连续向下复制 n 行
    p 粘贴
    u 撤销
    gg 回到文件顶部
    G 回到文件末尾
    /str 查找str

      底行模式可以操作的命令: 

    命令功能
    :q 退出
    :wq 保存退出
    :wq! 强制保存退出
    :w 保存
    :q! 修改内容不想保存
    :w a.txt 将当前文件另存为a.txt
    :x 保存退出
    shift +z+z 保存退出
    :set nu 设置行号
    :%s/旧文本/新文本/g 文本替换
    :12 将光标定位到第12行

      编辑模式 就可以直接编辑了

    命令           作⽤
    a        在光标后附加⽂本
    A(shift + a)  在本⾏⾏末附加⽂本 ⾏尾
    i          在光标前插⼊⽂本
    I(shift+i)    在本⾏开始插⼊⽂本 ⾏⾸
    o          在光标下插⼊新⾏
    O(shift+o)      在光标上插⼊新⾏
     
      定位命令:
    :set nu            设置行号
    :set nonu      取消行号
    :G     到最后一行
    :gg    到第一行
    :nG    到第n行
    :n     到第n行
     
      保存退出:
    :wq  保存退出
    :q    退出
    :q!    强制退出
    ZZ    保存退出
     
      删除命令:
    :dd  删除光标所在行
    :n1,n2d  删除指定范围的行
    :dG  删除光标所在行到末尾处的内容
    :D  删除光标所在行的行尾
     
      搜索和替换命令
    命令            作⽤
    /string        向后搜索指定字符串
    ?string        向前搜索指定字符串
    n        搜索字符串的下⼀个出现位置,与搜索顺序相同
    N(Shift + n)   搜索字符串的上⼀个出现位置,与搜索顺序相反
    :%s/old/new/g    全⽂替换指定字符串
    :n1,n2s/old/new/g    在⼀定范围内替换指定字符串
      注意:  当遇到特殊字符时,需要进⾏转义处理:⽐如 . 写成 . * 写成 * ^ 写成 ^
    #  % 指全⽂,s 指开始,g 指全局替换
    #  起始⾏,终⽌⾏s/要替换的字符串/替换的新的字符串/g 将/g换成/c 询问确认
    #  eg: : %s/ftp/yang/g 全局替换,把ftp替换为yang
    #  eg: : 41,44/yang/lee/c 从41⾏到44⾏,把yang替换为lee,询问是否替换
    #  eg: : 41,44/yang/lee/g 同上,不询问,直接替换
    #  eg: : %s//root//ROOT/g 把/root替换为/ROOT,遇到特殊字符需要进⾏转义处理
    #  eg: : %s#/bin/bash#/bin/ksh/g 把/bin/bash全部替换为/bin/ksh

      

      使⽤替换命令添删注释 :
    # :% s/^/#/g 来在全部内容的⾏⾸添加 # 号注释 ^代表⾏⾸
    # :1,10 s/^/#/g 在1~10 ⾏⾸添加 # 号注释
    vi⾥⾯查命令
    # :!which cp
    vi⾥⾯导⼊命令的结果
    #:r !which cp
    # I或者O进⼊插⼊模式。

      

      

  • 相关阅读:
    Mysql索引查询失效的情况
    常用的设计模式
    dubbo的实现原理
    HashMap和HashTable的区别
    SpringMVC工作原理的介绍
    SpringMVC 基础内容及使用步骤
    BeanFactory和ApplicationContext的区别+部分Spring的使用
    Spring常用的jar+普通构造注入
    如何在CentOS7上安装MySQL并实现远程访问
    如何搭建Spring MVC 框架---Hello World
  • 原文地址:https://www.cnblogs.com/joey-413/p/13952442.html
Copyright © 2020-2023  润新知