Tudo em que trabalho fica dentro do diretório icloud, tornando meu bash
prompt muito longo:
~/Library/Mobile Documents/com~apple~CloudDocs/Projects/foo/bar/baz @master $
Meu prompt é:
PS1='\w\[\e[1;35m\]$(__git_ps1 " @%s") \[\e[1;32m\]\$\[\e[m\] '
É possível substituir apenas a ocorrência de /Library/Mobile Documents/com~apple~CloudDocs/
in \w
por algo como icloud
produzir um prompt melhor como o seguinte?
~/icloud/Projects/foo/bar/baz @master $
Zsh possui o recurso "diretórios nomeados" que também abrevia automaticamente o nome do diretório no prompt. Não acho que o Bash tenha o equivalente, mas você pode contornar isso executando
PROMPT_COMMAND
uma função personalizada para definir uma variável que você imprime no prompt inserido em using\w
.Por exemplo, isso deve substituir uma inicial
/tmp/test
no caminho por~testdir
.Resolvi usando partes da resposta de @ilkkachu usando uma função
cwd
que atualiza o caminho dinamicamente:Não é bonito, mas pelo menos meu prompt é bonito de novo!