Utilisation de Vim avec Screen
Par Bounga le vendredi, 4 juin 2004, 12:52 - Général - Lien permanent
Bonjour,
depuis quelques jours je me suis mis à Vim, j'avais envie d'en connaître les bases pour pouvoir travailler confortablement sous les systèmes qui ne disposent que de cet éditeur (ou Vi mais c'est à peu près pareil). Au fûr et à mesure de mes lectures de documentations, j'ai commencé à m'intéresser de plus près à Vim et je dois avouer qu'il propose une approche très intéressante de l'édition de texte.
Utilisateur de Screen, j'ai donc lancé Vim dans ce dernier. Et là grande surprise Vim a mis un temps fou (environ 5 ou 6 secondes) à se lancer dans ma session Screen, alors que dans un terminal sans Screen il se lançait en moins d'une seconde. J'ai donc cherché à comprendre ce qu'il se passait et j'ai compris qu'en fait Vim à son lancement essaie de se rattacher à une session X si celle-ci existe, mais cela n'a pas de sens dans Screen. Il faut donc indiquer à Vim de démarrer sans chercher à localiser la session X. On peut faire cela avec l'option -X. Sur la ligne de commande, on tapera donc: vim -X. Grâce à cela, Vim démarre à nouveau dans la seconde
.
J'espère que cette petite astuce pourra aider tout ceux qui travaillent à l'aide de Vim sous Screen. Il est d'ailleurs à noter que cette astuce peut intéresser tous les utilisateurs de Screen puisque beaucoup de programmes qui ont la capacité de se lancer soit en mode console, soit en mode X mettent beaucoup plus de temps à se lancer en mode console sous Screen. La plupart de ces programmes possédent un paramètre qui permet de ne pas chercher si une session X est active (comme le -X de Vim). Si vous rencontrez ce problème pensez donc à lire le manuel du programme en question pour voir si celui-ci possède une telle option.
Voila, bonne journée.
P.S: Je pense mettre très bientôt à disposition mon fichier de config Vim sur http://stuff.bounga.ath.cx dans la rubrique config_files.
Commentaires
Hey dude ! long time no see
Mmmh à mon avis, c'est lié à debian ou qqch comme ca...
Par défaut "vim" ne cherche pas X, ou alors c'est un alias ou un lien symbolique du type "alternatives".
Vim dans screen est excellent, mais:
- penser à faire Ctrl-A A pour incrémenter le chiffre vers le curseur,
- :set mouse='a' ne marche plus... dommage c'est pratique !
- ne pas utiliser screen pour de l'édition multiple, mais plutot les buffers de vim ! Au moins on partage la completion (C-P), le yank, et tout.
Pour aider pour le multi buffer, un outil qui aide 'achement beaucoup:
minibufexpl (http://www.vim.org/scripts/script.php?script_id=159)
et rajouter dans le .vimrc:
nmap :MBEbn
pour naviguer avec tab dans les buffers.
Eh !!! Salut, c'est vrai que ça fait un moment qu'on ne s'est pas parlé. Ca fait plaisir de te voir ici
.
Maintenant que tu le dis c'est vrai que ce n'est peut-être pas lié à Vim, ni à Debian mais plus à ma configuration de Screen je pense. En effet comme je l'ai expliqué Vim n'est pas le premier soft à avoir ce genre de comportement dans Screen chez moi.
En tout cas merci pour tes explications et tes conseils, le script que tu mentionnes est très bien je l'utilise aussi
.
Encore merci pour ton post, bonne soirée et à bientôt !
J'ai rajouté ca dans mon .zshrc:
Quand on lance vi, la fenetre screen est renommée vi... c'est con mais avec 1-2 sessions vi, j'en arrive à m'y perdre[ "x$TERM" = "xscreen" ] && alias vi='screen -X title vi;vi;screen -X title $(basename $SHELL)'
Sinon, j'ai aussi:
[ "x$TERM" = "xscreen" ] || screen -R -d -A
pour que le shell soit automatiquement lancé à la connexion.
Pour irssi c'est avec un -x, ainsi avec les clefs ssh ca marche tout seul
Eh eh
, merci pour ces infos, je vais en profiter pour également ajouter le lancement automatique à la connexion.