正式班D13
2020.10.22星期四 正式班D13
修改文件内容
vim编辑
vim基础
- 可理解为Windows下的文本编辑器
- vim可用来修改配置、写脚本
- 三种模式(命令模式、输入模式、末行模式)
- 命令模式按a(所选后面开始输入)、A(所选行的行尾)、i(所选前一位输入)、I(所选行的行首)、o(所选新起下一行)、O(新起上一行)等进入输入模式
- 命令模式按':'键进入末行模式
- 输入模式、末行模式进入命令模式
命令模式
光标的移动
- $ # 光标移动到当前行的行尾
- 0 # 光标移动到当前行的行首
- gg # 光标移动到首行的行首
- G # 光标移动到尾行的行尾
- nG # n为数字,光标移动到第n行(20G是移动到20行行首)
- H # 光标移动到当前界面首行的行首
- h #光标往左移
- j # 光标往下移
- k # 光标往上移
- l # 光标往右移
- M # 光标移动到当前界面中间行的行首
- L # 光标移动到当前界面尾行的行尾
- ^ # 光标移动到第一个非空格字符
删除、复制、剪切
- dd # 剪切、删除光标所在行
- ndd # n为数字,即删除光标及往下n行(20dd是删除20行)
- yy # 复制光标所在行
- nyy # n为数字,即复制光标及往下n行(20yy就是复制20行)
- p # 粘贴到光标下一行
- P # 粘贴到光标上一行
- np # n为次数,5p就是粘贴5次
- u # 撤回
- CTRL+r # 撤回撤销
- r # 用来修改光标所在的字符
- R # 进入替换模式
- x # 删除光标所在字符
- D # 从光标处删除至行尾
可视块
- 批量去注释
- 光标移动到需要去注释的行首
- CTRL+v
- 上下键选择#
- 按"d"
- 批量加注释
- 光标移动到需要去注释的行首
- CTRL+v选择好一列
- 按shift+i,按#
- 连续按两次Esc
- 批量去注释
查找内容
/查找的内容
输入模式
CTRL+p 或CTRL+n# 自动补全命令(相当于Tab)
例如:上文输入过ifconfig,下文输入if再按ctrl+p或n可自动补全ifconfig
例二:上文输入过print、prend,下文输入pr再按ctrl+p/n会有两个选项选择
末行模式(:)
- 基础命令
- :10 # 进入第十行
- :w # 保存
- :q # 退出(:q!强制退出)
- :wq # 保存退出(:wq!强制保存退出)
- :x # (保存退出)
- : set nu # 加行号
- : set nonu # 去行号
- : set ic # 不区分大小写
- : set ai # 自动缩进
- 查找替换
- :范围 s/xxx/yyy/选项
- :1,5 s/xxx/yyy/ # 表示从1~5行的首个xxx替换为yyy
- :1,$ s/xxx/yyy/ # 表示从1到最后一行的首个xxx替换为yyy
- :1,5 s/xxx/yyy/g # 表示从1~5行的全部xxx替换为yyy
- :% s/xxx/yyy/ # 表示全文的xxx替换为yyy(%为所有行g为一整行)
- :% s/^xxx/yyy/g # 表示以xxx开头的替换为yyy
- :% s/xxx$/yyy/g # 表示以xxx结尾的替换为yyy
- :% s/^xxx$/yyy/g # 表示以xxx开头且以xxx为结尾的替换为yyy
- 读入文件
- :w # 保存
- :w /aaa.txt # 另存为/aaa.txt
- :1,3 w/2.txt # 将1~3行另存到/2.txt
- :r /etc/hosts # 将/etc/hosts插入到光标下一行
- :范围 s/xxx/yyy/选项
- 基础命令
设置环境
- 临时设置
- :set nu # 设置行号
- :set nonu # 取消设置行号
- :set ic # 不区分大小写
- :set noic # 取消不区分大小写
- :set ai # 自动缩进
- :set list # 用$标识行尾
- 永久设置
- /etc/vimrc # 影响所有系统用户
- ~/.vimrc # 影响某一个用户(在家目录下新增一个文件)
- 输入set ic及set nu
- 临时设置
同时编辑多个文件
vim -o 文件1 文件2 # 水平分隔
vim -O 文件1 文件2 # 垂直分割
用CTRL+ww切换
vim -p 文件1 文件2
用CTRL+PgUp,CTRL+PgDn切换
文件内容对比
diff # 文件对比(no)
vimdiff # 以vim方式打开两个文件对比,高亮显示不同的内容
vimdiff 文件1 文件2 # 用CTRL+ww切换
vim执行过程
遇到故障意外退出时,会保存.swp文件,再次编辑时会提示
打补丁
- 创建1.txt和2.txt两个文件(1基础本,2修改版)
- diff -u 1.txt 2.txt > a.diff # 以2.txt为准的补丁文件
- diff -u 2.txt 1.txt > b,diff # 以1.txt为准的补丁文件
- patch 1.txt a.diff # 将1.txt改成与2.txt一样(a补丁打入1.txt)
- patch 1.txt b.diff # 将新的1.txt改回原来的1.txt
正式班D13的更多相关文章
- 正式班D5
2020.10.10星期六 正式班D5 一.上节课复习 1.硬盘分类 1.机械磁盘 io时间=平均寻道时间+平均延迟时间 buffer:写缓冲区 cache:都缓存 2.固态硬盘 ...
- 正式班D7
2020.10.13星期二 正式班D7 一.上节课复习 Linux发展 批处理系统 多道技术 分时操作系统 multics->Unix->minix->Linux(如Redhat.c ...
- 正式班D8
2020.10.15星期四 正式班D8 一.上节课复习 OSI七层协议 socket socket是对传输层以下的封装 IP+port标识唯一一个基于网络通讯的软件 TCP与UDP TCP:因为在通信 ...
- 正式班D9
2020.10.16星期五 正式班D9 一.vmware workstation的使用 虚拟机管理软件 定义 虚拟机(Virtual Machine)软件是一套特殊的软件,它可以作为操作系统独立运行, ...
- 正式班D11
2020.10.20星期二 正式班D11 bash解释器交互式环境特性 命令和文件自动补全(Tab只能补全命令和文件) 快捷键 CTRL+C ==>终止前台运行的程序 CTRL+D ==> ...
- 正式班D12
2020.10.21星期三 正式班D12 一.目录结构 系统目录结构 目录 文件夹:存放的是具体有哪些文件 文件:存放的就是具体的数据 需要记住的 /dev/cdrom # 光盘设备,光盘里存放的内容 ...
- 正式班D14
2020.10.23星期五 正式班D14 9.5 文件处理三剑客(支持|) 9.5.1 sed流式编辑器 事先制定好编辑文件的指令,让sed自动完成对文件的整体编辑(同一时间内存中只有文件中一条) # ...
- 正式班D16
2020.10.27星期二 正式班D16 目录 9.9 字符处理命令 9.9.1 sort排序 9.9.2 uniq去重 9.9.3 cut处理规律文本 9.9.4 tr替换 9.9.5 wc统计 9 ...
- 正式班D20
2020.11.02星期五 正式班D20 目录 11 软件包管理 11.1 软件包介绍 11.1.1 编程语言分类 11.1.2 三种安装包 11.2 rpm包管理 11.2.1 rpm包简介 11. ...
随机推荐
- JVM垃圾回收器前瞻
垃圾回收器的新发展 GC仍然处于飞速发展之中,目前的默认选项G1 GC在不断的进行改进,很多我们原来认为的缺点,例如串行的Full GC.Card Table扫描的低效等,都已经被大幅改进,例如, ...
- openstack核心组件——cinder存储服务(11)
一.cinder 介绍: 理解 Block Storage 操作系统获得存储空间的方式一般有两种: 通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区.格式化.创建文件系 ...
- Golang的Context介绍及其源码分析
简介 在Go服务中,对于每个请求,都会起一个协程去处理.在处理协程中,也会起很多协程去访问资源,比如数据库,比如RPC,这些协程还需要访问请求维度的一些信息比如说请求方的身份,授权信息等等.当一个请求 ...
- MVC设计模式-笔记1
MVC不仅仅是一个设计模式,它应该说是一种软件开发架构模式,它包含了很多的设计模式,最为密切是以下三种模式: 1.Observer观察者模式 2.Composite组合模式 3.Strategy策略模 ...
- PowerJob 从 0 到 1.9k star 的经历
本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri 本文就是<讲解 PowerJob>系列的最后一篇文章了,纯粹是写点经历写点心路历程啥的,和大家道个别. ...
- Unity3d 游戏设计(一)井字棋
3D游戏设计(一)井字棋 运行效果: 实现过程 声明变量: public Texture2D O; public Texture2D X; GUIStyle myStyle; private int ...
- 微服务实战系列(十)-网关高可用之中间件Keepalived
1.场景描述 因为要做网关的高可用,用到了keepalived+nginx,来保证nginx的高可用,如下图: 安装了keepavlived,走了一些弯路,记录下吧,nginx的安装就不多说了,博客已 ...
- Vue编写的页面部署到springboot网站项目中出现页面加载不全问题
问题描述: 在用Vue脚手架 编写出一个页面之后, 部署到后台项目中, 因为做的是一个页面 按理来说 怎么都能够在服务器上运行 , 我也在自己的node环境测试 , 在同学的springboot上运行 ...
- Python练习题 021:递归方法求阶乘
[Python练习题 021] 利用递归方法求5!. ---------------------------------------------- 首先得弄清楚:5! 指的是"5的阶乘&qu ...
- python基础知识 变量 数据类型 if判断
cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 飞机 内存:暂时存储一些数据,临时加载数据和应用程序 4G 8G 16G 32G 速度快,高铁 断电即消失 造价高 硬盘 ...