web-dev-qa-db-fra.com

Les touches fléchées de Linux vi cassées en mode insertion

Mes touches fléchées ne fonctionnent pas dans vi en mode insertion à la maison, elles insèrent juste chacune une nouvelle ligne et une lettre majuscule, comme 'A'. Y a-t-il moyen d'arranger ça?

91
josh

Je suppose que vous utilisez vim car il est étiqueté Linux. Essayer:

:set nocompatible

(Vous pouvez configurer votre .vimrc avec cela en y ajoutant cette commande. Créez un nouveau fichier .vimrc s'il n'est pas déjà présent dans votre répertoire personnel, exécutez echo $HOME pour vérifier le chemin du répertoire personnel.)

102
Brian Agnew

Ubuntu est livré par défaut avec vim-tiny, qui n'a pas toutes les cloches et les sifflets de Vim.

Faites un rapide Sudo apt-get install vim pour obtenir toutes les fonctionnalités juteuses dont tout le monde parle.

69
Han

:set term=builtin_ansi

réparé pour moi. Vous pouvez soit coller cela dans vim en mode d'échappement, (mode bip) ou l'ajouter à la fin de ~/.vimrc sans le début ":"

34
Alexx Roche

vi ne prend pas en charge les touches fléchées en mode insertion. Utilisez vim. Bien que votre vi puisse être juste un lien vers vim, il peut être configuré pour se comporter comme le vi "d'origine" et désactive ainsi les touches fléchées. Appelez simplement vim directement.

16
lothar

Encore une autre variante: ce problème est apparu pour moi après quelques modifications .vimrc. Une recherche concertée a finalement révélé que ma nouvelle cartographie intelligente de l'ESC en mode normal n'était pas une bonne idée. Le supprimer a résolu le problème:

" this is NOT something you want in .vimrc:
" In normal mode, hitting Esc turns off search highlights:
nmap <ESC> :nohl<CR>  " Do NOT add this to .vimrc
8
Stabledog

La seule chose qui a fonctionné pour moi était ": set term = ansi"

4
Raz

J'ai juste eu un problème avec les touches fléchées après avoir basculé pour utiliser git dans .vim.

J'ai installé ce dépôt - https://github.com/sunaku/.vim

et après avoir fouillé pendant une heure, j'ai trouvé que le plugin AutoClose (qui n'aimait pas de toute façon) a cassé les touches fléchées.

Les documents du plugin suggèrent que l'on devrait définir set ttimeoutlen = 100, mais cela n'a pas fonctionné pour moi! (en utilisant urxvt + screen ou urxvt, et même xterm)

J'ai donc supprimé le plugin à la fin.

1
errordeveloper

J'ai eu le même problème avec les touches fléchées, mais lorsque j'ai utilisé cet ensemble, nocp ou nocompatible, mon retour arrière ne fonctionnait pas correctement

pour une raison quelconque, lorsque j'ai installé vim avec Sudo apt-get install vim, vi n'a plus eu de problème avec les flèches ou le retour arrière

1
Night5talker

J'ai eu le même problème lors de l'utilisation de vim dans Windows 8.1 avec Cygwin.

La solution qui a fonctionné pour moi consiste à exécuter la commande suivante dans votre terminal Cygwin:

cp vimrc_example.vim ~/.vimrc
0
noufal

Vous pouvez également essayer les "noesckeys"

0
goner