You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用vim创建文件时是否会自动添加隐藏的换行符\n?

你观察到的末尾\n是Vim默认自动追加的换行符,属于编辑器的标准默认行为,具体原因和调整方法如下:

原因说明

POSIX规范对文本文件的定义要求:文本文件的每一行都需要以<换行>字符结尾,包含最后一行。Vim默认遵循该规范,保存文件时如果检测到文件末尾没有换行符,就会自动补充。
你输入12后没有主动输入换行,Vim保存时自动追加了1字节的\n,所以最终文件大小为3字节,base64编码结果对应12\n的MTIK而非12的MTI=。
img1
img2

调整默认行为的方法

如果你不需要Vim自动补充末尾换行,可按需选择配置:

  • 单次生效:当前文件保存前,在Vim命令模式执行 :set nofixendofline 后再保存即可
  • 永久生效:将 set nofixendofline 写入Vim配置文件(默认路径为~/.vimrc),后续所有编辑操作都会遵循该规则

快速生成无末尾换行文件的方法

如果仅需要生成内容为12、大小为2字节的文件,不需要进入Vim编辑,直接在终端执行命令即可:

echo -n "12" > 目标文件名

其中-n参数会取消echo命令默认追加的末尾换行。

内容的提问来源于stack exchange,提问作者zyLoong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:06:04