Emacs ^M在文件名中&查找文件

Emacs ^M在文件名中&查找文件,emacs,Emacs,更新:这仅在我从Windows计算机访问特定服务器时发生 使用emacs tramp-plink,我登录到两个不同的服务器,其中一个服务器的find file出现问题 如果我在目录中完成制表符填写,则所有文件名都会附加^M,例如: Click <mouse-2> on a completion to select it. In this buffer, type RET to select the completion near point. Possible completion

更新:这仅在我从Windows计算机访问特定服务器时发生

使用emacs tramp-plink,我登录到两个不同的服务器,其中一个服务器的find file出现问题

如果我在目录中完成制表符填写,则所有文件名都会附加^M,例如:

Click <mouse-2> on a completion to select it.
In this buffer, type RET to select the completion near point.

Possible completions are:
-name^M       ../^M
./^M         .bash_history^M
.git/^M       .gitconfig^M
.gitignore^M  .lesshst^M
.ssh/^M       .subversion/^M
有人经历过类似的问题吗^M是不可收集的

^M是回车键

这可能与DOS与Unix的换行有关

DOS: (13, 10)
Unix: (10)
因此,当您想使用DOS风格写行时,Unix风格的渲染器会说:

your like(char13)
another line
检查你的终端和类似的东西

而且。。。如果在DOS中为Unix编写批处理文件,也会发生同样的情况。您必须使用dos2unix文件名对其进行转换,以删除文件中多余的13。

^M为Enter

这可能与DOS与Unix的换行有关

DOS: (13, 10)
Unix: (10)
因此,当您想使用DOS风格写行时,Unix风格的渲染器会说:

your like(char13)
another line
检查你的终端和类似的东西


而且。。。如果在DOS中为Unix编写批处理文件,也会发生同样的情况。您必须使用dos2unix文件名对其进行转换,以删除文件中多余的13。

^M实际上是回车/换行十六进制0x0d的回车部分,2015年10月。您可能需要将服务器配置为使用换行符作为换行符。在emacs中可能有办法解决这个问题,但我现在还不知道


在某种程度上,这是MS Windows回车/换行与Linux换行的问题。然而,这并不是因为历史上有一个很好的理由而存在如此简单和两种类型的行尾

^M实际上是回车/换行十六进制0x0d的回车部分,2015年10月。您可能需要将服务器配置为使用换行符作为换行符。在emacs中可能有办法解决这个问题,但我现在还不知道


在某种程度上,这是MS Windows回车/换行与Linux换行的问题。然而,这并不是因为历史上有一个很好的理由而存在如此简单和两种类型的行尾

如其他地方所述,^M是CR字符,它构成了在DOS中用作行终止符的CR LF对的前半部分。Unix/Linux只使用LF,因此^M显示为一个额外字符

当我在vim中看到这一点时,我通过搜索^M并将其替换为空来删除它。要指定^M,请按ctrl-V,然后按M


我相信emacs也有办法做到这一点。

正如其他地方提到的,^m是CR字符,它构成了在DOS中用作行终止符的CR LF对的前半部分。Unix/Linux只使用LF,因此^M显示为一个额外字符

当我在vim中看到这一点时,我通过搜索^M并将其替换为空来删除它。要指定^M,请按ctrl-V,然后按M

我相信emacs也有办法做到这一点。

试试看

    (add-hook 'comint-output-filter-functions
        'shell-strip-ctrl-m nil t)
    (add-hook 'comint-output-filter-functions
        'comint-watch-for-password-prompt nil t)
甚至可能

'(ansi-color-for-comint-mode-on)
'(ansi-color-for-comint-mode-filter)
试一试

甚至可能

'(ansi-color-for-comint-mode-on)
'(ansi-color-for-comint-mode-filter)

Emacs有,我认为这是C-qc-m。不行:我必须从minibuffer切换到find file缓冲区。另外,find file buffer是只读的。Emacs是,我认为它是C-qc-m。不行:我必须从minibuffer切换到find file buffer。此外,“查找文件缓冲区”是只读的。我不确定它是否与行尾有关,因为它与文件内容无关,而是与文件名列表有关。我不确定它是否与行尾有关,因为它与文件内容无关,而是与文件名列表有关。