# Win11 下 WSL 换行符问题
先说一下最终的解决方案:
# 使用 WSL 强制创建 LF 格式文件
在 WSL 环境中运行以下命令,确保文件始终以 LF 格式保存:
echo 'export FILEFORMAT=unix' >> ~/.bashrc | |
source ~/.bashrc |
操作完之后记得把之前的文件重新生成一遍。
# VScode 设置
设置 -> 用户设置 -> 文本编辑器 -> 文件 ->eol 选项设置为 \n
或者说只修改单个文件的话直接:
打开需要转换的文件,查看右下角状态栏的行尾符格式(CRLF 或 LF),点击行尾符,弹出选项框,选择 LF ,保存文件(Ctrl+S)。
# Git 自动转换
设置 Git 转换规则,配置 Git 仅在提交时将 CRLF 转换为 LF:
git config --global core.autocrlf input |
这会在提交时将行尾符转换为 LF,但保留工作区文件的 CRLF。
如果需要工作区文件也统一为 LF:
git config --global core.autocrlf false |
然后重新克隆代码库或运行以下命令刷新文件:
git rm --cached -r . | |
git reset --hard |