为什么^ M和^ [被附加到我的文件?

时间:2011-07-12 20:54:00

标签: linux vim special-characters

我注意到有时候Vim会在每一行的末尾显示^M,或者在左括号^[前显示[

这些字符的含义是什么?如何摆脱它们?

我在Debian上运行Vim 7.3。

4 个答案:

答案 0 :(得分:3)

^ M是dos风格的行结尾。您可以使用dos2unix程序删除它们:

dos2unix(yourfile)

答案 1 :(得分:1)

这些是控制字符。 Here是关于如何在vi中删除它们的链接。

答案 2 :(得分:1)

关于Vim wiki的这篇文章可以帮助你:File format

虽然文章标题可能看起来有所不同,但它确实讨论了行结尾和unix / dos / macos文件格式。

答案 3 :(得分:1)

这些是控制字符。 ^ M 表示回车,在窗口中使用,正如另一个答案已经解释的那样。

^ [是转义字符。当后跟一个开口方括号(“[”)时,它可能意味着ANSI转义序列。请参阅此文章了解更多信息:

http://en.wikipedia.org/wiki/ANSI_escape_code

试一试。例如,在您的终端中:

echo ^[[7mHello World!^[[m

每个 ^ [>可以插入 control V control [ 。所以打字的顺序实际上是:

... control V control [ [ 7 m ...