vim 处理windows文件回车符
通常情况下,我们在linux中使用vim打开window环境下编辑的文件文本时,行尾不会显示出在linux环境下多除的"\r"(window下回车符)字符。这是因为vim打开此文件时自动转换为linux的格式进行显示。如要让其显示出来,可以使用e ++ff=unix %命令。实际显示会是“^M”代表"\r"。 虽然vim在显示window格式文本时,会自动处理"\r“字符并显示出
通常情况下,我们在linux中使用vim打开window环境下编辑的文件文本时,行尾不会显示出在linux环境下多除的"\r"(window下回车符)字符。这是因为vim打开此文件时自动转换为linux的格式进行显示。如要让其显示出来,可以使用e ++ff=unix %命令。实际显示会是“^M”代表"\r"。
虽然vim在显示window格式文本时,会自动处理"\r“字符。但实际我们使用wq命令保存退出时,其并不会自动将"\r”字符去掉,保存成linux格式的文件。这样就会导致一些问题。比如window下编辑的shell脚本,在linux环境下无法执行会报如下类似错误:
./test.sh: 行 2: $'\r': 未找到命令
./test.sh: 行 8: $'\r': 未找到命令
./test.sh: 行 17: $'\r': 未找到命令
这样就需要我们做格式转换。
方法1如下:
1.vim tesh.sh 打开文件
2.输入:e ++ff=unix % 命令显示window下的回车符(\r),这时每行尾会显示^M字符,此字符就表示windows下的回车符。
3.输入:%s/^M//g 替换命令将回车符去掉。注意^M的输入方法是键盘Ctrl + V (^) 加上 Ctrl + M(M)
4.输入:wq保存文件并退出
方法2如下:
1.利用sed -i 's/\r$//' test.sh 命令直接修改文件。
方法3如下:
1.vim test.sh 打开文件
2.输入:set fileformat=unix
3.输入:wq保存并退出
更多推荐
所有评论(0)