Frage

Gibt es eine Möglichkeit in dem Fisch-interaktiv Shell für den vollständigen Pfad angezeigt werden. Zur Zeit, als ich in ein Verzeichnis navigieren ich die folgende Shell erhalten.

millermj@Dodore ~/o/workspace

, aber ich würde lieber sehen,

millermj@Dodore ~/o-town/workspace
War es hilfreich?

Lösung

Mit dem neuen fishshell (v2.3) Sie können set -U fish_prompt_pwd_dir_length 0 tun. Und es wird den vollständigen Pfad verwenden. Ich verwende auch Dartfish für mein Thema. Siehe Beispiel unten:

 image description hier

Andere Tipps

Hier ist meine Version von prompt_pwd, die angezeigt werden sollen, was Sie suchen:

function prompt_pwd --description 'Print the current working directory, NOT shortened to fit the prompt'
    if test "$PWD" != "$HOME"
        printf "%s" (echo $PWD|sed -e 's|/private||' -e "s|^$HOME|~|")
    else
        echo '~'
    end

end

Dies wird die Tilde für das Home-Verzeichnis, wie üblich angezeigt, aber entfernt den sed Befehl, der die ersten Buchstaben zieht nur aus jedem Verzeichnis, wenn Sie ein paar Verzeichnisse tief sind.

Um prompt_pwd Verwendung funced zu bearbeiten. Es ermöglicht Ihnen, interaktiv die Funktion zu verändern. Von der Befehlszeile Typ funced prompt_pwd. Sobald die Aufforderung nach Ihren Wünschen angezeigt wird, verwenden Sie funcsave prompt_pwd das Verhalten zu machen besteht in zukünftigen Sitzungen.

Ich persönlich mag nicht die freigegebene / defaults zu berühren. Fisch hat eine große Funktionen Design, so dass nutzen.

Erstellen ~/.config/fish/functions/prompt_long_pwd.fish mit dem Inhalt:

function prompt_long_pwd --description 'Print the current working directory'
        echo $PWD | sed -e "s|^$HOME|~|" -e 's|^/private||'
end

Dann bearbeiten Sie einfach Ihre ~/.config/fish/functions/fish_prompt.fish prompt_long_pwd zu verwenden. Hier ist die benutzerdefinierte Eingabeaufforderung, die ich benutze:

~ / .config / Fisch / config.fish :

set -g __fish_git_prompt_show_informative_status 1
set -g __fish_git_prompt_hide_untrackedfiles 1

set -g __fish_git_prompt_color_branch magenta bold
set -g __fish_git_prompt_showupstream "informative"
set -g __fish_git_prompt_char_upstream_ahead "↑"
set -g __fish_git_prompt_char_upstream_behind "↓"
set -g __fish_git_prompt_char_upstream_prefix ""

set -g __fish_git_prompt_char_stagedstate "●"
set -g __fish_git_prompt_char_dirtystate "✚"
set -g __fish_git_prompt_char_untrackedfiles "…"
set -g __fish_git_prompt_char_conflictedstate "✖"
set -g __fish_git_prompt_char_cleanstate "✔"

set -g __fish_git_prompt_color_dirtystate blue
set -g __fish_git_prompt_color_stagedstate yellow
set -g __fish_git_prompt_color_invalidstate red
set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
set -g __fish_git_prompt_color_cleanstate green bold

~ / .config / Fisch / Funktionen / fish_prompt.fish

function fish_prompt --description 'Write out the prompt'

    set -l last_status $status

    if not set -q __fish_prompt_normal
        set -g __fish_prompt_normal (set_color normal)
    end

    # PWD
    set_color $fish_color_cwd
    echo -n (prompt_long_pwd)
    set_color normal

    printf '%s ' (__fish_git_prompt)

    if not test $last_status -eq 0
    set_color $fish_color_error
    end

    echo -n '$ '

end

Die prompt_pwd Funktion bestimmt die Funktion angezeigt werden. Sie sollten in der Lage sein, Ihre eigene Version zu schreiben, zu bekommen, was Sie wollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top