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) 的设置. 现在我们要制作这样一个列表:
随机推荐
- linux wget命令的重要用法:下载文件并保存,后台下载
Linux wget命令是一个下载文件的工具,它用在命令行下. #从网络下载一个文件并保存在当前目录 [root@node5 ~]# wget http://cn.wordpress.org/word ...
- C# 方块热力图
这张图右侧,0 3 6...... 30表示每个数字出现的次数,左侧就是每个数字出现次数的方块颜色图. 具体的思路是,找两个颜色 渐变的画出右侧的色条. 计算所有数字的最大最小次数,然后用他们色条 ...
- protoc-gen-go: error:inconsistent package names: , prototest
如果你已经安装proto ,以及go生成proto插件.但还是报这种错误,请看一下是否 protoc --go_out=./ *.proto 指令打错了
- 使用 TestContainers 进行数据库集成测试
在软件开发过程中,集成测试是至关重要的一环.它确保不同组件之间的协作正常,并验证系统在整体上的功能和性能.然而,传统的集成测试往往需要依赖于外部资源,如数据库.消息队列等,这给测试环境的搭建和维护带来 ...
- PaddleOCR之高性能Go语言实现OCR识别
最近为了让python语言能够直接调用PaddleOCR的C++的动态链接库,针对本人已经开源的PaddleOCR项目https://gitee.com/raoyutian/paddle-ocrsha ...
- 一文教你如何调用Ascend C算子
本文分享自华为云社区<一文教你如何调用Ascend C算子>,作者: 昇腾CANN. Ascend C是CANN针对算子开发场景推出的编程语言,原生支持C和C++标准规范,兼具开发效率和运 ...
- js重复赋值 js数据交换 js调式方法
重复赋值 对一个变量,对此赋值,存储数据 定义变量时对变量初始化 此时js语法规定,必须带有关键词var 或者let 或者const 之后使用变量时,不需要带有关键词 第一次定义变量,初始化变量,必须 ...
- zabbix如何监控服务器
1.zabbix架构图 zabbix核心概念 先记住如下zabbix中的核心几个概念 主机 ( HOST ) : 就是具体的一个监控对象,某一个被监控的实例,可以是一个数据库,也可以是一个操作系统. ...
- 用 KV 缓存量化解锁长文本生成
很高兴和大家分享 Hugging Face 的一项新功能: KV 缓存量化 ,它能够把你的语言模型的速度提升到一个新水平. 太长不看版: KV 缓存量化可在最小化对生成质量的影响的条件下,减少 LLM ...
- JavaScript通过递归实现深拷贝
思路 首先是用Object.prototype.toString.call(obj)来得到传入的值的类型,如果是几个基本类型,则直接返回值就可以了 如果是引用类型,则通过深拷贝函数递归进行再次拷贝. ...