Quelles fonctionnalités supplémentaires gVim et / ou MacVim offrent-elles par rapport à Vim dans un émulateur de terminal?

23

J'apprends Vim en regardant des screencasts. Et je me demande pourquoi beaucoup de gens utilisent gVim ou MacVim?

D'après ce que je peux voir, la version GUI Vim n'a que des fonctionnalités supplémentaires qui impliquent l'utilisation de la souris. Mais n'est-ce pas contraire à la "philosophie Vim"?

Quelqu'un peut-il expliquer quelles fonctionnalités supplémentaires la version GUI Vim offre par rapport au Vim basé sur terminal?

Aaron Shen
la source
Gui vim permet plus de 256 couleurs, ainsi que d'autres formats de texte, ce qui pourrait être un tirage au sort. Personnellement, je ne vois pas pourquoi les gens préfèrent gui vim, car je trouve le terminal vim plus pratique. Mais c'est mon opinion.
EvergreenTree

Réponses:

27

Quelques fonctionnalités qui ne fonctionneront qu'avec gVim:

  • Prise en charge des couleurs 24 bits hors de la boîte (pour obtenir la même quantité de couleurs dans le terminal vim, vous devez essayer un peu plus, voir ceci et cela ). Pour les vrais italiques, il en va de même (voir ceci et cela ). Notez que vous devez utiliser une police qui prend en charge les vrais italiques.
  • Quelques autres fonctionnalités graphiques plus avancées, telles que des "lignes ondulées" pour la vérification orthographique, des formes de curseur plus flexibles, etc. Un terminal ne peut faire que des "blocs de caractères à espacement fixe".
  • Active la prise en charge de la souris , sinon laissé seul (y compris le glisser-déposer pour les fichiers). Terminal Vim peut également très bien gérer la souris, mais pas le glisser-déposer.
  • Offre un système de menu agréable et personnalisable , où chaque option a la commande Vim correspondante répertoriée.
  • gVim peut vous proposer des barres de défilement qui font défiler le tampon Vim (et non le scrollback du terminal).
  • Vous pouvez avoir pop - up "ballons" (aka. "Tooltips").
  • A un support de police intégré .
  • Certains raccourcis clavier fonctionnent avec gVim comme CTRL+ Space, Meta+ e... alors qu'ils nécessitent plus de réglages du terminal dans l'autre cas.

Deuxièmement, même si vous préférez utiliser Vim, l'installation d'une version GUI peut offrir plus de fonctionnalités au moment de la compilation que la version sans, au moins dans certaines distributions (telles que clipboardet le clientserversupport sur le système basé sur Debian dans vim-noxvs vim-gnome).

De plus, sous Windows, une fenêtre gVim peut être redimensionnée plus facilement qu'une fenêtre Vim de console.

Ce que gVim ne fait pas :

  • gVim n'est pas un émulateur de terminal (complet), donc démarrer des programmes externes qui utilisent beaucoup de fonctionnalités de terminal ne fonctionnera pas très bien. Par exemple essayer d' utiliser :!vim, :!muttou :!irsside gVim, ou en appuyant Ksur un mot (qui, par défaut, ouvre la page de manuel pour ce mot). Voir aussi ceci .
muru
la source
1
Vim régulier est également plus pratique si vous utilisez beaucoup SSH, car il peut être placé sous tmux ou screen et ne nécessite pas de support X11 à chaque extrémité.
Kevin
en fait, gvim a un terminal inclus depuis l'un des derniers patchs 8.0. Vous pouvez donc démarrer un terminal et devriez pouvoir y exécuter des programmes interactifs.
Christian Brabandt
1
Les menus sont certainement plus agréables et plus intégrés dans vim GUI, mais ils existent et sont utilisables dans vim console. Il faut se procurer menu.vim, puis probablement utiliser set wildmenuet :emenu <Tab>naviguer d'une manière qui ressemble ... eh bien, aux menus.
brhfl
@brhfl Je dirais plutôt "à peine" utilisable.
muru
Wiki de la communauté @ChristianBrabandt! Allez-y et éditez-le. :)
muru
4

Je peux juste parler de gVim. Outre les différences de base, j'ai constaté que l'utilisation de gVim m'aide beaucoup au début à apprendre les commandes de base (par exemple, une façon de copier le texte sélectionné dans le presse-papiers avec "+ y) en lisant chacun des raccourcis affichés dans le menu. Il peut cela peut paraître idiot, mais vous devriez vraiment passer un peu de temps à parcourir le menu et non pas simplement cliquer sur un élément, mais pour tester le raccourci qu'il affiche.

Javier Scappini
la source
4

Certains d'entre nous sont coincés dans Windows Land, les options de terminal sont donc moins pratiques.

Dans l'Explorateur Windows, vous pouvez cliquer avec le bouton droit sur un fichier et l'ouvrir immédiatement avec gVim. C'est beaucoup plus facile et plus rapide que d'ouvrir un terminal (cygwin ou autre), de naviguer vers le répertoire et de vimming du fichier.

(Sur mon PC de travail, gVim et MinGW bash couvrent la plupart de mes besoins d'édition)

roblogic
la source
Cela fonctionne également pour le monde Linux. Si vous souhaitez ouvrir un fichier dans vim directement depuis nautilus, gvim est disponible alors que vim ne l'est pas.
kuldeep.kamboj
@ kuldeep.kamboj Il s'agit simplement de configurer Nautilis; vous pouvez utiliser xterm -e vim %ou certains tels ...
Martin Tournoij
1
C'est exactement pourquoi j'ai gViminstallé. Les polices de terminal Windows vous font saigner.
Shahbaz
1

Pour ajouter une chose triviale: Lorsque vous utilisez gvim, la liste des fenêtres de mon bureau affiche un joli symbole Vim plutôt qu'un symbole Xterm, ce qui facilite le passage à l'éditeur si de nombreux xterms sont ouverts.

PhilippFrank
la source
2
Vous pouvez changer l'icône d'une fenêtre avec xseticon:-)
Martin Tournoij
1

Un point crucial pour moi qui continue de me faire utiliser des versets MacVim juste le terminal + vi est la vitesse. J'ai toutes sortes de plugins vim et de conseils de langage et de vérificateurs de syntaxe qui surprennent étonnamment le terminal vi, tandis que le bac compilé de MacVim gère très bien tout ce sucre syntaxique.

Dan Shumaker
la source
0

Changer la forme du curseur en fonction du mode (par exemple Normal vs Insérer) fonctionne très bien avec gVim. Cela devrait fonctionner lorsque vous utilisez vim dans un programme terminal comme Konsole, mais je ne l'ai jamais vu fonctionner.

John Schmitt
la source
Je n'ai pas tendance à utiliser des émulateurs de terminaux particulièrement sophistiqués sous Linux, mais je peux confirmer que cela fonctionne très bien dans mintty / cygwin et iTerm2 sur Mac.
brhfl