Ctrl + tecla de seta para a esquerda / direita

20

Após a última atualização do sistema, o comando ctrl + seta para a esquerda / direita no terminal zsh não faz nada. Também ctrl + u tem algo errado porque geralmente esse comando apaga do cursor para o início da linha, enquanto agora apaga toda a linha .. Alguém sabe como resolver esses problemas? obrigado a todos.

    
por riskio 19.12.2012 / 11:45

4 respostas

34

FWIW, isso é o que funcionou no meu ambiente (rhel5.x) usando o padrão do zsh.

bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
    
por 03.07.2014 / 09:11
13

Ctrl + U é mais provável porque você tem o cursor no final da linha. Em segundo lugar, qual versão do Gentoo você está se referindo como a "última atualização do sistema"?

E o que você gostaria que a ctrl + esquerda / direita fizesse?

  • Adicionar à configuração de zsh:

bindkey '^[[1;5C' emacs-forward-word e bindkey '^[^[[D' emacs-backward-word

  • E do recado antigo que encontrei (pode ajudar):

bindkey ";5C" forward-word
bindkey ";5D" backward-word

  • ou dê uma olhada no este link , o que deve te ajudar?

Nota: Se a configuração funcionar, mas as supostas chaves não fizerem o que você quer, talvez seja porque a definição de chave é diferente da sua e da minha, faça: %código% e pressione as teclas que você gostaria de obter e ajuste de acordo.

    
por 19.12.2012 / 11:59
4

O que funciona não depende diretamente da distro (Gentoo, Debian, RHEL etc.) ou do shell (ZSH, KSH, BASH) - depende de qual terminal emulator é usado, e suas configurações: konsole, terminator, urxvt, lx-terminal etc. A distro pode importar se ela usa uma configuração de shell padrão diferente (fx. .zshrc), e se usando um shell diferente que configura shells naquela distro pode já lidar com isso .

Veja algumas soluções específicas do emulador de terminal:

urxvt / rxvt-unicode (e talvez outros):

bindkey "^[Od" backward-word
bindkey "^[Oc" forward-word

terminator, konsole e xterm (e talvez outros):

bindkey "^[[1;5D" backward-word
bindkey "^[[1;5C" forward-word

Para uma abordagem mais geral você inicia o seu terminal, pressione CTRL-V seguido pela combinação de teclas que você quer o código de escape (o nome) de - neste caso as combinações de teclas CTRL-leftarrow e CTRL-rightarrow - e coloque o saída para cada combinação de teclas entre as duas citações.

    
por 22.12.2016 / 00:10
1

Resolvido.

Terminal usado: Konsole .

Para resolver: clique com o botão direito no terminal (ou configurações na barra de menu) - > alterar o perfil atual - > mapeamento de teclado - > mude para Padrão (xfree4)

    
por 19.12.2012 / 15:02