Journal : Gvim moins bien que Vim ?
Posté par Dan () le 17 décembre 2007
-----------------
J'avais fini mon dernier journal par ça :
Mais finalement, on trouve de plus en plus de tutoriaux dessus et l'utilisation de ces logiciels est plutôt simple, alors j'ai abandonné au profit d'un constat que j'ai récemment fait sur vim et l'intérêt du graphique.
-----------------
J'utilise depuis quelques temps Gvim et j'en suis assez satisfait.
Je lance un serveur et tout ce que j'ouvre arrive sur la même fenêtre, grâce à la commande :
Mais plus le temps passe, plus j'utilise de fonctions vim.
Surtout les deux suivantes :
-le shell : soit avec :!commande soit avec :sh[ell] qui lance un nouveau shell.
-La touche K qui permet de lancer le man du mot sous le curseur.
Et là, petit problème avec Gvim : son support de shell est minime, il n'est pas capable d'afficher des couleurs et encore moins une manpage correctement. Peut-être y a t-il une astuce qui permet de faire tout ça, mais par défaut, ça foire complètement.
Alors là, je reviens sous Vim en console, et je me rends compte qu'on peut toujours se servir des tabs et du serveur pour toujours ouvrir dans la même fenêtre tous les fichiers, et tout ça, bien plus rapidement qu'en graphique.
Mais problème : pour naviguer entre les tabs, il faut taper :tabn ce qui est bien plus long qu'avec les registres avec la combinaison :bn pour changer.
Bon... Les tabs ont cet avantage sur les registres qu'il n'est pas utile de sauvegarder avant de changer de fichier, de plus l'historique des modifications est conservé, alors que quand on change de registre, on peut plus annuler les opérations que l'on avait faites.
Alors petit à petit on s'habitue à :tabn donc pas de soucis, surtout qu'il y a déjà un raccourci qui permet de changer d'onglet définit par défaut :
Et au pire, on peut toujours définir un raccourci dans le .vimrc.
La création d'un nouvel onglet avec :tabnew n'a pas de raccourci alors on peut en définir un dans le .vimrc. J'ai choisi F2 :
(désolé pour le copier coller qui marchera pas)
Donc pour l'instant, tout ceci marche pareil entre vim et gvim sauf que vim est (beaucoup) plus rapide et affiche mieux le shell.
Le seul truc qui pourrait manquer à vim par rapport à gvim, ce serait de pouvoir scroller avec la souris pour les fichiers qu'on veut juste voir sans modifier. La molette reste plus pratique quand on veut juste lire qu'un C-e C-y ou C-f C-b ou C-d C-u.
-----------------
Ensuite, vient le choix du terminal, très important, qui va beaucoup influer sur la qualité et la vitesse de vim.
J'ai choisi urxvt car il est rapide (plus qu'un xterm) et supporte l'unicode.
J'utilise cette commande :
Ça utilise une belle police de caractère, assez grande pour être lisible. Ça ralentit un peu le terminal, mais c'est vraiment plus beau, et puis ça reste un terminal, donc c'est rapide.
Le fond noir et l'écriture blanche : là, c'est un choix, on peut préférer l'inverse.
Pas d'ascenseur inutile.
Vient le dernier paramètre qui lance vim s'il n'est pas lancé, ou alors ouvre un onglet dans le vim existant s'il est déjà lancé.
Ce comportement est presque idéal et se rapproche finalement de beaucoup d'éditeurs graphiques.
Bien sûr on pourrait, selon les fichiers, ouvrir un serveur vim différent, avec un fichier .vimrc différent.
-----------------
Le problème de l'option -e des terminaux graphiques avec cette utilisation.
Avec la commande utilisée, Vim s'ouvre dans le terminal directement, il n'y a donc pas de shell derrière, donc si on fait C-z on se retrouve avec rien derrière et on doit faire C-c pour revenir sur vim.
Bien sûr, :sh permet d'ouvrir un shell de manière identique, mais ça prend du temps à s'ouvrir alors qu'un C-z est immédiat (et fg pour revenir après).
Pour ce léger problème, je suis sûr qu'une solution simple existe, et je m'en remet un peu à vous.
-----------------
Finalement, la régression transition du graphique vers la console n'a été que favorable, et mis à part le scrolling qui pourrait manquer de temps en temps, et le C-z qui ne me remet pas sur le shell quand j'ouvre mon vim avec la session dans mon urxvt, je dois dire que rien ne manque.
Même la sélection qui doit se faire au clavier n'est pas gênante.
Donc je terminerai sur une question.
En quoi une version graphique IMprove vim ? Ou en tout cas, en quoi le graphique pourrait l'améliorer, si ce n'est pour les menus et la souris ?
(oui, ça fait deux questions)
J'avais fini mon dernier journal par ça :
Prochain journal en mode mavie : testdisk & photorec (pour la récupération de fichiers/partition)Mais finalement, on trouve de plus en plus de tutoriaux dessus et l'utilisation de ces logiciels est plutôt simple, alors j'ai abandonné au profit d'un constat que j'ai récemment fait sur vim et l'intérêt du graphique.
-----------------
J'utilise depuis quelques temps Gvim et j'en suis assez satisfait.
Je lance un serveur et tout ce que j'ouvre arrive sur la même fenêtre, grâce à la commande :
gvim --servername Danou --remote-silent-tab mon_fichierMais plus le temps passe, plus j'utilise de fonctions vim.
Surtout les deux suivantes :
-le shell : soit avec :!commande soit avec :sh[ell] qui lance un nouveau shell.
-La touche K qui permet de lancer le man du mot sous le curseur.
Et là, petit problème avec Gvim : son support de shell est minime, il n'est pas capable d'afficher des couleurs et encore moins une manpage correctement. Peut-être y a t-il une astuce qui permet de faire tout ça, mais par défaut, ça foire complètement.
Alors là, je reviens sous Vim en console, et je me rends compte qu'on peut toujours se servir des tabs et du serveur pour toujours ouvrir dans la même fenêtre tous les fichiers, et tout ça, bien plus rapidement qu'en graphique.
Mais problème : pour naviguer entre les tabs, il faut taper :tabn ce qui est bien plus long qu'avec les registres avec la combinaison :bn pour changer.
Bon... Les tabs ont cet avantage sur les registres qu'il n'est pas utile de sauvegarder avant de changer de fichier, de plus l'historique des modifications est conservé, alors que quand on change de registre, on peut plus annuler les opérations que l'on avait faites.
Alors petit à petit on s'habitue à :tabn donc pas de soucis, surtout qu'il y a déjà un raccourci qui permet de changer d'onglet définit par défaut :
gt correspond à :tabn
gT correspond à :tabpEt au pire, on peut toujours définir un raccourci dans le .vimrc.
La création d'un nouvel onglet avec :tabnew n'a pas de raccourci alors on peut en définir un dans le .vimrc. J'ai choisi F2 :
map F2 :tabnewcr(désolé pour le copier coller qui marchera pas)
Donc pour l'instant, tout ceci marche pareil entre vim et gvim sauf que vim est (beaucoup) plus rapide et affiche mieux le shell.
Le seul truc qui pourrait manquer à vim par rapport à gvim, ce serait de pouvoir scroller avec la souris pour les fichiers qu'on veut juste voir sans modifier. La molette reste plus pratique quand on veut juste lire qu'un C-e C-y ou C-f C-b ou C-d C-u.
-----------------
Ensuite, vient le choix du terminal, très important, qui va beaucoup influer sur la qualité et la vitesse de vim.
J'ai choisi urxvt car il est rapide (plus qu'un xterm) et supporte l'unicode.
J'utilise cette commande :
urxvt -fn "xft:Bitstream Vera Sans Mono:pixelsize=20" -bg black -fg white +sb -e vim --servername Danou --remote-silent-tab mon_fichierÇa utilise une belle police de caractère, assez grande pour être lisible. Ça ralentit un peu le terminal, mais c'est vraiment plus beau, et puis ça reste un terminal, donc c'est rapide.
Le fond noir et l'écriture blanche : là, c'est un choix, on peut préférer l'inverse.
Pas d'ascenseur inutile.
Vient le dernier paramètre qui lance vim s'il n'est pas lancé, ou alors ouvre un onglet dans le vim existant s'il est déjà lancé.
Ce comportement est presque idéal et se rapproche finalement de beaucoup d'éditeurs graphiques.
Bien sûr on pourrait, selon les fichiers, ouvrir un serveur vim différent, avec un fichier .vimrc différent.
-----------------
Le problème de l'option -e des terminaux graphiques avec cette utilisation.
Avec la commande utilisée, Vim s'ouvre dans le terminal directement, il n'y a donc pas de shell derrière, donc si on fait C-z on se retrouve avec rien derrière et on doit faire C-c pour revenir sur vim.
Bien sûr, :sh permet d'ouvrir un shell de manière identique, mais ça prend du temps à s'ouvrir alors qu'un C-z est immédiat (et fg pour revenir après).
Pour ce léger problème, je suis sûr qu'une solution simple existe, et je m'en remet un peu à vous.
-----------------
Finalement, la régression transition du graphique vers la console n'a été que favorable, et mis à part le scrolling qui pourrait manquer de temps en temps, et le C-z qui ne me remet pas sur le shell quand j'ouvre mon vim avec la session dans mon urxvt, je dois dire que rien ne manque.
Même la sélection qui doit se faire au clavier n'est pas gênante.
Donc je terminerai sur une question.
En quoi une version graphique IMprove vim ? Ou en tout cas, en quoi le graphique pourrait l'améliorer, si ce n'est pour les menus et la souris ?
(oui, ça fait deux questions)
> Lire le journal (25 commentaires, moyenne: 1,2).
Vous avez demandé le commentaire #890715.



changer de buffer sans sauvegarder
:help hidden devrait t'y aider ...
[^]Re: changer de buffer sans sauvegarder
Certes, mais danger il y a, un :q est si vite arrivé.