emacs - 如何使泥土轨道模式与彩色多行提示一起使用

标签 emacs elisp

我对 Emacs shell 使用以下提示:

PS1='\n\[\e[33m\]\w\033[36m\]$(parse_git_branch)\[\033[00m\]\n$ '

输出如下所示:

Emacs prompt

我尝试使用正则表达式“(^[^\\(]*)”来匹配路径并将其设置在dirtrack-list中:

(setq-default dirtrack-list '("(^[^\\(]*)" 1 1))

但是由于颜色的原因,shell 永远不会匹配(因此它无法跟踪我的 cwd)。是否可以扩展我的正则表达式以包含颜色?


包括@tripleee的正则表达式作品:

(setq-default dirtrack-list '("\\s-\\(\033\\[[0-9]+m\\)*\\([^\033\\(]+\\)" 2 1))

但是现在当我 cd 时,我在 *Warnings* 缓冲区中随机收到以下错误:

Warning (emacs):   
/ does not exist

最佳答案

问题来自于rvm部分。当您在该特定存储库中 cd 时,它会自动输出一行,告诉您它正在使用 gemset。正则表达式不够窄,无法消除这种误报。我相信以下正则表达式应该有效: "\\s-\\(\033\\[[0-9]+m\\)\\([^\033\\(]+\\)".

关于emacs - 如何使泥土轨道模式与彩色多行提示一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16259302/

相关文章:

emacs - 如何在组织模式导出中按编号引用部分?

emacs - 我不需要存钱如何使Emacs缓冲区与文件同步?

emacs - 如何在 SLIME 中启用彩虹括号?

emacs - emacs tramp double-hop ssh较早的解决方案不起作用

emacs 单词中第一个字符的位置

emacs - 如何使用 Emacs/deftheme 更改所选文本的突出显示颜色?

emacs - 如何避免意外杀死emacs中的文本?

emacs - 如何在 Emacs Lisp 中创建临时函数

emacs - latex ,Emacs : automatically open *TeX Help* buffer on error and close it after correction of the error?

emacs - 如何在 Emacs 中删除窗口之间的垂直边框