Usando o numpad no Vi (Vim) via PuTTY

121

O teclado numérico não funciona corretamente ao usar o Vim através do PuTTY. Em vez de números, recebo

y
x
w
v
u
t
s
r
q
Pykler
fonte

Respostas:

192

A resposta está no Numpad no PuTTY ao usar o vi [Cialug] :

Na configuração, vá para Terminal-> Recursos e marque "Desativar modo de teclado do aplicativo". Salve as configurações e desfrute de um teclado numérico que funcione!

Pykler
fonte
24
Após 5 anos, esta foi a única coisa sobre Putty que costumava irritar o inferno fora de mim
John Magnolia
5
Também adoraria saber por que não está ativado por padrão. Isso interrompe o uso do numpad em qualquer outro aplicativo? the.earth.li/~sgtatham/putty/0.60/htmldoc/… O modo de desativar o teclado do aplicativo da BTW também corrige que "," está sendo inserido no bash quando você pressiona o teclado numérico "+".
user323094
2
Pensei em adicionar esta solução simples de mapeamento de chaves ( twitpic.com/97qyww ) para usuários do iTerm.
Andy Barbour
11
No aplicativo do Mac Terminal, tente Preferências -> Perfis -> Avançado -> desmarque a opção "Permitir modo de teclado aplicação VT100"
HaPsantran
7
Alguém sabe por que esse recurso / bug existe? Existe um link para alguma referência histórica sobre isso? Obrigado :)
Atcold
16

Eu sempre usei esse conjunto de mapeamentos para interpretar as seqüências de escape como números quando $TERM=xterm

imap <Esc>Oq 1
imap <Esc>Or 2
imap <Esc>Os 3
imap <Esc>Ot 4
imap <Esc>Ou 5
imap <Esc>Ov 6
imap <Esc>Ow 7
imap <Esc>Ox 8
imap <Esc>Oy 9
imap <Esc>Op 0
imap <Esc>On .
imap <Esc>OR *
imap <Esc>OQ /
imap <Esc>Ol +
imap <Esc>OS -

Eu acho que essa foi minha fonte original.

Michael Berkowski
fonte
1
Sim, o link tem a mesma solução como o meu, que é a de desativar o modo de teclado aplicação em massa, as obras vim remapeamento, mas de acordo com o seu link é desnecessário
Pykler
@Pykler Sou frequentemente forçado a usar o PuTTY em máquinas que não são minhas e tenho uma dúzia de sessões salvas em minha máquina comum. O mapeamento vimrc elimina a necessidade de eu sempre alterar as configurações ao criar uma nova sessão ou ao trabalhar em uma máquina desconhecida.
Michael Berkowski
Como você resolve configurar o vim em todas as máquinas para as quais você ssh? Talvez seja uma pergunta por si só, mas acho que meus vimrc e zshrc ficam fora de sincronia rapidamente. Também eu realmente não usar janelas / massa, muitas vezes, por agora é uma única máquina no trabalho :)
Pykler
@ Pyler Eu sincronizo minhas configurações do vim normalmente apenas uma vez. Não me importo se eles ficarem fora de sincronia, exceto em uma ou duas máquinas importantes de desenvolvimento, mas me importo em ter uma configuração de linha de base, incluindo essa e várias outras configurações.
Michael Berkowski
Eu uso o Vim com Putty com mais de 30 alunos todos os anos, então me parece mais fácil alterar o arquivo vimrc em vez de dizer aos alunos para alterar suas configurações. Então, para mim, é uma solução útil.
Arpad Horvath
15

E para Mac, a resposta está em um comentário de HaPsantran nesta mesma página e há uma resposta semelhante por nfechner com capturas de tela em alemão nesta resposta .

Para Mac, acesse seu aplicativo Terminal . Selecione Preferências , Perfis , Avançado e desmarque Permitir o modo de teclado do aplicativo VT100 .

insira a descrição da imagem aqui

Kirby
fonte
1
Isso me deixa louco há muito tempo. Obrigado por apontar isso!
Paul
5

Se estiver usando SSH através de um terminal, você pode simplesmente ir para

Edit -> Num Lock (third from bottom)

Ele precisa ter uma marca de seleção à esquerda.

kavakava
fonte
1
Que contexto? Isso tem algo a ver com o PuTTY (sobre o que se trata)? De que aplicativo você está falando? O PuTTY não possui um menu "Editar". Onde está o "Edit"? Qual aplicação? Em que plataforma? Por exemplo, o aplicativo Ubuntu "Terminal" não possui um item de menu chamado "Editar".
Peter Mortensen
2

As respostas anteriores por Kirby , michael-berkowski , e pykler são grandes.

Eu tive esse problema no Vim no terminal do macOS. Verificar TerminalPreferênciasPerfis → O teclado mostrou que "Clear (Keypad)" foi mapeado para "Num Lock" . Pressionar limpar corrigiu o problema para mim.

Dave
fonte