De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Vim em terminais remotos
Colaboração: Ludisleno de Oliveira
Data de Publicação: 02 de Fevereiro de 2004
Desde de que aprendi a trabalhar com o "vi" (Vim, na verdade) não
consigo usar outro editor.
Uma coisa que me aborrecia muito, era o teclado numérico não
funcionar quando usava um terminal remoto para dar manutenção, como
o Putty, por exemplo.
Acredito que a maioria dos administradores de redes linux/unix devam
sofrer com isso. Depois de tanto me aborrecer resolvi procurar e
encontrei uma solução: mapear a entrada que o teclado numérico gera
para as teclas que eu realmente preciso.
Você pode colocar a seguinte sequencia no seu _vimrc:
imap Oq 1
imap Or 2
imap Os 3
imap Ot 4
imap Ou 5
imap Ov 6
imap Ow 7
imap Ox 8
imap Oy 9
imap Op 0
imap On .
imap OQ /
imap OR *
imap Ol +
imap OS -
Com isso, quando você esiver no modo "interativo" ou de inserção,
você poderá utilizar o teclado numérico normalmente.
Note que a instrução imap só mapeará as entradas do modo
"interativo". Caso você queira usar, como eu, a sequencia shift+G
precedido pelo número da linha, para mover o cursor até uma
determinada linha, você precisará mapear também o modo normal. Para
isso inclua as seguintes linhas no arquivo .vimrc
:
nmap Oq 1
nmap Or 2
nmap Os 3
nmap Ot 4
nmap Ou 5
nmap Ov 6
nmap Ow 7
nmap Ox 8
nmap Oy 9
nmap Op 0
nmap On .
nmap OQ /
nmap OR *
nmap Ol +
nmap OS -
Obs: Eu alguns terminais eu tive que usar assim:
imap ^[Oq 1
imap ^[Or 2
imap ^[Os 3
imap ^[Ot 4
imap ^[Ou 5
imap ^[Ov 6
imap ^[Ow 7
imap ^[Ox 8
imap ^[Oy 9
imap ^[Op 0
imap ^[On .
imap ^[OQ /
imap ^[OR *
imap ^[Ol +
imap ^[OS -