如何阻止emacs在shell中突出显示鼠标下的线条

如何阻止emacs在shell中突出显示鼠标下的线条,shell,emacs,Shell,Emacs,在使用M-x shell调用的emacs shell中,光标下的输入行高亮显示,因此您可以将鼠标2:insert after prompt作为新输入重复该命令。我不希望激活它,只需像在常规终端中那样在鼠标下选择文本,然后单击鼠标中键插入我知道我可以在emacs中这样做,但在停止鼠标选择之前,我不会得到任何视觉反馈 有没有办法做到这一点?我做了很多搜索,什么也找不到 您没有指定Emacs的版本,我在Emacs中也看不到这种行为,为什么我要键入M-x shell。然而,谷歌搜索发现: (setq c

在使用M-x shell调用的emacs shell中,光标下的输入行高亮显示,因此您可以将鼠标2:insert after prompt作为新输入重复该命令。我不希望激活它,只需像在常规终端中那样在鼠标下选择文本,然后单击鼠标中键插入我知道我可以在emacs中这样做,但在停止鼠标选择之前,我不会得到任何视觉反馈


有没有办法做到这一点?我做了很多搜索,什么也找不到

您没有指定Emacs的版本,我在Emacs中也看不到这种行为,为什么我要键入M-x shell。然而,谷歌搜索发现:

(setq comint-highlight-input nil)
这是可以在~/.emacs中设置的

GNU Emacs 25中不存在此变量,即使在这种情况下使用了对特定面突出显示的引用。这要么是该功能可用时的疏忽,要么是另一个软件包实际启用的功能。您可以通过使用-Q选项启动emacs进行测试,并首先启动shell,如果行为没有出现,则是与您的启动配置相关的事情,或者是启动shell之前所做的事情

这里可以看到提到上述变量的帖子:

https://stat.ethz.ch/pipermail/ess-help/2002-August/001134.html
这一信息来自中国

将comint use prompt regexp设置为非nil值应该可以执行您想要的操作

一个好的解决方案可能是这样的:在初始化过程中放置以下内容;从comint提示符regexp docstring获取的regexp:

添加钩子的外壳模式钩子 兰姆达 设置使局部变量“comint use prompt regexp t 设置使局部变量'comint prompt regexp^[^$%>\n]*[$%>]*
但这并不能解决问题,至少对我来说emacs 24.4没有解决。comint-highlight-input是用来突出显示shell输入的字体,但mouseover上的消息来自mouse face属性,只有当comint use prompt regexp为nil时才会添加该属性。谢谢;然而,这对我不起作用。我在Emacs24.3.1.perfect上;当然,我不应该在emacs中使用鼠标,但在此之前,这将非常好: