1

我正在运行 ubuntu 13.04,我有一个这样的 PS1

PS1="\$(__git_ps1 '(%s) ')\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

而且我习惯用 bash 的 vi 模式和set -o vi.

但是,如果$PWD它位于 git root 中的树中某处,我按下ESC+/搜索,缩进就搞砸了。对于树中的每个目录,情况都会变得更糟。搜索结果打印在“某处”,而不是它们应该在的位置。

在 git root 之外,直接在 git root 中或没有$(__git_ps1 '(%s) ')它都可以正常工作。

ESC+kfor 正在工作,无论我在哪里。

这里有些例子:

(master) flx@t420:~/dev/somegitproject/subdir/subdir$ [press ESC+/]
(master) flx@t420:~/dev/somegitproject/subdir/subdi[type your search here]


(master) flx@t420:~/dev/somegitproject/subdir/subdir/subdir/subdir$ [press ESC+/]
(master) flx@t420:~/dev/somegitproject/subdir/subdir/subdi[type your search here]

一切都很好:

(master) flx@t420:~/dev/somegitproject$ [press ESC+/]
(master) flx@t420:~/dev/somegitproject$ /[type your search here]

我刚刚注意到,在 git root 中将搜索结果打印到以下位置:

(master) flx@t420:~/dev/somegitproject$ [press ESC+/]
(master) flx@t420:~/dev/somegitproject$ /whateve[enter]
(master) flx@t420:~/dev/somegiwhateve                 tproject$ whatevercommand

在没有 git 的目录中,它按预期工作:

(master) flx@t420:~/dev$ [press ESC+/]
(master) flx@t420:~/dev$ /whateve[enter]
(master) flx@t420:~/dev$ whatevercommand

任何想法如何解决这个问题。这很烦人。

有趣的是,这台 PS1 在我的旧桌面上运行,运行更新到 13.04 的旧 ubuntu 安装。但是在这个全新的安装中它被破坏了。

4

0 回答 0