" put this in your ~/.vimrc file and :source ~/.vimrc
" then you can do: Dos2Unix
" dos2unix ^M
fun! Dos2unixFunction()
let _s=@/
let l = line(".")
let c = col(".")
try
set ff=unix
w!
"%s/\%x0d$//e
catch /E32:/
echo "Sorry, first save the file."
endtry
let @/=_s
call cursor(l, c)
endfun
com! Dos2Unix keepjumps call Dos2unixFunction()
9条答案
按热度按时间yfwxisqw1#
作为命令,键入
(To获取^M,按^V ^M,其中^在大多数键盘上是CTRL键)
ffvjumwh2#
去掉DOS行尾的一种简单方法是使用
ff
选项:现在,您的文件又回到了良好的老Unix方式。
如果你想 * 添加 * DOS行尾(为了让打印机满意,或者和没有好工具的Windows朋友传输文件),你可以轻松地走相反的方向:
ttygqcqt3#
您可以执行以下操作:
它将隐藏
^M
的,而不触及文件。5vf7fwbs4#
有一个叫dos2unix的程序可以帮你去掉这些。Windows使用不同的行尾字符,这就是为什么会发生这种情况。
4xrmg8kj5#
这对我来说很有用,因为文件中的所有内容都在一行上:
首先查找所有匹配项
(To要获取
^M
,请按^V ^M,其中^在大多数键盘上是Ctrl)然后以新行取代
组合命令将为:
7uzetpgm6#
我倾向于在重新打开受影响的文件之前通过**
fromdos
**运行它们。fromdos
是tofrodos包的一部分。ztigrdn87#
问题的根源可能是通过FTP传输。当您将这些文件从一个框FTP到另一个框时,请确保使用ASCII传输。请使用命令“ASC”。
8tntrjer8#
mhd8tkvw9#
mcedit:shift+f2,设置Unix(LF),确定