No Windows e Linux, eu sempre podia pressionar ctrl+ ←ou ctrl+ →para pular uma palavra para a esquerda ou direita no terminal. Nos editores de texto, parece que ⌥+ ←/ →funciona, mas não há dados no terminal. Pesquisei no Google e não encontrei nada, exceto uma página da Wikipedia que reivindica ⌥+ B/ Ffaz o trabalho, mas tudo o que faz é imprimir caracteres ∫ e ƒ no meu terminal (ou ı e Ï, se eu tiver ⇧). Alguma ideia?
19
Isso estava me deixando louco também, no entanto, eu não queria uma correção específica do Terminal, pois não uso o Terminal, e poder fazer o SSH na minha caixa OSX também precisava usar as teclas de atalho corretas.
Além disso, pessoalmente, não me importei com a ⌥chave, como discutido anteriormente; Eu queria manter a combinação ctrl+ ←/ com a →qual estou acostumado no Linux.
Para resolver esse problema, adicionei o seguinte ao meu
~/.profile
:Observe que os dois primeiros se aplicam ao bash no Terminal ; os dois últimos se aplicam ao bash no iTerm2 e nas conexões ssh recebidas . Não me pergunte por que a emulação do teclado é diferente;)
Para o registro, eu pude encontrar quais eram os códigos-chave, graças a uma dica desta resposta do stackoverflow : Você pode executar
cat > /dev/null
para monitorar os códigos-chave exatos enviados durante uma combinação de teclas.(Observe que, para mim, quando corro
cat > /dev/null
e pressiono ctrl+ ←ele produz^[[1;5D
. Seu código de chave exato pode ser diferente , mas o primeiro^[
é representado como\e
, conforme mostrado no meu código de exemplo.)BTW, se você quiser ver todas as combinações de teclas do bash ativas, execute
bind -p
.fonte
xxd
para examinar a entrada do teclado. Você pode ver o caractere exibido enquanto digita exxd
emite o valor em hexadecimal quando digita return.No Mac OS X Lion 10.7, o Terminal mapeia ⌥- ←/ →para esc+ B/ Fpor padrão, agora ele está incorporado no bash e em outros programas que usam essas combinações de teclas compatíveis com o emacs.
fonte
se você souber usar o vi, também poderá ativar o modo de edição de linha do vi usando
set -o vi
no seu.bash_profile
ou a qualquer momento na linha de comando. Em seguida, você pode alternar entre os modos de comando vi e inserir. Então você pode pressionar escape e, em seguida, use os comandos vi para navegar na linha:Depois de chegar à posição correta, você pode usar os outros comandos vi para entrar nos modos de inserção ou acréscimo ou remover caracteres um a um, etc.
fonte
ESC ^
é ótimo quando você precisa dele, é apenas irritante quando você queria fazer algo completamente diferente :)Abra o terminal, vá para preferências, teclado. Na lista, você encontrará “ctrl cursor right” e “ctrl cursor left”.
Altere as ações atribuídas para "\ 033f" e "\ 033b", respectivamente, e você poderá usar ctrl+ →e ctrl+ ←para se mover, sem perder a tecla alt.
fonte
Parece que esc+ Be esc+ Fsão mapeados por padrão para ir para o início e o fim das palavras. Embora, para o meu sistema, você não possa se manter pressionado, escmas precisa pressioná-lo novamente para cada palavra.
fonte
A versão mais recente do sistema operacional mapeia isso para o Spaces. Mesmo se o Spaces estiver desativado, as teclas de atalho ainda poderão sofrer um curto-circuito neste local oculto:
Teclas do cursor Terminal.app: desative Preferências do Sistema -> Atalhos -> Controle da Missão -> Mover para a esquerda um espaço
fonte