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) 的设置. 现在我们要制作这样一个列表:
随机推荐
- GROK 一个强大的调试工具
GROK 在线工具 在线英文版地址 http://grokconstructor.appspot.com/ 中文翻译版 GitHub https://github.com/systemmin/Grok ...
- swagger 的配置
1,开启swagger : c.IncludeXmlComments(GetXmlCommentsPath()); protected static string GetXmlCommentsPath ...
- mySql脚本转换成sqlserver脚本(主流数据库的脚本都能转换,需要使用powerdesigner)
我使用的powerdesginer版本是16.5,只需要脚本文件就可以了,不需要安装mysql和sqlserver. 文件->反向工程->Database... 选择原脚本文件的数据库类型 ...
- Python闭包和装饰器原理
# Python闭包和装饰器 ############# 闭包 ############## ''' 1. 一个外层函数,内嵌一个内层函数: 2. 内层函数使用外层函数的参数: 3. 外层函数将内层函 ...
- linux server Vue 或其它单页面项目站点 nginx 实施部署
# nginx vue 处理前台路由 history 模式刷新 404 的问题 location / { try_files $uri $uri/ /index.html; if ($uri ~* . ...
- Hugging Face x LangChain: 全新 LangChain 合作伙伴包
我们很高兴官宣发布 langchain_huggingface ,这是一个由 Hugging Face 和 LangChain 共同维护的 LangChain 合作伙伴包.这个新的 Python 包旨 ...
- 【Effective C++】设计与声明——成员变量和成员函数
将成员变量声明为private 为什么成员变量不该是public? (1)从语法一致性来说,如果成员变量不是public,就需要通过成员函数访问成员变量.public接口内的每样东西都是函数的话,客户 ...
- DS Record
八云蓝自动机 Ⅰ 首先我们对于操作 \(1\) 转换,我们给 \(k\) 单独再开一个点 \(a_c\),这样我们就可以把操作 \(1\) 转换成操作 \(2\) 了. 对于区间问题,我们考虑使用莫队 ...
- 模拟登录之web监控
1.什么是web监控 zabbix除了能通过 脚本+自定义key,实现服务器数据提取监控以外 也支持对网页的HTTP请求.响应监控. 2.web监控需求 以zabbix-UI页面的登录监控,模拟登录, ...
- 燕千云 YQCloud 数智化业务服务管理平台 发布1.13版本
2022年6月10日,燕千云 YQCloud 数智化业务服务管理平台发布1.13版本.本次燕千云1.13版本新增了远程桌面.知识库多人在线协作.移动端疫苗核酸信息管理.单据委托代理.技能管理.产品自助 ...