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

发布于 2024-11-19 14:58:30 字数 143 浏览 1 评论 0原文

我注意到有时 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

生生不灭 2024-11-26 14:58:30

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

dos2unix (yourfile)

^M is dos-style line endings. You can get rid of them by using the dos2unix program:

dos2unix (yourfile)

孤凫 2024-11-26 14:58:30

这些是控制字符。 ^M 代表回车符,在 Windows 中使用,正如其他答案已经解释的那样。

^[ 是转义字符。当后跟左方括号(“[”)时,它可能表示 ANSI 转义序列。请参阅这篇文章了解更多信息:

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

以及尝试一下。例如,在您的终端中:

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

每个 ^[ 都可以插入 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:

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

Where each ^[ can be inserted with controlVcontrol[. So the sequence of typing is actually:

... controlVcontrol[[7m ...

揽月 2024-11-26 14:58:30

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

These are control characters. Here is a link on how to remove them in vi.

原野 2024-11-26 14:58:30

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文