Une meilleure interface graphique pour vim?

15

J'aime utiliser vim, ses fonctionnalités infinies et sa façon de faire (pour la plupart). Je l'utilise de temps en temps (pas en tant que mon éditeur principal) depuis au moins 7 ans maintenant, alors même si je suis loin d'être un expert, je connais généralement mon chemin.

Maintenant, bien que je l'aime dans la ligne de commande, j'aimerais vraiment que ce soit mon éditeur principal dans les interfaces graphiques Windows et Linux. Mais ... gvim ... est horrible . Il casse tellement de "règles" de convivialité sous Windows qu'il ne vaut même pas la peine de se battre avec. Même la crème , avec ses changements et son .vimrc fantaisie, ne sauve pas la situation.

Donc, ma question est: existe-t-il une interface graphique vim moderne pour Windows et Linux qui la fait ressembler et se comporter comme la plupart des éditeurs d'interface graphique? Avoir Sublime Text, Kate, TextMate ou l'interface graphique d'Editra avec les fonctionnalités de vim serait incroyable. Je réalise tous les quatre (ainsi que beaucoup d' autres éditeurs) ont des plugins qui sorte de marques les se comportent comme vim, mais il est nulle part près (au moins pour texte Editra et sublime, pas sûr pour les autres) le vrai vim.

Vim étant open source, je ne sais vraiment pas pourquoi il n'y a pas encore eu de refonte complète de l'interface graphique. Les gens n'utilisent-ils pas gvim?

imirique
la source
15
Personnellement, j'utilise gVim sous Windows précisément parce qu'il se comporte de la même manière que la console / le terminal vimsous Unix.
user1686
1
Il serait utile de connaître certains détails des règles d'utilisation avec lesquelles vous trouvez gVim particulièrement en faute.
RedGrittyBrick
2
OK, en voici une: la sélection de texte en mode visuel et le défilement modifient en fait la sélection. Je comprends que cela se produit parce que le curseur doit toujours rester visible, et cela aide à utiliser la commande «o» en mode visuel, mais c'est tellement contre-intuitif aux applications GUI standard. Je vois que beaucoup de gens utilisent gVim simplement parce qu'il se comporte comme Vim, mais alors pourquoi ne pas utiliser la console Vim? Mettre en place un environnement Linux sous Windows et / ou utiliser un bon terminal comme mintty est très facile à faire.
imiric
2
Au lieu de "configurer un environnement Linux sous Windows", pourquoi ne pas simplement utiliser gVim? Aucune configuration requise.
user1686
Voici une autre discussion intéressante sur la création d'
imiric

Réponses:

12

vim est conçu pour utiliser efficacement le clavier, pas pour utiliser la souris. ainsi, je trouve votre plainte concernant un mauvais "gui" un peu maladroite. si vous n'aimez pas vim ou si vous ne voulez pas savoir comment les choses se font dans vim, c'est très bien. mais alors vous devez utiliser un autre éditeur car vim ne correspond tout simplement pas à vos besoins.

donc, je doute qu'il y aura une version graphique de vim qui corresponde à vos attentes sur ce à quoi un éditeur "graphique" décent devrait ressembler ou devrait se comporter.

akira
la source
3
ou vous venez d'apprendre 100% vim et d'en finir avec le problème de l'éditeur jusqu'à la fin des temps :)
akira
3
Il y a / il y a / des raisons d'utiliser gVim au lieu de Vim dans une simple console. Deux exemples: 1) Il existe des méta-combinaisons que Vim ne peut voir que dans l'interface graphique, en raison des limitations des émulateurs de terminaux et des bibliothèques de gestion des terminaux. 2) Prise en charge des couleurs considérablement plus étendue. À part cela, je pense qu'il est extrêmement injuste de s'attendre à ce que Vim se comporte soudainement comme toutes les autres applications GUI simplement parce qu'il se trouve qu'il a une GUI. Vim devra probablement toujours violer les "règles" d'utilisation, sinon ce ne sera plus Vim. Si ce n'est pas ce que vous voulez, je dois en réitérer d'autres: trouvez un éditeur différent.
Heptite
5
@imric: Quand je dis que "ce ne serait plus Vim", je veux dire en fait qu'il ne peut plus être Vim et "conforme" en mode GUI. Vim est un clone amélioré de vi, et vi existait littéralement avant que les GUI n'existent. Il dispose d' une interface utilisateur unique, et oui, qui fait en conflit avec les lignes directrices actuelles de la convivialité de l' interface graphique. Pour obtenir (tout) ce que vous voulez, vous demandez un éditeur qui ne se comporte vraiment pas vraiment comme vi / Vim est censé fonctionner. Une règle que Bram Moolenar (le créateur et propriétaire des droits d'auteur de Vim) a pour Vim est, autant que possible, que la console et l'interface graphique de Vim devraient se comporter de la même manière.
Heptite
3
@imric: pourquoi voulez-vous utiliser vim si ce n'est pour son interface utilisateur "arrogante et injuste"? je veux dire, c'est vim .. vous l'utilisez parce qu'il fait le travail comme il le fait, même pour emacs. comme je l'ai déjà dit: si l'outil entre en conflit avec ce que vous voulez: utilisez un outil différent.
akira
2
Personnellement, mon GVim est configuré pour ressembler exactement à mon Vim donc je n'ai pas de menus, pas de barres de défilement, les mêmes polices / couleurs ... La seule raison pour laquelle j'utilise parfois GVim au lieu de Vim est quand j'utilise la souris et la roue pour parcourir librement certains fichiers (quand je prends du café ou de la bière par exemple). Cela n'arrive pas souvent, mais quand même, parfois. Je ne peux pas imaginer pourquoi on voudrait un Vim qui ne se comporte pas comme Vim. Mieux vaut utiliser un autre éditeur qui a été conçu avec GUI à l'esprit.
cedbeu
7

Je suis d'accord avec les réponses et les commentaires d'Akira.

La seule interface graphique conviviale pour Vim est MacVim qui, évidemment, est une application Mac uniquement.

Je ne suis pas sûr que ce soit "le meilleur des deux mondes", mais la dernière version bêta de Sublime Text 2 a un mode "vintage" très impressionnant qui couvre de nombreuses fonctionnalités utiles de Vim (mouvements, objets texte) et mappe d'autres choses ( /ou ?par exemple) à ses fonctionnalités natives. Je trouve son design global un peu irritant, donc je ne me vois pas y changer de sitôt mais, encore une fois, le mode vintage est impressionnant.

romainl
la source
1
Bon, MacVim semble avoir une bien meilleure interface graphique Vim. Mais d'après ce que je comprends, il a fallu beaucoup de travail pour le rendre transparent sous OS X, et gVim est une monstruosité vieille de plusieurs décennies qui ne reçoit pratiquement aucune mise à jour. J'ai essayé le mode Vim de Sublime Text, et bien qu'il implémente de nombreuses commandes de mouvement et d'insertion, il ne fonctionne toujours pas.
imiric
Sur MacOS X, de bonnes interfaces utilisateur cohérentes sont d'une importance primordiale alors que personne ne s'en soucie sous Linux et Windows. C'est pourquoi cela importait aux gens derrière MacVim et ils ont passé par le dur travail que cela nécessitait. Mais la tâche n'était probablement pas si compliquée en raison des directives / traditions / usages établis et de la manière dont ils sont appliqués par le biais des outils de développement officiels. Sur ce bureau Linux, mes applications ont au moins 2 façons de nommer le menu principal ( « Fichier » ou un mot lié à la fonction de l'application) et au moins 4 raccourcis pour « Quitter » / « Fermer la fenêtre » ( <C-q>, <S-C-q>, <C-w>, :q...) . Je sais…
romainl
… De première main, c'est en grande partie la même chose sur les fenêtres. Je pense qu'il est difficile de proposer une expérience polie ET bien intégrée dans un environnement aussi désordonné sans une sorte d'incitation monétaire ou de leadership autoritaire. OK, désolé pour la diatribe, retour à l'horaire régulier.
romainl
2

Vous pouvez obtenir un plugin pour un IDE qui lui donne des raccourcis clavier VIM. PAR EXEMPLE

Voici un IDE web très cool pour les développeurs web, comprend git, qui a un mode de liaison de clés VIM intégré:

Sinon, je fais mon développement sur un mac, et je suis un grand fan de MacVim, et je conviens que gVim est super moche sur * nix, et je grince des dents chaque fois que je dois exécuter vim dans un shell ssh sur le serveur.

En ce qui concerne les éditeurs similaires à VIM qui ne sont pas un IDE séparé, une autre application GUI (mac uniquement, désolé) est:

Thomas Hunter
la source
Merci pour vos suggestions, mais j'ai décidé de m'en tenir à la console Vim pour tous mes besoins de développement, au lieu de me battre avec gVim. J'ai déjà mon shell ouvert tout le temps, j'ai juste une autre fenêtre tmux exécutant Vim, et cela rend le passage de l'éditeur au shell très rapide et pratique. De plus, aucune règle d'utilisation n'est enfreinte dans la console. :-) Je pense bientôt passer à Mac et je vais essayer MacVim.
imiric
2

Vous pouvez utiliser VisualStudio Code et il a plusieurs plugins qui ajoutent de nombreuses fonctionnalités de Vim aux côtés de nombreux goodies. C'est un très bon éditeur en plus d'être ouvert et gratuit et il a des saveurs Windows, MacOs et Linux.

Marco Santana
la source
1
Si vous êtes un fanboy Vim hard-core, vous ne trouverez probablement aucun des plugins VS Code Vim satisfaisant.
1

Si vous utilisez la technologie d'accès comme un lecteur d'écran et que vous voulez de la puissance vim, vous pouvez essayer mon projet: https://code.google.com/p/phonim/ il utilise les scripts JAWS et l'interface gVim OLE. Bien que réalisable, il laisse beaucoup à désirer, mais même cet accès limité à la puissance de vim en vaut la peine.

Pour améliorer la situation de gVim, tout ce qui est requis est que quelqu'un possédant le savoir-faire approprié pour doter le backend vim d'un frontal d'interface utilisateur moderne avec un composant éditeur prenant en charge UIAutomation et MSAA.

Kerneels Roos
la source
Pas de problème, ont édité. Ouais, un peu énervé, mais vous voyez, j'adore Vim et j'aimerais vraiment que plus de gens en profitent :-).
Kerneels Roos
1

Vim est destiné à être utilisé sans interface graphique. Mais si vous êtes préoccupé par la barre de menus et la barre d'outils dans gvim, cela n'a pas sa place. Vous pouvez le désactiver simplement insérer

"Remove Menubar and Toolbar
set guioptions -=m 
set guioptions -=T

dans votre vimrc alors il sera parti. sur le bonus si vous utilisez des fenêtres inférieures à 10, votre gvim est mieux redimensionné (que les fenêtres par défaut cmd) et a un meilleur support de jeu de couleurs et semble bon.

user93
la source
1

Peut-être que quelque chose comme Oni est ce que vous recherchez. Je ne l'ai pas personnellement utilisé, mais il est basé sur neovim , vous ne devriez donc pas obtenir un ensemble de fonctionnalités à moitié cuit.

vimist
la source