为什么 ^M 和 ^[ 被附加到我的文件中?
我注意到有时 Vim 在每行末尾显示 ^M
,或者在左括号 [
前面显示 ^[
。
这些字符是什么意思以及如何摆脱它们?
我在 Debian 上运行 Vim 7.3。
I noticed that sometimes Vim shows ^M
at the end of every line, or ^[
in front of an opening bracket [
.
What do these characters mean and how can I get rid of them?
I'm running Vim 7.3 on Debian.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
^M 是 dos 风格的行结尾。您可以使用 dos2unix 程序摆脱它们:
dos2unix (yourfile)
^M is dos-style line endings. You can get rid of them by using the dos2unix program:
dos2unix (yourfile)
这些是控制字符。 ^M 代表回车符,在 Windows 中使用,正如其他答案已经解释的那样。
^[ 是转义字符。当后跟左方括号(“[”)时,它可能表示 ANSI 转义序列。请参阅这篇文章了解更多信息:
http://en.wikipedia.org/wiki/ANSI_escape_code
以及尝试一下。例如,在您的终端中:
每个 ^[ 都可以插入 controlVcontrol[ 。所以输入顺序实际上是:
... controlVcontrol[[7米 ...
These are control characters. The ^M represents the carriage return, used in windows as the other answer already explain.
The ^[ is the escape character. When followed by a opening square bracket ("[") it probably means an ANSI escape sequence. See this article to know more:
http://en.wikipedia.org/wiki/ANSI_escape_code
And give it a try. For example, in your terminal:
Where each ^[ can be inserted with controlVcontrol[. So the sequence of typing is actually:
... controlVcontrol[[7m ...
这些是控制字符。 此处 是有关如何在 vi 中删除它们的链接。
These are control characters. Here is a link on how to remove them in vi.
Vim wiki 上的这篇文章应该对您有帮助:文件格式。
尽管文章标题可能看起来不同,但它确实讨论了行结尾和 unix/dos/macos 文件格式。
This article on Vim wiki should help you: File format.
Though the article title may seem to be different it does talk about line endings and unix/dos/macos file formats.