Gostaria de saber se há uma maneira de habilitar os atalhos de teclado do macOS para edição de texto para que funcionem no comando que estou escrevendo no momento.
Por exemplo, eu gostaria:
- Command+ ←move o cursor para o início da linha.
- Command+ →move o cursor para o final da linha.
- Command+ Deleteremove o texto do início da linha até o cursor atual.
- Option+ ←/ →move o cursor para a borda da palavra anterior ou seguinte.
- Option+ Deleteapaga a última palavra até o cursor.
Existe alguma maneira de conseguir isso?
Executar
cat
no Terminal.Em seguida pressione ⌘+ ←.
A sequência de escape correspondente a ⌘+ ←será impressa na tela. Eu não tenho um Mac, mas, por exemplo, no Gnome Terminal / Ubuntu pressionar Ctrl+ ←produziria:
Em seguida, vincule a sequência de escape à ação correspondente (neste caso
backward-word
):substituindo
<sequence>
pela saída decat
.Depois enxágue e repita para todas as sequências que deseja mapear.
As ações que você deseja mapear são, em ordem:
beginning-of-line
end-of-line
backward-kill-line
backward-word
forward-word
backward-kill-word
Sugiro que você coloque todos os seus
bindkey
comandos (conforme você os está descobrindo) em~/.zshrc
vez de executá-los, para que eles sejam executados sempre que~/.zshrc
forem originados (ou seja, toda vez que você gerar um shell/abrir uma nova instância do Terminal).Por fim, execute
. ~/.zshrc
.Encontrei uma resposta usando o iTerm2. De acordo com isso, o seguinte pode ser alcançado no iTerm2
Vá para
iTerm2
>Settings
>Profiles
>Keys
>Key Mappings
e no menu suspenso predefinido na parte inferior selecione Edição de texto natural:As combinações de teclas serão mostradas acima