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) 的设置. 现在我们要制作这样一个列表:
随机推荐
- Swoole 源码分析之 Timer 定时器模块
原文首发链接:Swoole 源码分析之 Timer 定时器模块 大家好,我是码农先森. 引言 Swoole 中的毫秒精度的定时器.底层基于 epoll_wait 和 setitimer 实现,数据结构 ...
- Swift Copy On Write 多线程下面的资源竞争
Swift中的String.Array.Dictionary等容器类型默认实现了写时复制,这个操作在多线程下面可能会带来错误 https://bugs.swift.org/browse/SR-6543
- CSP-S2021 游记
那天是惊蛰 满天花瓣 就像现在 我看清了无池里的那个人 前言 终于是开了 游记 的坑(期盼已久!) 虽然参加过 CSP-J2019 ,CSP-S2020 以及 NOIP2020 ,但是都没有写过游记( ...
- k8s——daemonset
daemonset 为每一个匹配的node都部署一个守护进程 # daemonset node:type=logs daemonset 选择节点 - nadeSelector: 只调度到匹配指定的la ...
- Java StringBuffer 与StringBuilder 类的介绍与区别
目录 StringBuffer类(用来解决String类的内存浪费问题) 构造方法 public StringBuffer(); 无参构造 public StringBuffer( String ); ...
- (编程语言界的丐帮 C#).NET Framework 读取Excel到DataTable
(编程语言界的丐帮 C#).NET Framework 读取Excel到DataTable 生成DataTable到Excel,支持 2007 .xlsx,2003 .xls. nuget 引用 NP ...
- 白话理解和使用DOCKER VOLUME
Docker使用Volume来管理宿主机和容器内数据的映射 什么是数据卷(Volume)Docker镜像被存储在一系列的只读层中.当我们创建一个容器时,Docker会读取镜像(只读),并在其顶部添加 ...
- javascript 生成器和迭代器
前置知识 生成器函数会返回一种称为Generator的迭代器 迭代器是一个对象,定义一个序列,并在终止时返回一个返回值 Symbol.iterator为每一个对象定义了默认的迭代器,可以被for..o ...
- Flarum 安装和使用教程
随着开源社区的日益繁荣,人们对社区品质的要求也越来越高.传统的 BBS 论坛模式已经难以满足现代用户对美观.便捷.互动性的需求.搭建一个现代化的高品质社区,成为许多网站管理者的迫切需求和共同挑战. 今 ...
- 开源一个反sql注入的asp.net core中间件
现在公安有一个专门负责信息安全的部门,前几天公司就收到了一个整改通知,防sql注入的整改. 我们公司开始对网站进行了简单的测试,普通的sql都能检测出来. 但还是被发了整改通知,肯定有些sql注入的方 ...