当前位置: 首页 > article >正文

Vim跳转文件及文件行结束符EOL

跳转文件

gf 从当前窗口打开那个文件的内容,操作方式:让光标停在文件名上,输入gf。
Ctrl+o 从打开的文件返回之前的窗口

Ctrl+w+f 可以在分割的窗口打开跳转的文件,不过在我的实验不是次次都成功。

统一行尾格式

文本文件里存放的是用行结束符(EOL,即 End of Line)隔开的文本行,二进制文件里则没有这样的明确分隔符。一个文本文件由多行构成,每一行都以一个行结束符(EOL)结束。

ASCII编码表的头32个字符和最后一个字符是控制字符。如LF和CR字符就是行结束符

  • Unix格式
    在 Unix 或类Unix上,这个 EOL 在存盘时使用的字符是 LF,编码值是 10(U+000A)。

  • DOS格式
    在Windows上,行尾就不只使用 LF 这一个字符了,在 LF 前面会多一个 CR,编码值为 13(U+000D)。这个用法的来源是以前的打字机,CR 表示机架归位(carriage return),LF 表示换行(line feed)。在使用 CR LF 作为行结束符的系统里,CR 只负责光标回到第一列,而 LF 负责光标向下一行。

  • 老的Mac格式
    老的 Mac 则使用单个 CR 字符作为行结束符,但苹果从 Mac OS X(2001 年)开始就使用了 Unix 风格的行结束符。

:e ++ff=dos 强制以 DOS 行尾加载文件,此时文件的行尾格式是 dos

:%s/\r$// 删除行尾多余的 CR 字符,此时文件的行尾格式保持 unix 不变

注意:

在Unix或类Unix上,文本文件的任何一行都以行结束符终结,包括最后一行。使用 Vim 编辑的文本文件,最后一个字符通常是 LF(除非使用 Mac 行尾风格,则结尾是 CR)。
而在Windows 上大部分文本编辑器则允许最后一行不以行结束符结束。这样的文件在 Vim 打开时,Vim 默认会给出一个“[noeol]”的提示。在存盘时,Vim 则会自动在最后添加一个行结束符。

编辑二进制文件

Vim也可以用来编辑二进制文件。

vim -b 二进制文件
入vim后,通过命令打开:
:e ++binary 二进制文件

用以上命令来打开二进制文件时,binary 选项会自动被设置。这个选项保证了,Vim 在读取和存储文件时,不会做会影响文件内容的转换和修改。

不过,即使有这个选项,二进制文件打开后仍然是一堆乱码。可以利用 Vim 的 Tools(工具)菜单下的“Convert to HEX”(转换成十六进制)和“Convert Back”(转换回)两项,来对二进制文件进行编辑。我安装的MacVim有这个功能,应该其他的GUI也会有:
请添加图片描述
如果你要把修改写回硬盘的话,一定要先使用“Tools > Convert Back” 。


http://www.kler.cn/a/535789.html

相关文章:

  • 数据结构与算法学习笔记----博弈论
  • 在 Mac M2 上安装 PyTorch 并启用 MPS 加速的详细教程与性能对比
  • DeepSeek RAGFlow构建本地知识库系统
  • 3.5 Go(特殊函数)
  • 2025蓝桥杯JAVA编程题练习Day2
  • MySQL
  • A2DP/HFP音频蓝牙模块+玩具,开启儿童成长智能时代
  • 20250205确认荣品RK3566开发板在Android13下可以使用命令行reboot -p关机
  • java面试题-集合篇
  • 【C++】STL——list的使用与底层实现
  • 第二次连接k8s平台注意事项
  • 后端生成二维码
  • 单节锂电池外部供电自动切换的电路学习
  • Git 工作区、暂存区与本地仓库的关系详解
  • TCP | RFC793
  • Django基础篇(1)--介绍
  • IDEA 中集成 Maven,配置环境、创建以及导入项目
  • 如何规避反爬虫机制
  • springBoot开发步骤和知识点
  • 测试驱动开发(TDD)实践:从理论到实践
  • 前端面试项目总结——WebGL篇
  • javaEE-9.HTML入门
  • MySQL——表操作及查询
  • 七大排序思想
  • 深入理解linux中的文件(下)
  • Git登录并解决 CAPTCHA