2

Emacs シェルに次のプロンプトを使用します。

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

出力は次のようになります。

Emacs プロンプト

"(^[^\\(]*)"正規表現を使用してパスを一致させ、dirtrack-list に設定しようとしました。

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

しかし、色が原因で、シェルが一致することはありません (そのため、私の cwd を追跡できません)。色を含めるように正規表現を拡張することは可能ですか?


@tripleee の正規表現を含めると動作します:

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

しかし、今、バッファcdに次のエラーがランダムに表示されると:*Warnings*

Warning (emacs):   
/ does not exist
4

3 に答える 3

1

次のようなことを試して"^\\(\033\\[[0-9]+m\\)*\\([^\033\\(]+\\)"、最初のキャプチャ グループではなく 2 番目のキャプチャ グループを取得します。

于 2013-04-28T06:18:56.170 に答える