Vim 为什么windows上的ubuntu仍然使用CRLF作为行结尾

Vim 为什么windows上的ubuntu仍然使用CRLF作为行结尾,vim,Vim,我认为Windows上Ubuntu上的bash应该使用LF作为行结尾,但我错了。它似乎也使用了与Windows shell相同的CRLF。当我在使用它时,git diff给我带来了如下问题: 我知道问题是。我的意思是,Windows上Ubuntu上的bash应该使用LF作为它的行结束,而不是CRLF,是吗 更新: 我犯了一个错误,我在Bash中打开了一个特定的dos格式文件,Vim自动检测它,然后使用CRLF作为行尾。所以问题就解决了 我正在Vim中使用:set ff命令,其输出为filefor

我认为Windows上Ubuntu上的bash应该使用LF作为行结尾,但我错了。它似乎也使用了与Windows shell相同的CRLF。当我在使用它时,git diff给我带来了如下问题:

我知道问题是。我的意思是,Windows上Ubuntu上的bash应该使用LF作为它的行结束,而不是CRLF,是吗

更新: 我犯了一个错误,我在Bash中打开了一个特定的dos格式文件,Vim自动检测它,然后使用CRLF作为行尾。所以问题就解决了


我正在Vim中使用
:set ff
命令,其输出为fileformat=dos,然后我发现了错误。我可以使用
dos2unix
命令修复此问题。

这可能是为了确保
windows bash
windows操作系统上创建的
文本文件之间的兼容性。这就是为什么它使用
CRLF
作为新行

常见表述清单:

LF: Unix and Unix-like systems (Linux, OS X, FreeBSD, Multics, AIX, Xenix, etc.), BeOS, Amiga, RISC OS, and others.

CR+LF: Microsoft Windows, DOS (MS-DOS, PC DOS, etc.), DEC TOPS-10, RT-11, CP/M, MP/M, Atari TOS, OS/2, Symbian OS, Palm OS, Amstrad CPC, and most other early non-Unix and non-IBM OSes

CR: Commodore 8-bit machines, Acorn BBC, ZX Spectrum, TRS-80, Apple II family, Oberon, the classic Mac OS up to version 9, MIT Lisp Machine and OS-9

RS: QNX pre-POSIX implementation

0x9B: Atari 8-bit machines using ATASCII variant of ASCII (155 in decimal)

LF+CR: Acorn BBC and RISC OS spooled text output.

您可以将
Windows Bash
添加到
CR+LF

的列表中,您好,谢谢您的回复。也许你是对的。问题是兼容性。我必须说这不是很好的设计。从git的角度来看,我在Ubuntu上工作,但我必须记住,我一直在Windows上工作。嗨,你能解释一下这个问题与
bash
有什么关系吗。可能您使用的是名为
bash
的文本编辑器?您好,我没有使用名为bash的文本编辑器。它在Windows上是真正的bash。请注意,行尾的选择是由应用程序而不是操作系统进行的。(操作系统可能会提供一个标准,但这取决于应用程序是否遵循该标准。)
LF: Unix and Unix-like systems (Linux, OS X, FreeBSD, Multics, AIX, Xenix, etc.), BeOS, Amiga, RISC OS, and others.

CR+LF: Microsoft Windows, DOS (MS-DOS, PC DOS, etc.), DEC TOPS-10, RT-11, CP/M, MP/M, Atari TOS, OS/2, Symbian OS, Palm OS, Amstrad CPC, and most other early non-Unix and non-IBM OSes

CR: Commodore 8-bit machines, Acorn BBC, ZX Spectrum, TRS-80, Apple II family, Oberon, the classic Mac OS up to version 9, MIT Lisp Machine and OS-9

RS: QNX pre-POSIX implementation

0x9B: Atari 8-bit machines using ATASCII variant of ASCII (155 in decimal)

LF+CR: Acorn BBC and RISC OS spooled text output.