Substituir string no comando a ser executado em zsh

3

Digamos que eu tenha escrito o seguinte comando, mas ainda não pressionei enter para executá-lo:

$ ls dir1 dir2 dir3

Existe uma maneira de substituir determinados caracteres sem alterá-los manualmente em todos os locais em que estão? Por exemplo, eu gostaria de pressionar algum atalho, inserir uma string a ser substituída (digamos, dir ) e então inserir outra string como sua substituição (digamos, 'diretório').

    
por menteith 22.08.2018 / 16:15

1 resposta

4

Há um widget replace-string autoloadable para isso. Adicione ao seu ~/.zshrc :

autoload replace-string
zle -N replace-string
zle -N replace-string-again
bindkey '\eg' replace-string-again
bindkey '\er' replace-string

Em seguida, pressione Alt + r para invocar. Alt + g para repetir a última substituição. Veja info zsh replace-string para detalhes.

    
por 22.08.2018 / 17:28