2020.10.22星期四  正式班D13

修改文件内容

  1. vim编辑

    1. vim基础

      1. 可理解为Windows下的文本编辑器
      2. vim可用来修改配置、写脚本
      3. 三种模式(命令模式、输入模式、末行模式)
        1. 命令模式按a(所选后面开始输入)、A(所选行的行尾)、i(所选前一位输入)、I(所选行的行首)、o(所选新起下一行)、O(新起上一行)等进入输入模式
        2. 命令模式按':'键进入末行模式
        3. 输入模式、末行模式进入命令模式
    2. 命令模式

      1. 光标的移动

        1. $ # 光标移动到当前行的行尾
        2. 0 # 光标移动到当前行的行首
        3. gg # 光标移动到首行的行首
        4. G # 光标移动到尾行的行尾
        5. nG # n为数字,光标移动到第n行(20G是移动到20行行首)
        6. H # 光标移动到当前界面首行的行首
        7. h #光标往左移
        8. j # 光标往下移
        9. k # 光标往上移
        10. l # 光标往右移
        11. M # 光标移动到当前界面中间行的行首
        12. L # 光标移动到当前界面尾行的行尾
        13. ^ # 光标移动到第一个非空格字符
      2. 删除、复制、剪切

        1. dd # 剪切、删除光标所在行
        2. ndd # n为数字,即删除光标及往下n行(20dd是删除20行)
        3. yy # 复制光标所在行
        4. nyy # n为数字,即复制光标及往下n行(20yy就是复制20行)
        5. p # 粘贴到光标下一行
        6. P # 粘贴到光标上一行
        7. np # n为次数,5p就是粘贴5次
        8. u # 撤回
        9. CTRL+r # 撤回撤销
        10. r # 用来修改光标所在的字符
        11. R # 进入替换模式
        12. x # 删除光标所在字符
        13. D # 从光标处删除至行尾
      3. 可视块

        1. 批量去注释

          1. 光标移动到需要去注释的行首
          2. CTRL+v
          3. 上下键选择#
          4. 按"d"
        2. 批量加注释
          1. 光标移动到需要去注释的行首
          2. CTRL+v选择好一列
          3. 按shift+i,按#
          4. 连续按两次Esc
      4. 查找内容

        /查找的内容

    3. 输入模式

      CTRL+p 或CTRL+n# 自动补全命令(相当于Tab)

      例如:上文输入过ifconfig,下文输入if再按ctrl+p或n可自动补全ifconfig

      例二:上文输入过print、prend,下文输入pr再按ctrl+p/n会有两个选项选择

    4. 末行模式(:)

      1. 基础命令

        1. :10 # 进入第十行
        2. :w # 保存
        3. :q # 退出(:q!强制退出)
        4. :wq # 保存退出(:wq!强制保存退出)
        5. :x # (保存退出)
        6. : set nu # 加行号
        7. : set nonu # 去行号
        8. : set ic # 不区分大小写
        9. : set ai # 自动缩进
      2. 查找替换
        1. :范围 s/xxx/yyy/选项

          1. :1,5 s/xxx/yyy/ # 表示从1~5行的首个xxx替换为yyy
          2. :1,$ s/xxx/yyy/ # 表示从1到最后一行的首个xxx替换为yyy
          3. :1,5 s/xxx/yyy/g # 表示从1~5行的全部xxx替换为yyy
          4. :% s/xxx/yyy/ # 表示全文的xxx替换为yyy(%为所有行g为一整行)
          5. :% s/^xxx/yyy/g # 表示以xxx开头的替换为yyy
          6. :% s/xxx$/yyy/g # 表示以xxx结尾的替换为yyy
          7. :% s/^xxx$/yyy/g # 表示以xxx开头且以xxx为结尾的替换为yyy
        2. 读入文件
          1. :w # 保存
          2. :w /aaa.txt # 另存为/aaa.txt
          3. :1,3 w/2.txt # 将1~3行另存到/2.txt
          4. :r /etc/hosts # 将/etc/hosts插入到光标下一行
    5. 设置环境

      1. 临时设置

        1. :set nu # 设置行号
        2. :set nonu # 取消设置行号
        3. :set ic # 不区分大小写
        4. :set noic # 取消不区分大小写
        5. :set ai # 自动缩进
        6. :set list # 用$标识行尾
      2. 永久设置
        1. /etc/vimrc # 影响所有系统用户
        2. ~/.vimrc # 影响某一个用户(在家目录下新增一个文件)
        3. 输入set ic及set nu
    6. 同时编辑多个文件

      1. vim -o 文件1 文件2 # 水平分隔

        vim -O 文件1 文件2 # 垂直分割

        用CTRL+ww切换

      2. vim -p 文件1 文件2

        用CTRL+PgUp,CTRL+PgDn切换

    7. 文件内容对比

      diff # 文件对比(no)

      vimdiff # 以vim方式打开两个文件对比,高亮显示不同的内容

      vimdiff 文件1 文件2 # 用CTRL+ww切换

    8. vim执行过程

      遇到故障意外退出时,会保存.swp文件,再次编辑时会提示

    9. 打补丁

      1. 创建1.txt和2.txt两个文件(1基础本,2修改版)
      2. diff -u 1.txt 2.txt > a.diff # 以2.txt为准的补丁文件
      3. diff -u 2.txt 1.txt > b,diff # 以1.txt为准的补丁文件
      4. patch 1.txt a.diff # 将1.txt改成与2.txt一样(a补丁打入1.txt)
      5. patch 1.txt b.diff # 将新的1.txt改回原来的1.txt

最新文章

  1. (1)从底层设计,探讨插件式GIS框架的实现
  2. Block产生的内存泄露,以及解决方法
  3. Java多线程与并发库高级应用-工具类介绍
  4. 关闭Eclipse的控制台console自动跳出
  5. 【原】iOS学习45之多媒体操作
  6. phpdesigner 的配置
  7. sql截取
  8. Android编译选项eng、user、userdebug的区别
  9. oProfile 学习
  10. Android假退出不是流氓行为
  11. awk学习点滴
  12. setInterval()使用时易疏忽的点
  13. linux常用命令及使用技巧(一)
  14. textfield reload issue and other things reload problem.===================================
  15. 数据驱动-参数化(Parameters)
  16. 二、kubernetes环境搭建
  17. 使用pdfBox实现pdf转图片,解决中文方块乱码等问题
  18. sonarqube6.7安装
  19. Android获取网络状态
  20. 42. oracle通过两张表的一个字段对应,update其中一张表的某个字段

热门文章

  1. web网站——理论01
  2. Django中间件之SessionMiddleware源码分析
  3. tf.split函数的用法(tensorflow1.13.0)
  4. Java8——Stream流式操作的一点小总结
  5. 生命周期(初始化、销毁方法、BeanPostProcessor后处理Bean)
  6. (一)jenkins+git+docker
  7. kafka-Reblance
  8. Centos-搜索文件或目录-find
  9. SpringBoot整合SpringDataJPA,今天没啥事情就看了一下springboot整合springdataJPA,实在是香啊,SQL语句都不用写了
  10. 01 C语言基本介绍