Domanda

C'è un modo nel guscio Pesce Interactive per il percorso completo da visualizzare. Attualmente, quando a navigare in una directory ricevo il seguente shell.

millermj@Dodore ~/o/workspace

, ma avrei preferito vedere

millermj@Dodore ~/o-town/workspace
È stato utile?

Soluzione

Con la nuova fishshell (v2.3) si può fare set -U fish_prompt_pwd_dir_length 0. E sarà utilizzare il percorso completo. Io uso anche Dartfish per il mio tema. Vedere il seguente esempio:

 entrare descrizione dell'immagine qui

Altri suggerimenti

Ecco la mia versione di prompt_pwd che dovrebbe mostrare quello che stai cercando:

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

Questo mostrerà la tilde per la home directory, come al solito, ma rimuove il comando sed che tira solo la prima lettera di ogni directory quando sei alcune directory profondo.

Per modificare funced uso funced prompt_pwd. Essa vi permetterà di modificare in modo interattivo la funzione. Dalla riga di comando digitare funcsave prompt_pwd. Una volta che la richiesta è la visualizzazione a proprio piacimento, utilizzare <=> per rendere il comportamento persistere nelle sessioni future.

Io personalmente non mi piace toccare le condivise / default. Pesce ha un grande disegno funzioni, in modo da sfruttare questo.

Crea ~/.config/fish/functions/prompt_long_pwd.fish con il contenuto:

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

Poi basta modificare il ~/.config/fish/functions/fish_prompt.fish da usare prompt_long_pwd. Ecco l'istruzione personalizzata che uso:

~ / .config / pesce / 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 / pesce / funzioni / 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

La funzione prompt_pwd determina la funzione da visualizzare. Dovreste essere in grado di scrivere la propria versione per ottenere quello che vuoi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top