O que o comando magic-space de zsh faz?

6

Eu encontrei o seguinte comando no meu .zshrc , provavelmente copiado de algum site:

bindkey " " magic-space # do history expansion on space

As manpages são tão úteis quanto o comentário muito sucinto:

magic-space
    Perform history expansion and insert a space into the buffer. [...]

Então, o que o magic-space realmente faz? Em que circunstâncias posso ver essa expansão do histórico em ação?

    
por Stefan Majewsky 06.09.2012 / 16:25

1 resposta

9

magic-space realiza expansão do histórico : se você digitar um espaço depois de um comando que começa com ! (ou ^ ) para se referir a (parte de) um comando anterior, essa referência de histórico é expandida. Se você apenas digitar um espaço, a referência do histórico será expandida quando você pressionar Enter .

$ zsh -f
% echo hello
hello
% !1 world
echo hello world
hello world
% bindkey " " magic-space
% !1

Neste ponto, pressione Espaço , e a linha muda para

% echo hello ¡

onde ¡ representa a posição do cursor.

    
por 07.09.2012 / 03:46

Tags