web-dev-qa-db-fra.com

Comment définir l'affichage Bash pour ne pas afficher le texte VIM après la sortie?

Ma question est simple, mais je trouve du mal à encadrer/à l'expliquer facilement.

Je me connecte à plusieurs boîtes UNIX avec des comptes différents. Je vois 2 choses différentes pour user1 et user2, lors de la modification de fichiers texte dans Vim

user1

Quand je tape vim filename, Vim s'ouvre et je modifie le fichier. Lorsque je le ferme, le texte complet du fichier est parti et je vois la commande/sortie des tentimes qui était auparavant présent.

user2

Quand je tape vim filename, Vim s'ouvre et je modifie le fichier. Lorsque je le ferme, la partie du fichier présent à l'écran pendant que j'étais dans vim apparaît toujours à l'écran et que tout le terminal précédent obtient le défilement. Même si le fichier était juste 1 ligne, après avoir quitté Vim, l'écran affiche la première ligne, avec le repos tout le ~ Et je vois l'invite de commande au bas de l'écran.

Des détails

$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
$ vim --version
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:08:36)

J'ai comparé les fichiers vimrc pour les deux utilisateurs et je suis au courant de tous les paramètres et je ne trouve aucun paramètre/configuration en rapport avec ce comportement.

Ce comportement est-il lié à Shell Config? Comment puis-je définir les choses, afin que je reçois le comportement comme indiqué dans user1 scénario?

Je ne suis pas capable de décrire cela facilement, de la trouver fort pour Google, car je ne sais pas quel mot-clé à rechercher un tel comportement. Faites-moi savoir si je devrais élaborer plus loin.

30
mtk

L'une des raisons de ce comportement sera le réglage du terminal pour chaque utilisateur.

Par exemple:

  • User1 utilise terme = xterm, dans ce cas lorsque vous quittez Vim, il effacera le terminal.
  • User2 utilise terme = VT1, dans ce cas lorsque vous quittez VIM, il n'effacera pas le terminal.

Vérifiez quel terminal User1 utilise avec echo $TERM et définissez la même chose pour l'utilisateur2. Pour Bash:

Terme = xterm; terme d'exportation

24
BitsOfNix

Un tel comportement était la seule chose qui m'a empêché d'utiliser screen. Il utilise le terminal "Écran" et la modifiant sur "Xterm" n'a pas aidé.

Ajouter altscreen on Option dans ~/.Screenrc résolu. À partir du manuel de l'écran:

altscreen on|off

If set to on, "alternate screen" support is enabled in virtual terminals, just like in xterm.  Initial setting is `off'.
18
BartBiczBoży

J'ai essayé toutes ces options mais le résultat n'était pas celui que je suis attendu. !clear effacerait tout l'écran et ne laisse pas derrière les commandes Bash antérieures.

Solution simple et correcte consiste à définir la chaîne de type terminal sur xterm et vitesses terminales à 38400,38400 Sous Détails du terminal dans les paramètres du mastic sous Connection-> Données.

Enregistrez les paramètres et vous êtes prêt à partir.

1
Vinaya Rajanna