No OSX, posso simplesmente manter pressionada a optiontecla e pressionar a tecla esquerda do cursor até chegar à palavra que preciso editar (ou no Vi, basta clicar b, mas não consegui descobrir como fazer isso no Terminal ainda...
No OSX, posso simplesmente manter pressionada a optiontecla e pressionar a tecla esquerda do cursor até chegar à palavra que preciso editar (ou no Vi, basta clicar b, mas não consegui descobrir como fazer isso no Terminal ainda...
Respostas:
Para definir a associação de teclas: Primeiro, você precisa descobrir quais códigos de chave a sequência de teclas Ctrl+ Leftcria. Basta usar o comando catpara desativar qualquer interferência nas combinações de teclas existentes e digite a sequência de teclas. No meu sistema (Linux), é assim:
$ cat
^[[1;5D
Pressione Ctrl+ dpara sair do gato. Agora você descobriu que Ctrl-Esquerda emite 6 códigos-chave:
Agora você pode emitir o comando bind:
bind '"\e[1;5D": backward-word'
A função bash que você deseja é backward-word. Você pode executar bind -q backward-wordpara obter uma lista de chaves associadas a essa função. Uma ligação comum é Esc+b
Além disso, muitos terminais suportam Ctrl+ Left(a mesma tecla de atalho que você pode usar no X para retroceder por palavra)
backward-word can be invoked via "\eb".mas como vincular control + Left em vez de Esc + b? Além disso, uma desvantagem do Esc + b que eu já vejo é que tenho que desistir da tecla Esc toda vez que posso retroceder uma palavra, não há uma maneira melhor?
set editing-mode vi:)
O atalho de tecla padrão no Bash para backword-wordé Alt+ b. O mesmo resultado pode ser obtido com Esc+ b. Você deve experimentá-los antes de editar suas combinações de teclas.
Use o bindcomando para editar ou bind -q [name]obter o atalho de teclado atual de uma ação específica.
Alt + f