4 votes

Vim ne restaure pas le contenu de l'écran sur Debian ?

J'ai toujours pensé que Vim restaurait le contenu précédent de l'écran à la fermeture. Cela me permet de me souvenir des commandes que j'ai tapées précédemment et de ce que je voulais faire ensuite.

Récemment, j'ai utilisé Debian 6 et Ubuntu (CLIs uniquement) dans une VM pour un projet de développement et j'ai été extrêmement ennuyé par le fonctionnement de Vim. Après avoir fermé le fichier, son contenu reste à l'écran, ce qui m'oblige à me demander si je suis toujours dans Vim ou non, et à utiliser l'historique pour retrouver ce que j'ai tapé précédemment.

Je n'ai pas trouvé de solution. L'utilisation de tput smcup et rmcup par exemple ne fait absolument rien.

3voto

Alastair Irvine Points 398

Modifiez votre .screenrc et ajoutez la commande " altscreen on ".

Référence de le manuel :

— Command: altscreen state

    (none)
    If set to on, "alternate screen" support is enabled in virtual 
    terminals, just like in xterm. Initial setting is ‘off’.

0voto

Essayez d'activer la fonction écran alternatif sur votre émulateur de terminal. Dans le cas d'un xterm , Ctrl + Middle Click vous propose un menu, puis sélectionnez "Enable Alternate Menu Switching" (Activer la commutation de menu alternatif).
Si cela fonctionne, vous pouvez modifier votre .Xresources à contenir : xterm*titeInhibit: false puis tapez $ xrdb -merge < ~/.Xresource . Je n'ai pas testé cette configuration.

0voto

lornix Points 10746

Sous l'aide du VIM pour écran de restauration :

                        'restorescreen' 'rs' 'norestorescreen' 'nors'
'restorescreen' 'rs'    boolean (default on)
                        global
                        {not in Vi}  {only in Windows 95/NT console version}
        When set, the screen contents is restored when exiting Vim.  This also
        happens when executing external commands.

        For non-Windows Vim: You can set or reset the 't_ti' and 't_te'
        options in your .vimrc.  To disable restoring:
                set t_ti= t_te=
        To enable restoring (for an xterm):
                set t_ti=^[7^[[r^[[?47h t_te=^[[?47l^[8
        (Where ^[ is an <Esc>, type CTRL-V <Esc> to insert it)

Vous pouvez avoir un

set norestorescreen

-ou

set restorescreen!

dans votre fichier .vimrc. (ou l'un de vos scripts supplémentaires). Par défaut, le contenu de l'écran précédent est restauré.

N'oubliez pas de rechercher les versions courtes ( nors / rs ! ) si vous ne trouvez pas le nom complet de l'option.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X