Pergunta

Existe uma maneira no shell interativo de peixe para o caminho completo para ser exibido. Atualmente quando eu navegar para um diretório recebo a seguinte shell.

millermj@Dodore ~/o/workspace

mas eu preferiria ver

millermj@Dodore ~/o-town/workspace
Foi útil?

Solução

Com o novo fishshell (v2.3) você pode fazer set -U fish_prompt_pwd_dir_length 0. E vai utilizar o caminho completo. Eu também uso dartfish para o meu tema. Veja o exemplo abaixo:

 enter descrição da imagem aqui

Outras dicas

Aqui está a minha versão do prompt_pwd que deve exibir o que você está procurando:

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

Isto irá exibir o til para o diretório home, como de costume, mas remove o comando sed que só puxa a primeira letra de cada diretório quando você está alguns diretórios de profundidade.

Para editar uso prompt_pwd funced. Ele permitirá que você para alterar interativamente a função. A partir da linha de comando tipo funced prompt_pwd. Assim que o prompt está exibindo a seu gosto, uso funcsave prompt_pwd para fazer o comportamento persistir em sessões futuras.

Eu pessoalmente não gosto de tocar as Comum / defaults. Peixe tem uma grande funções design, assim alavancagem isso.

Criar ~/.config/fish/functions/prompt_long_pwd.fish com o conteúdo:

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

Em seguida, basta editar o seu ~/.config/fish/functions/fish_prompt.fish ao uso prompt_long_pwd. Aqui está a linha de costume que eu uso:

~ / .config / peixe / 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 / peixe / funções / 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

A função prompt_pwd determina a função a ser exibido. Você deve ser capaz de escrever sua própria versão para obter o que deseja.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top