oeasy教您玩转vim - 78 - # 操作系统文件格式 fileformat
文件系统换行格式 fileformat
回忆保留环境的细节
- 上次我们了解了viminfo
他能够保存
- 命令行历史
- 标记
- 寄存器
- 把他和
:mksession一起使用就可以完美复原环境了 - 还有什么是和环境相关的东西呢?
文件系统换行格式

- 我们可以看到不同的文件系统是有不同的换行符符号的
主要有三种
unix-<CarriageReturn>- 对应0x0dmac-<LineFeed>- 对应0x0awindows-<LineFeed>- 对应0x0a0d
- 系统想要解释换行符的时候
- 怎么才能知道我用的到底是什么系统呢?
- 我们新建并打开一个文档
oeasy.txt
文件系统格式列表 fileformats
- 可以设定一个
fileformats文件系统格式选项 - 是一个字符串
- vim就以此按照字符串中的系统去分析当前文档
:set fileformats?

文件系统格式fileformat
- 但是最终具体是那种文件系统格式呢?
:set fileformat?- 注意这个没有
s
- 注意这个没有

- 文件默认是按照unix的方式保存文件的

在文件里面写上三行
写上三行
- oeasy
- o2z
- o3z

二进制形态观察
:%!xxd%所有的行- 强制转化为二进制形态

我们来分析一下

%!xxd -r可以变回去
修改字符
:%!xxd找到
6f32这个位置- 对应着
o2两个字符 - 用r 9把
6f32变成6f39 - 把
2变成了9
- 对应着

再变回来观察
:!xxd -r

修改系统格式
:set fileformat=dos- 把系统格式设置为
dos
- 把系统格式设置为

:%!xxd- 转化成二进制形态

我们可以注意到这个时候换行符被解释为
0d0a- 我们一般都是本地编辑本地看
- 什么时候需要跨系统呢?
跨系统
- 我们可能从网上下载各种各样的文件
或者我们在linux上编辑的文件被windows系统打开之后一看
- 全都没有回车
- 这就很麻烦
- 所以我们可以指定当前文件的系统格式
- 说起来vi有个快速打开网上文件的方式
直接打开网络文件

把光标放到链接上
gf
- 就可以gotoFile了
下面这些格式都支持
- http
- ftp
- scp
- rcp
- 回忆一下,跳转到函数定义
gd
总结文件格式
这次我们了解了文件格式
- unix
- dos
- mac
不同文件格式对应的换行符不同
- 可以修改当前文件的文件格式
- 也可以用二进制来观察
- 不同文件格式下
- 具体换行符的样子
为什么'6f'就对应字母
o?- 因为这是ascii基本的编码设定
- 可中文字符又是如何编码的呢?
- 下次再说!
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 vim_Linux - 蓝桥云课)
oeasy教您玩转vim - 78 - # 操作系统文件格式 fileformat的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转linux010107那啥在哪 whereis
回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:
随机推荐
- 树莓派 ubuntu server 22.x 连接无线网络
前言 树莓派系统安装完成后,需要配置网络,由于家里没有多余的网线(网线多少有点乱),所以决定配置无线上网的方式,现在记录下来操作过程 具体操作 sudo nano /etc/netplan/xxxxx ...
- django设置中文和上海时间
在settings.py配置文件中进行配置: # 设置为中文 LANGUAGE_CODE = 'zh-hans' # 设置 "亚洲/上海" 时区 TIME_ZONE = 'Asia ...
- golang开发 gorilla websocket的使用
很多APP都需要主动向用户推送消息,这就需要用到长连接的服务,即我们通常提到的websocket,同样也是使用socket服务,通信协议是基本类似的,在go中用的最多的.也是最简单的socket服务就 ...
- 基于docker的cicd
基于docker的cicd 飞书链接: https://dlk2qiw7lh.feishu.cn/docs/doccnyu14HTaamVzASIXreCSNjf 相关软件 链接:https://pa ...
- 剑指Offer-53.表示数值的字符串(C++/Java)
题目: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.14 ...
- kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ consumer实战
1.上一节课我们学习了MQTT producer 生产者步骤,MQTT consumer消费者步骤.该步骤可以从支持MRQTT协议的中间件获取数据,该步骤和kafka consumer 一样可以处理实 ...
- .NET5 .NET CORE 使用Apollo
Apollo默认有一个"SampleApp"应用,"DEV"环境 和 "timeout" KEY. nuget 中下载 "Com. ...
- n. Elasticsearch JAVA API操作
引言 Elasticsearch所支持的客户端连接方式有两种 Transport 连接 底层使用socket连接,用官方提供的TransPort客户端,网络IO框架使用的是netty Http连接(R ...
- 重学前端 - react-第二节: 添加ts + scss
重学前端 - react: 添加ts + scss 简介: 上一节我们新建了 react 项目.项目中并没有使用 ts + scss. 现在我们为项目添加 ts + scss.是项目后期维护更加方便, ...
- spring jpa restful请求示例
创建项目 导入jar包mysql 数据库和连接池jar <dependency> <groupId>org.springframework.boot</groupId&g ...