A edição da linha de comando é uma função do seu shell, não do Terminal . Provavelmente seu shell é bash e provavelmente seu estilo de edição de linha de comando está configurado para “emacs”.
Aqui estão algumas das combinações de teclas no estilo Emacs que você pode achar úteis:
- C-a:
beginning-of-line
- C-e:
end-of-line
- M-f:
forward-word
- M-b:
backward-word
- C-d:
delete-char
- M-d:
kill-word
(exclua a próxima "palavra") - M-DEL:
backward-kill-word
C- x significa Controle + x , então Ca é Controle + a .
M- x significa Meta + x , mas provavelmente não há tecla Meta no seu teclado. Então, em vez disso, você pode usar ESC x (ou seja, Escape e x ). Terminal tem uma configuração para enviar automaticamente ESC antes que as teclas sejam pressionadas com Opção pressionada. O uso desse recurso desativa o tratamento de caracteres estendidos que o Mac OS X geralmente fornece ao usar o modificador Opção. Então, se você usar poucos caracteres estendidos e quiser ter a Opção + x enviando ESC x , então você pode ative esta opção Terminal .
Existem muitas formas de mudar para "Olá" no seu exemplo:
- Procurar por "Olá": C-r H e l o C-j (ou ESC)
- No Emacs normal, você usaria RET ( Return ) para finalizar a pesquisa no local atual e retornar à edição. Mas em bash , as ligações padrão fazem com que RET (ou seja, C-m) sempre execute a linha atual, mesmo que uma pesquisa incremental esteja ativa. Então a parte C-j / ESC é um desvio do Emacs normal.
- Salta para o começo da linha e avança: C-a M-f C-f (ou → )
- Salta para o começo da linha, depois move por palavras: C-a M-f M-f M-b
- Use M-b muito (só é realmente viável se você mapear Opção para Meta).
Existem também várias maneiras de realizar o seu substituto desejado:
- elimine a palavra e substitua-a: M-d H i
- apague os caracteres e substitua-os: C-d C-d C -d C -d C-d I
- passar de "H" e excluir o seguinte trabalho, substitua-o: C-f M-d i
- passar de "H" e excluir os caracteres restantes, substitua-os: C-f C -d C -d C -d C-d i
Se você parasse no final da palavra (talvez via C-a M-f M-f), você poderia usar M-DEL H i.
Você pode fazer algo como bind -P | less
para encontrar outras ligações interessantes. Consulte a seção readline da bash página do manual ( ou as partes readline das bash páginas de informação ) para detalhes.