O backspace e as teclas de seta do Cygwin Terminal não funcionam


10

As teclas de seta retornam A, B, C, D e minha tecla backspace não está funcionando corretamente. Esse problema ocorre apenas com o editor vi. Existe alguma maneira de resolver esse problema no Cygwin ?

Encontrei possíveis duplicatas para esta pergunta, mas não consegui entender. Alguém por favor me forneça instruções passo a passo para um iniciante como eu.

Respostas:


11

A melhor resposta que encontrei até agora é copiar o arquivo vimrc de amostra do Cygwin VIM:

cp /usr/share/vim/vim*/vimrc_example.vim ~/.vimrc

Resolve todos os problemas estranhos do mapa de teclas que eu estava vendo, além de adicionar alguns extras, como destaque de sintaxe.

Fonte


1
Gostaria de saber se alguém usa os padrões!
dashesy

Esta é de longe a melhor resposta!
hopeseekr

7

Aqui está uma solução simples para isso.

É sobre o vim e o shell remoto, mas deve funcionar.

Corrija as teclas de seta que exibem ABCD no shell remoto

Diz:

1) Open Vim editor,
2) Get the path of your home directory by typing :echo $HOME
3) Check if you have .vimrc file in $HOME location,(if you don't have create it)
4) Add the following line line to .vimrc file
   set nocompatible
        or
   set nocp

Se você possui o vi (não o vim) - o arquivo de configuração .vircnão é .vimrc.


Obrigado estava escorregando no m de .vircvs.vimrc
Ujjwal Singh 8/16

4

Eu fiz isso e ele resolveu o problema. Abra o editor vi em $ home usando:

vi -N .bashrc

depois role para baixo até o final ou inicie uma nova linha. Agora, no modo Inserir, digite

alias vim='vi -N'

Agora, como de costume, salve o arquivo. Tipo

:wq 

Isso resolverá o problema.


3
Observe que "vi -N" é o mesmo que definir "set nocp" ou "set nocompatible" no seu arquivo ~ / .vimrc.
Tgharold

1
@ Tgharold Eu tentei com o conjunto nocp, mas não resolveu o problema, então eu tentei um método alternativo.
CodeIt

2

Gostaria de acrescentar que a solução oferecida pela Kamil corrige o problema das teclas de seta.

No entanto, o problema do backspace permaneceu. A solução encontrada aqui é adicionar a linha

set backspace=2

para ~/.vimrc


0

Caso você o copie .vimrcde uma versão personalizada em um computador Linux, você pode ter encontrado o mesmo problema de configuração de termo que eu fiz.

Se você tem isso no seu .vimrc:

set term=xterm

Altere para automático:

set term=$TERM

E então aproveite suas teclas de seta!


0

Depois de tentar algumas das outras soluções sem sucesso, fechei meu terminal Cygwin e reabri um novo e pronto, funcionou.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.