vi/vim 编辑器如何去掉行终止符(line terminator)

vim hello.txt
# 输入hello
# :wq 保存退出
cat hello.txt

结果是这样的:
图片描述

然而:

echo -n "hello" > hello.txt
cat hello.txt

结果是这样的:
图片描述
没错, 此时的cat有终止标记, 且file会显示with no line terminators

但此时用vim一编辑, 再保存, 又有了行终止符.

使用nano可以看到这个换行符, 但是我不会也不常用nano啊(别见笑)

-- 以下内容与主题无关, 只是描述下事故背景 --

这个问题导致我在nginx使用ssi时,多出了个换行符,以至于样式和js的地址拼接换行, 多数浏览器无法正常加载.

<link type="text/css" href="<!--#include virtual='/inc/cdn.inc'-->/public/index.css?v=<!--#include virtual='/inc/version.inc" />

file: cdn.inc, 因手动vim编辑了该文件, 导致网站多数用户样式挂了却未发觉(多出了换行符)

mydomain.com

file: version.inc, 上线时脚本会更新该文件, 用于清浏览器缓存

1477452280307
阅读 4.5k
2 个回答
:set noendofline binary
:w

查看一下set ff是否设置为了dos

linux的话,一般都是set ff=unix的配置吧?

----- 编辑----
实验了一下,跟ff好像没关系-。-

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题