Eu procurei e não consegui encontrar uma solução para isso em nenhum lugar. Estou usando o PuTTY do Windows para conectar-me a vários servidores nos quais executo o bash e a tela. Parece que o bash funciona bem com as teclas de seta com a tecla Ctrl para pular palavra a palavra na linha de comando, mas na tela não está funcionando. Fora da tela, a tecla Ctrl esquerda envia "^ [OC e a tecla Ctrl direita é" ^ [OD ". Na tela, em vez disso, recebo" ^ [[C "e" ^ [[D ", que parece ser o código apenas para as teclas de seta esquerda / direita.Existe alguma maneira de a tela reconhecer as teclas de seta ctrl ao usar o PuTTY? (FYI, não me lembro de ter esse problema ao usar o gnu-terminal no linux em vez do PuTTY).
ATUALIZAÇÃO: Parece que o PuTTY é o problema, pois não está enviando os códigos de escape necessários para que isso funcione. Estou desistindo por enquanto e usando Cygwin + mintty.
fonte
^[[1;5A
Ctrl-Up, que parece estar mais correto, de acordo com code.google.com/p/mintty/wiki/Keycodes#Cursor_keysRespostas:
Editar:
Aqui está o que funcionou para mim:
~/.bashrc
setsTERM=xterm
(os meus sãoTERM=xterm-256colors
) substituindo a telaTERM=screen
tput smkx
no prompt do BashAgora, as teclas Ctrl-Seta saltam palavra por palavra
Para fins informativos, se eu fizer:
tput smkx | hexdump -c
recebo
0000000 033 [ ? 1 h 033 =
e
tput rmkx | hexdump -c
me dou
0000000 033 [ ? 1 l 033 >
Eu acho que há uma maneira de refazer isso em algo um pouco melhor, mas é o que eu tenho até agora e parece funcionar.
Resposta original:
De
info screen
:E os VT100s não têm códigos de tecla Ctrl-Seta.
fonte
set -o vi
(se você é aquele tipo de pessoa :)set -o vi
ativa o modo de linha de comando do vi para que você possa pressionarESC
e usar as teclas vi para mover e editar sua linha de comando.Como mencionado aqui , você pode colocar em ~ / .inputrc:
Funcionou para mim.
fonte
$include /etc/inputrc
na parte superior do.inputrc
arquivo, caso contrário, a linha de leitura não lerá as ligações em todo o sistema e chaves como Home e End serão quebradas.Estou um pouco surpreso que você tenha Putty para enviar ctrl-arrowkeys corretamente, mesmo sem usar a tela, pois isso nunca funcionou para mim. Minha solução foi mudar para o uso de alt-arrowkeys (meta-arrowkeys), que acredito ter a mesma ligação de palavra direta / palavra anterior no bash por padrão, embora eu tenha que emitir alguns comandos extras para o zsh reconhecê-los:
fonte
Caso outros encontrem essa pergunta antiga como eu, uma solução mais recente:
http://stuff.mit.edu/afs/athena/project/bsd/src/tmux-1.3/FAQ
fonte
Você deve consultar a documentação de terminfo, ncurses, screen e putty se desejar depurar / configurar corretamente. Também os atalhos do bash podem ser configurados com o inputrc. Olhe para as páginas de manual do bash e procure por inputrc.
fonte
Você tem a codificação de caracteres correta no Putty? Se você se conectar a um servidor em UTF-8 e sua massa estiver no charset padrão, no vim, as teclas de seta serão gravadas. Se o Putty estiver em UTF-8, você poderá mover o cursor. Talvez seja o mesmo no seu caso ...
fonte
Na sua configuração de massa em Terminal -> Recursos, existem algumas caixas de seleção "desativar". Convém tentar desativar as teclas do cursor do aplicativo ou o modo do teclado do aplicativo - às vezes, o putty tenta ser "muito inteligente" e envia caracteres de controle que não são compatíveis com o servidor.
fonte
Estou usando o Terminal> Teclado> Teclas de Função> Xterm R6, que ajuda as teclas de função htop (pesquisa f4 etc.) a funcionar conforme o esperado.
O que eu descobri é que, em vez de usar CTRL + arrow, ALT + arrow salta palavras.
fonte