文件系统换行格式 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. 大数据之Hadoop集群的HDFS压力测试

    测试HDFS写性能 原文:sw-code 1)写测试的原理 2)测试内容:向HDFS集群写10个128MB的文件(3个机器每个4核,2 * 4 = 8 < 10 < 3 * 4 =12) ...

  2. 工作流Activiti 迁移 Camunda

    后端操作 意思就是: ①更改maven②改包名.类名③改bpmn model中语法④检查迁移后有哪些功能缺失了 1.更改maven 改为 2.换包名.类名 意思就是将  org.activiti.*  ...

  3. SwiftUI(一)- VStack、HStack、ZStack布局

    SwiftUI是什么 懒得写,直接找了一篇博客: 初识 SwiftUI 三种布局 SwiftUI包括三种布局: VStack: 纵向布局,默认居中对齐 HStack: 横向布局,默认居中对齐 ZSta ...

  4. Stable Diffusion WebUI详细使用指南

    Stable Diffusion WebUI(AUTOMATIC1111,简称A1111)是一个为高级用户设计的图形用户界面(GUI),它提供了丰富的功能和灵活性,以满足复杂和高级的图像生成需求.由于 ...

  5. C语言打印数字前补0

    1.要求说明 例如有个数据为a = 0x10,要求打印输出为0x000010. 2.实现 1 #include <stdio.h> 2 3 4 int main() 5 { 6 int a ...

  6. Qt-udp通信

    1  简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=61 说明:UDP是面向无连接的,客户端并不与服务器不建立连接,直接向服务器发送数据, ...

  7. Vue 3与ESLint、Prettier:构建规范化的前端开发环境

    title: Vue 3与ESLint.Prettier:构建规范化的前端开发环境 date: 2024/6/11 updated: 2024/6/11 publisher: cmdragon exc ...

  8. react 使用 error 报错

    在使用react 中报错原因总结 01 // Warning: Can't call setState on a component that is not yet mounted. This is ...

  9. linux安装redis完整步骤

    linux安装redis完整步骤 安装:1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压 tar x ...

  10. 这个vue3的后台管理系统虽然简洁但不简单

    今天介绍一个新的Vue后台管理框架,相比其他后台功能丰富管理系统,这个后台管理系统可以用干净简洁来形容--Nova-admin Nova-admin Nova-admin 是一个基于Vue3.Vite ...