Welche zusätzlichen Funktionen bieten gVim und / oder MacVim im Vergleich zu Vim in einem Terminalemulator?


23

Ich lerne Vim, indem ich mir Screencasts ansehe. Und ich frage mich, warum viele Leute gVim oder MacVim verwenden.

Soweit ich sehen kann, verfügt die GUI Vim-Version nur über zusätzliche Funktionen, bei denen die Maus verwendet wird. Aber ist das nicht gegen die "Vim-Philosophie"?

Kann jemand erklären, welche zusätzlichen Funktionen die GUI Vim-Version gegenüber der terminalbasierten Vim-Version bietet?


Gui vim erlaubt mehr als 256 Farben sowie andere Textformatierungen, so dass es sich möglicherweise um ein Unentschieden handelt. Ich persönlich kann nicht verstehen, warum die Leute Gui Vim bevorzugen, da ich Terminal Vim praktischer finde. Aber das ist meine Meinung.
EvergreenTree

Antworten:


27

Einige Funktionen, die nur mit gVim funktionieren:

  • 24-Bit-Farbunterstützung von Anfang an (um die gleiche Anzahl von Farben in Terminal Vim zu erhalten, müssen Sie sich etwas mehr anstrengen, siehe dies und das ). Für echte Kursivschrift gilt dasselbe (siehe dies und das ). Beachten Sie, dass Sie eine Schriftart verwenden sollten, die echte Kursivschrift unterstützt.
  • Einige andere erweiterte grafische Funktionen, z. B. "verwackelte Linien" für die Rechtschreibprüfung, flexiblere Cursorformen usw. Ein Terminal kann nur "Blöcke mit monospaced Zeichen" ausführen.
  • Aktiviert die Mausunterstützung , sofern nicht anders angegeben (einschließlich Drag-and-Drop für Dateien). Terminal Vim kann auch mit der Maus gut umgehen, aber nicht per Drag & Drop.
  • Bietet ein anpassbares Menüsystem, in dem für jede Option der entsprechende Vim-Befehl aufgeführt ist.
  • gVim bietet Ihnen Bildlaufleisten an, die den Vim-Puffer (und nicht den Terminal-Bildlauf) durchlaufen.
  • Sie können Popup "Luftballons" (aka "Tooltips") haben.
  • Hat integrierte Schriftunterstützung .
  • Einige Tastenkombinationen funktionieren bereits mit gVim wie CTRL+ Space, Meta+ e..., während im anderen Fall weitere Anpassungen am Terminal erforderlich sind.

Zweitens kann die Installation einer GUI-Version, selbst wenn Sie Vim bevorzugen, mehr Funktionen zur Kompilierungszeit bieten als die Version ohne, zumindest in einigen Distributionen (wie clipboardund clientserverUnterstützung für Debian-basierte Systeme in vim-noxvs vim-gnome).

Unter Windows kann die Größe eines gVim-Fensters einfacher geändert werden als bei einem Konsolen-Vim-Fenster.

Was gVim nicht macht:

  • gVim ist kein (vollständiger) Terminalemulator, daher funktioniert das Starten von externen Programmen, die viele Terminalfunktionen verwenden, nicht sehr gut. Zum Beispiel versucht , mit :!vim, :!muttoder :!irssiaus gVim oder durch Drücken von Küber ein Wort (die standardmäßig auf die Hilfeseite für das Wort öffnet). Auch sieht dies .

1
Regular Vim ist auch praktischer, wenn Sie häufig SSH verwenden, da es unter tmux oder screen ausgeführt werden kann und an beiden Enden keine X11-Unterstützung benötigt.
Kevin

Tatsächlich hat gvim seit einem der späteren 8.0-Patches ein Terminal im Lieferumfang. Sie können also ein Terminal starten und sollten interaktive Programme ausführen können.
Christian Brabandt

1
Menüs sind auf jeden Fall besser und besser in GUI vim integriert, aber es gibt sie und sie können in Console vim verwendet werden. Man muss Quelle menu.vimund dann wahrscheinlich set wildmenuund verwenden :emenu <Tab>, um in einer Art und Weise zu navigieren, die ... nun, Menüs ähnelt.
Brhfl

@brhfl Ich würde sagen "kaum" verwendbar statt.
muru

@ChristianBrabandt Community Wiki!
Mach

4

Ich kann nur über gVim sprechen. Abgesehen von den grundlegenden Unterschieden habe ich festgestellt, dass mir die Verwendung von gVim am Anfang beim Erlernen grundlegender Befehle (z. B. eine Möglichkeit zum Kopieren von ausgewähltem Text in die Zwischenablage mit "+ y") durch Lesen der im Menü angezeigten Verknüpfungen sehr hilfreich ist Es klingt albern, aber Sie sollten wirklich einige Zeit damit verbringen, das Menü zu durchlaufen und nicht nur auf ein Element zu klicken, sondern auch die darin angezeigte Verknüpfung zu testen.


4

Einige von uns stecken im Windows-Land fest, daher sind die Terminaloptionen weniger praktisch.

Im Windows Explorer können Sie mit der rechten Maustaste auf eine Datei klicken und diese sofort mit gVim öffnen. Das ist viel einfacher und schneller als ein Terminal zu öffnen (Cygwin oder was auch immer), zum Verzeichnis zu navigieren und die Datei zu vimmen.

(Auf meinem Arbeits-PC decken gVim und MinGW bash die meisten meiner Bearbeitungsanforderungen ab.)


Es funktioniert auch für die Linux-Welt. Wenn Sie eine Datei in vim direkt von nautilus aus öffnen möchten, ist gvim verfügbar, vim jedoch nicht.
kuldeep.kamboj

@ kuldeep.kamboj Dies ist einfach eine Frage der Konfiguration von Nautilis. Sie können xterm -e vim %oder einige solche verwenden ...
Martin Tournoij

1
Genau deshalb habe ich gViminstalliert. Windows-Terminal-Schriftarten lassen Ihre Augen bluten.
Shahbaz,

1

Um ein Triviales hinzuzufügen: Wenn Sie gvim verwenden, zeigt die Fensterliste meines Desktops ein nettes Vim-Symbol anstelle eines Xterm-Symbols, was es einfacher macht, in den Editor zu wechseln, wenn viele Xterms geöffnet sind.


2
Sie können das Symbol eines Fensters ändern mit xseticon:-)
Martin Tournoij

1

Ein entscheidender Punkt für mich, der mich weiterhin dazu bringt, MacVim zu verwenden, ist Geschwindigkeit. Ich habe alle Arten von Vim-Plugins und Sprachtipps und Syntaxprüfprogramme, die das Terminal vi überraschend in den Schatten stellen, während der kompilierte Bin von MacVim all diesen syntatischen Zucker in Ordnung bringt.


0

Das Ändern der Cursorform je nach Modus (z. B. Normal oder Einfügen) funktioniert mit gVim sehr gut. Dies sollte funktionieren, wenn Sie vim in einem Terminalprogramm wie Konsole verwenden, aber ich habe noch nie gesehen, dass es funktioniert.


Ich verwende normalerweise keine besonders ausgefallenen Terminalemulatoren unter Linux, kann aber bestätigen, dass es unter Mintty / Cygwin und iTerm2 unter Mac sehr gut funktioniert.
Brhfl
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.