Como criar hífen alias para zsh?

2

Estou usando zsh e oh-meu-zsh no Ubuntu.

Para mudar para o diretório recente no passado, havia um alias definido como - , que é o mesmo que cd - . De alguma forma, o alias desapareceu na minha máquina. Isso pode ter acontecido devido às atualizações que eu tirei do repositório oh-my-zsh .

Agora, gostaria de adicionar esse alias aos meus próprios dotfiles. Como posso fazer isso?

    
por JJD 14.10.2015 / 17:30

2 respostas

5

O alias foi removido em este commit .

Para adicioná-lo de volta:

alias -- -='cd -'

A maioria dos shells POSIX precisa de -- para esse trabalho de alias, somente dash não:

$ dash
$ alias -='echo 1'
$ -
1
    
por 14.10.2015 / 18:13
1

Como com qualquer outro comando, use -- para instruir o comando de que os argumentos subseqüentes que começam com - não são opções.

alias -='cd -'

Você pode preferir tornar - uma função, para dar algum uso quando tiver argumentos. Em zsh, - é um modificador de pré-encomenda , que executa um comando com - prefixado ao argumento zeroth. (Isso é um pouco obscuro, e você pode usar o ARGV0 variable para alcançar o mesmo efeito.) Ao contrário de alias , function não é um comando interno, mas uma palavra-chave que não aceita opções, portanto, você pode usar function - .

function - {
  if [[ $# -eq 0 ]]; then
    cd "$OLDPWD"
  else
    builtin - "$@"
  fi
}

(Ou o que você quiser que - foo faça.)

    
por 15.10.2015 / 02:15