Prompt de zsh bonito, mínimo e rápido
A maioria dos avisos é desordenada, feia e lenta. Queríamos algo visualmente agradável que fiquei fora do nosso caminho.
git
e se está sujo (com A *
).git
com setas para cima/para baixo. (O cheque é feito de forma assíncrona!)0
. Pode ser instalado com npm
(não yarn
) ou manualmente. Requer Git 2.15.2+ e Zsh 5.2+. Sabe -se que as versões mais antigas do ZSH funcionam, mas não são recomendadas.
npm install --global pure-prompt
É isso. Pule para começar.
brew install pure
Se você não estiver usando o ZSH da Homebrew ( brew install zsh
e $(brew --prefix)/bin/zsh
), você também deve adicionar as funções de site ao seu fpath
em $HOME/.zshrc
:
fpath+=( " $( brew --prefix ) /share/zsh/site-functions " )
$HOME/.zsh/pure
. mkdir -p " $HOME /.zsh "
git clone https://github.com/sindresorhus/pure.git " $HOME /.zsh/pure "
$fpath
em $HOME/.zshrc
. # .zshrc
fpath+=( $HOME /.zsh/pure)
Inicialize o sistema rápido (se não estiver assim) e escolha pure
:
# .zshrc
autoload -U promptinit ; promptinit
prompt pure
Opção | Descrição | Valor padrão |
---|---|---|
PURE_CMD_MAX_EXEC_TIME | O tempo de execução máximo de um processo antes do tempo de execução é mostrado quando ele sai. | 5 segundos |
PURE_GIT_PULL | Impede que a pura verifique se o controle do git atual foi atualizado. | 1 |
PURE_GIT_UNTRACKED_DIRTY | Não inclua arquivos não rastreados na verificação da sujeira. Principalmente útil em grandes repositórios (como o webkit). | 1 |
PURE_GIT_DELAY_DIRTY_CHECK | Tempo em segundos para adiar o Git Dirty verifica quando git status leva> 5 segundos. | 1800 segundos |
PURE_PROMPT_SYMBOL | Define o símbolo imediato. | ❯ |
PURE_PROMPT_VICMD_SYMBOL | Define o símbolo de prompt usado quando o KeyMap vicmd está ativo (modo VI). | ❮ |
PURE_GIT_DOWN_ARROW | Define o símbolo de seta git Down. | ⇣ |
PURE_GIT_UP_ARROW | Define o símbolo de seta git up. | ⇡ |
PURE_GIT_STASH_SYMBOL | Define o símbolo do Stash Git. | ≡ |
Mostrar o status Git Stash como parte do prompt não é ativado por padrão. Para ativar isso, você precisará optar por via zstyle
:
zstyle :prompt:pure:git:stash show yes
Você pode definir puro como apenas git fetch
a filial a montante da filial local atual. Em alguns casos, isso pode resultar em atualizações mais rápidas para setas Git, mas para a maioria dos usuários, é melhor deixar essa configuração desativada. Você pode ativá -lo com:
zstyle :prompt:pure:git:fetch only_upstream yes
A integração nix-shell
adiciona o nome do shell ao prompt quando usado em um shell nix. É ativado por padrão, você pode desativá -lo com:
zstyle :prompt:pure:environment:nix-shell show no
Conforme explicado no manual do ZSH, os valores de cores podem ser:
$TERM
for xterm-256color
, consulte este gráfico.black
, red
, green
, yellow
, blue
, magenta
, cyan
, white
e default
(o primeiro plano padrão do terminal)#
seguido por um trigêmeo RGB em formato hexadecimal, por exemplo #424242
. Somente se o seu terminal suportar cores de 24 bits (cor verdadeira) ou quando o módulo zsh/nearcolor
for carregado. As cores podem ser alteradas usando zstyle
com um padrão do formulário :prompt:pure:$color_name
e Style color
. Os nomes de cores, seu padrão e que parte eles afetam:
execution_time
(Yellow) - O tempo de execução do último comando ao exceder PURE_CMD_MAX_EXEC_TIME
.git:arrow
(ciano) - para PURE_GIT_UP_ARROW
e PURE_GIT_DOWN_ARROW
.git:stash
(ciano) - para PURE_GIT_STASH_SYMBOL
.git:branch
(242) - O nome da filial atual quando em um repositório Git.git:branch:cached
(vermelho) - o nome da filial atual quando os dados não são frescos.git:action
(242) - A ação atual em andamento (Cherry -Pick, Rebase, etc.) quando estiver em um repositório Git.git:dirty
(218) - O asterisco mostrando o ramo está sujo.host
(242) - O nome do host quando estiver em uma máquina remota.path
(azul) - O caminho atual, por exemplo, PWD
.prompt:error
(vermelho) - o PURE_PROMPT_SYMBOL
quando o comando anterior falhou .prompt:success
(Magenta) - O PURE_PROMPT_SYMBOL
quando o comando anterior foi bem -sucedido .prompt:continuation
(242) - a cor para mostrar o estado do analisador no prompt de continuação (PS2). É a parte rosa nesta captura de tela, aparece no mesmo local que virtualenv
. Você pode, por exemplo, combinar as duas cores para que Pure tenha uma aparência uniforme.suspended_jobs
(RED) - O símbolo ✦
indica que os trabalhos estão sendo executados em segundo plano.user
(242) - O nome de usuário quando estiver em máquina remota.user:root
(padrão) - o nome de usuário quando o usuário é root.virtualenv
(242) - O nome do Python virtualenv
quando em uso.O diagrama a seguir mostra onde cada cor é aplicada no prompt:
┌────────────────────────────────────────────────────── user
│ ┌─────────────────────────────────────────────── host
│ │ ┌─────────────────────────────────── path
│ │ │ ┌──────────────────────── git:branch
│ │ │ │ ┌────────────────── git:dirty
│ │ │ │ │ ┌──────────────── git:action
│ │ │ │ │ │ ┌─────── git:arrow
│ │ │ │ │ │ │ ┌───── git:stash
│ │ │ │ │ │ │ │ ┌─── execution_time
│ │ │ │ │ │ │ │ │
zaphod@heartofgold ~/dev/pure master* rebase-i ⇡ ≡ 42s
venv ❯
│ │
│ └───────────────────────────────────────────────── prompt
└────────────────────────────────────────────────────── virtualenv (or prompt:continuation)
Existem duas maneiras de usar cores RGB com o formato hexadecimal. A maneira correta é usar um terminal que suporta cores de 24 bits e ativar esse recurso, conforme explicado na documentação do terminal.
Se você não pode usar esse terminal, o módulo zsh/nearcolor
pode ser útil. Ele mapeará qualquer cor hexadecimal para a cor mais próxima nas paletas de cores 88 ou 256 do seu terminal, mas sem usar as 16 primeiras cores, pois seus valores podem ser modificados pelo usuário. Lembre -se de que, ao usar este módulo, você não poderá exibir cores RGB verdadeiras. Ele apenas permite especificar cores de uma maneira mais conveniente. A seguir, é apresentado um exemplo de como usar este módulo:
# .zshrc
zmodload zsh/nearcolor
zstyle :prompt:pure:path color ' #FF0000 '
# .zshrc
autoload -U promptinit ; promptinit
# optionally define some options
PURE_CMD_MAX_EXEC_TIME=10
# change the path color
zstyle :prompt:pure:path color white
# change the color for both `prompt:success` and `prompt:error`
zstyle ' :prompt:pure:prompt:* ' color cyan
# turn on git stash status
zstyle :prompt:pure:git:stash show yes
prompt pure
Na captura de tela, você vê puro correndo em hiper com o tema hiper-snazzz e a fonte Menlo.
O tema do Tomorrow Night Oitenta com a fonte Droid Sans Mono (15pt) também é uma boa combinação.
Apenas certifique-se de ter anti-aliasing ativado no seu terminal.
Para ter comandos coloridos como visto na captura de tela, instale o Zsh-Syntax-Highlighting.
ZSH_THEME=""
no seu .zshrc
para desativar os temas Oh-my-zsh.vi-mode
, virtualenv
. NOTA: oh-my-zsh
substitui o prompt So Pure deve ser ativado após source $ZSH/oh-my-zsh.sh
.
Puro é incluído com prezto. Não há necessidade de instalá -lo.
Adicione prompt pure
ao seu ~/.zpreztorc
.
Adicione zmodule sindresorhus/pure --source async.zsh --source pure.zsh
ao seu .zimrc
e execute zimfw install
.
Atualize seu arquivo .zshrc
com as duas linhas a seguir:
zplug mafredri/zsh-async, from:github
zplug sindresorhus/pure, use:pure.zsh, from:github, as:theme
Atualize seu arquivo .zshrc
com as duas linhas a seguir (questões de pedido):
zinit ice compile ' (pure|async).zsh ' pick ' async.zsh ' src ' pure.zsh '
zinit light sindresorhus/pure
Atualize seu arquivo .zshrc
com a seguinte linha:
zi light-mode for @sindresorhus/pure
Veja o zi wiki para mais.
Atualmente, não há perguntas frequentes.
Veja o arquivo de perguntas frequentes para perguntas frequentes anteriores.
![]() | ![]() |
---|---|
Sindre Sorhus | Mathias Fredriksson |