Comment puis-je activer la touche retour arrière dans VI?

4

J'ai l'installation de FreeBSD sans système d'exploitation. Aucun paquet installé. Et VI n'accepte pas la touche de retour arrière. (J'ai appuyé sur la touche Retour arrière mais rien ne s'est passé) Comment puis-je activer la touche retour arrière dans VI?

Oh, j'utilise Mac et je contrôle FreeBSD sur un ordinateur virtuel ou via un terminal.

Eonil
la source
Que voulez-vous dire "n'accepte pas de retour arrière"? Voyez-vous quelque chose comme ^H, rien du tout ou quoi?
Eelvex

Réponses:

3

Vous pouvez essayer ceci dans le terminal avant de lancer vi:

$ stty erase [Ctrl-V] [Backspace]

où [Ctrl-V] appuie sur Ctrl + V et que [Retour arrière] appuie sur la touche Retour arrière.

Majenko
la source
1

Ce qui m'a aidé - dans les préférences du terminal - sélectionnez l'onglet Avancé - cochez la case "Supprimer envoie Ctrl-H"

user193492
la source
Bonjour et bienvenue sur Super User. Votre réponse serait beaucoup plus utile au demandeur ainsi qu'aux futurs visiteurs si elle expliquait pourquoi et comment cela résout le problème du demandeur. SU est censé être un site Q & A de la communauté, qui fonctionne mieux lorsque les réponses sont canoniques pour le problème concerné (vous pouvez lire le Comment répondre des lignes directrices).
kopischke
0

De :h backspace-delete:

Touches Backspace et Delete *backspace-delete*


Dans la version 3.0, la touche Suppr et la touche Retour arrière fonctionnaient comme un retour arrière dans   mode d'insertion; ils ont supprimé le caractère à gauche du curseur. En 4.0 le   La touche Suppr a une nouvelle fonction: elle supprime le caractère situé sous le curseur.   comme sur la ligne de commande. Si le curseur est après la fin de la ligne   et 'bs' est défini, deux lignes sont jointes. |<Del>| |i_<Del>|

Dans la version 3.0, la touche de retour arrière était toujours définie comme CTRL-H et supprimée comme CTRL- ?.   En 4.0, le code pour les touches de retour arrière et de suppression est obtenu à partir de termcap ou   termlib, et ajusté pour la valeur "stty erase" sous Unix. Cela aide les gens   qui définissent le caractère d'effacement en fonction du clavier sur lequel ils travaillent. |<BS>| |i_<BS>|

Si vous préférez revenir en arrière et supprimer en mode Insertion pour conserver l’ancien comportement,   mettez cette ligne dans votre vimrc:

    inoremap ^? ^H

Et vous voudrez peut-être aussi les ajouter pour fixer les valeurs de <BS> et <Del>:

    set t_kb=^H
    set t_kD=^?

(Entrez ^ H avec CTRL-V CTRL-H et ^? Avec CTRL-V CTRL-? Ou <Del>.)

Si la valeur de t_kb est correcte mais que la valeur de t_kD ne l’est pas, utilisez le ": fixdel"   commander. Il définira t_kD en fonction de la valeur de t_kb. Ceci est utile si   vous utilisez plusieurs terminaux différents. |:fixdel|

Quand ^ H n'est pas reconnu comme <BS> ou <Del>, il s’utilise comme un backspace.

Dennis Williamson
la source
Ceci est pour VIM - pas VI. Les deux sont très différents dans leurs jeux de commandes.
Majenko
(Cette question apparaît dans les résultats de recherche Google pour le problème "retour arrière ne fonctionne pas" dans vim.) Les instructions dans cette réponse ne m'ont pas fonctionné. Cependant, en plaçant set backspace=2 dans la configuration de vim a fait l'affaire.
vadipp