文件系统换行格式 fileformat

回忆保留环境的细节

  • 上次我们了解了viminfo
  • 他能够保存

    • 命令行历史
    • 标记
    • 寄存器
  • 把他和 :mksession 一起使用就可以完美复原环境了
  • 还有什么是和环境相关的东西呢?

文件系统换行格式

  • 我们可以看到不同的文件系统是有不同的换行符符号的
  • 主要有三种

    • unix - <CarriageReturn> - 对应0x0d
    • mac - <LineFeed> - 对应0x0a
    • windows - <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的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  5. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  6. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

  7. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  9. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  10. oeasy教您玩转linux010107那啥在哪 whereis

    回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:

随机推荐

  1. GROK 一个强大的调试工具

    GROK 在线工具 在线英文版地址 http://grokconstructor.appspot.com/ 中文翻译版 GitHub https://github.com/systemmin/Grok ...

  2. swagger 的配置

    1,开启swagger : c.IncludeXmlComments(GetXmlCommentsPath()); protected static string GetXmlCommentsPath ...

  3. mySql脚本转换成sqlserver脚本(主流数据库的脚本都能转换,需要使用powerdesigner)

    我使用的powerdesginer版本是16.5,只需要脚本文件就可以了,不需要安装mysql和sqlserver. 文件->反向工程->Database... 选择原脚本文件的数据库类型 ...

  4. Python闭包和装饰器原理

    # Python闭包和装饰器 ############# 闭包 ############## ''' 1. 一个外层函数,内嵌一个内层函数: 2. 内层函数使用外层函数的参数: 3. 外层函数将内层函 ...

  5. linux server Vue 或其它单页面项目站点 nginx 实施部署

    # nginx vue 处理前台路由 history 模式刷新 404 的问题 location / { try_files $uri $uri/ /index.html; if ($uri ~* . ...

  6. Hugging Face x LangChain: 全新 LangChain 合作伙伴包

    我们很高兴官宣发布 langchain_huggingface ,这是一个由 Hugging Face 和 LangChain 共同维护的 LangChain 合作伙伴包.这个新的 Python 包旨 ...

  7. 【Effective C++】设计与声明——成员变量和成员函数

    将成员变量声明为private 为什么成员变量不该是public? (1)从语法一致性来说,如果成员变量不是public,就需要通过成员函数访问成员变量.public接口内的每样东西都是函数的话,客户 ...

  8. DS Record

    八云蓝自动机 Ⅰ 首先我们对于操作 \(1\) 转换,我们给 \(k\) 单独再开一个点 \(a_c\),这样我们就可以把操作 \(1\) 转换成操作 \(2\) 了. 对于区间问题,我们考虑使用莫队 ...

  9. 模拟登录之web监控

    1.什么是web监控 zabbix除了能通过 脚本+自定义key,实现服务器数据提取监控以外 也支持对网页的HTTP请求.响应监控. 2.web监控需求 以zabbix-UI页面的登录监控,模拟登录, ...

  10. 燕千云 YQCloud 数智化业务服务管理平台 发布1.13版本

    2022年6月10日,燕千云 YQCloud 数智化业务服务管理平台发布1.13版本.本次燕千云1.13版本新增了远程桌面.知识库多人在线协作.移动端疫苗核酸信息管理.单据委托代理.技能管理.产品自助 ...