我对 Emacs shell 使用以下提示:
PS1='\n\[\e[33m\]\w\033[36m\]$(parse_git_branch)\[\033[00m\]\n$ '
输出如下所示:
我尝试使用正则表达式“(^[^\\(]*)”
来匹配路径并将其设置在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/