Peixe Shell interativo caminho completo
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
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:
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
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.