更改目录时,Emacs术语将奇怪的行粘贴到终端中

时间:2016-08-24 12:40:31

标签: emacs terminal

我在Emacs术语中使用鱼终端

我在加载时的正常提示如下所示

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish

$> 

好的,当我在term.el中加载fish term时,它看起来像这样

Welcome to fish, the friendly interactive shell
Type helpB for instructions on how to use fish
7;file://Collins-MacBook-Air.local/Users/collinbell/Programs/riddley⏎    

$> 

普通终端中的cd命令如下所示

$> cd ~/
$>

然而,在emacs term.el中它看起来像这样

$> cd ~/
7;file://Collins-MacBook-Air.local/Users/collinbell⏎             
$> 

我不知道为什么它将cwd粘贴到缓冲区中,但每次目录更改时都会这样做。此后,Emacs还会使系统发出声音,而ls等其他命令则不会使系统发出声音。

这显然不是世界上最大的问题,但我确实运行clear作为预先命令,以保持我的终端看起来干净(虽然我为这个例子关闭了它)和Emacs将这一行粘贴到缓冲区真的与崇高的使用混淆。

1 个答案:

答案 0 :(得分:1)

您似乎遇到了known issue

尝试此修复:

在您的鱼配置文件~/.config/fish/config.fish中添加以下内容:

function fish_title
  true
end

此外,请参阅fish文档中的this,但根据github问题,文档中建议的修复可能不起作用,而上述功能可以。

根据鱼类文件,这是正在进行的:

  

Fish正在尝试设置终端的标题栏消息。而   屏幕本身支持此功能,您的终端不支持。   不幸的是,当底层终端不支持设置时   标题栏,屏幕只是通过转义码和文本   到底层终端而不是忽略它们。是不可能的   从鱼里面发现并解决这个问题,因为鱼没办法   了解底层终端类型是什么。就目前而言,唯一的方法   解决这个问题是取消设置标题栏消息,如上所述。