vim - 如何使 vimdiff 检测行尾字符的差异(dos vs unix)
问题描述
当比较两个具有相同内容但具有行结尾的文件时,vim diff 不会检测到差异。有没有办法让 vimdiff 显示差异。
解决方案
当文件的行尾不一致(dos 与 unix)时,Vim 会将它们检测为 unix,并且行将显示尾随 CR ( ^M
),也在 diff 中。
当一个文件始终使用 dos 并且另一个文件始终使用 unix 行结尾时,您所描述的(未检测到更改)会发生。:help 'fileformat'
Vim 然后“抽象掉”选项值中一致的行尾。
一些用户将'fileformat'
值放入'statusline'
,并使用它来注意到差异。(我这样做是有条件的,只有在它与平台的默认值不同时才显示它。)
如果要在 diff 本身内显示行尾差异'fileformat'
,可以在启动时强制使用 unix:
$ vimdiff --cmd 'set fileformats=unix' file1 file2
或在 Vim 内部:
:windo e! ++ff=unix
推荐阅读
- r - 在运行循环时将预测导出到数据集
- vb.net - 如何清除 DataGridView 的标题?
- r - 如何查看或访问 R 中因子变量标签后面的值(级别)?
- r - 如何在 R 中运行截断和膨胀的泊松模型?
- java - 服务可以在 Spring Boot 中更新控制器以进行长进程吗
- sql - 子字符串前后的 Oracle 正则表达式 n 个字符,不包括空格
- flutter - 使用 MultipartRequest 通过 HTTP 上传多个图像/视频文件
- c - c中关于掩码的按位运算
- laravel - Laravel Redis Predis 和方法 GET
- c - 我的复数代码收到“预期表达式”错误