Bessere GUI für vim?

15

Ich genieße es, vim zu benutzen, seine endlosen Funktionen und die Art und Weise, wie es Dinge tut (größtenteils). Ich benutze es seit mindestens 7 Jahren immer wieder (und nicht mehr als mein Haupteditor). Obwohl ich kein Experte bin, kenne ich mich im Allgemeinen damit aus.

Jetzt, wo ich es in der Befehlszeile liebe, möchte ich wirklich, dass es mein Haupteditor in Windows- und Linux-GUIs ist. Aber ... gvim ... ist schrecklich . Es bricht so viele Usability "Regeln" unter Windows, dass es sich nicht einmal lohnt, damit zu kämpfen. Nicht einmal Cream mit seinen Änderungen und seiner ausgefallenen .vimrc-Datei rettet den Tag.

Meine Frage lautet also: Gibt es eine moderne vim-GUI für Windows und Linux, mit der sie so aussieht und sich so verhält wie die meisten GUI-Editoren? Es wäre unglaublich, Sublime Text, Kate, TextMate oder Editras GUI mit den Funktionen von vim zu haben. Ich weiß , alle vier (sowie viele andere Editoren) haben Plugins , die Art macht sie wie vim verhalten, aber es ist nah nirgends (zumindest für Editra und Sublime Text, nicht sicher , für die anderen) die wirkliche vim.

Da es sich um Open Source handelt, bin ich mir nicht sicher, warum es noch keine vollständige GUI-Überarbeitung gegeben hat. Verwenden Leute nicht gvim?

imiric
quelle
15
Persönlich verwende ich gVim unter Windows genau deshalb, weil es sich genauso verhält wie die Konsole / das Terminal vimunter Unixes.
user1686
1
Es wäre hilfreich, einige Details der Usability-Regeln zu kennen, an denen gVim besonders schuld ist.
RedGrittyBrick
2
OK, hier ist eine: Durch Auswählen von Text im visuellen Modus und Scrollen wird die Auswahl tatsächlich geändert. Ich verstehe, dass dies geschieht, weil der Cursor immer sichtbar bleiben muss und die Verwendung des Befehls 'o' im visuellen Modus hilfreich ist. Dies ist jedoch für Standard-GUI-Apps nicht intuitiv. Ich sehe viele Leute, die gVim benutzen, nur weil es sich wie Vim verhält, aber warum dann nicht einfach Console Vim benutzen? Das Einrichten einer Linux-Umgebung unter Windows und / oder die Verwendung eines guten Terminals wie mintty ist sehr einfach.
Imiric
2
Warum nicht einfach gVim verwenden, anstatt eine Linux-Umgebung unter Windows einzurichten? Kein Setup erforderlich.
user1686
Hier ist eine weitere interessante Diskussion über eine moderne Benutzeroberfläche
imiric

Antworten:

12

vim ist für die effiziente Verwendung der Tastatur und nicht für die Verwendung der Maus konzipiert. daher finde ich deine beschwerde über eine schlechte "gui" etwas umständlich. wenn du vim nicht magst oder nicht lernen willst, wie die Dinge in vim gemacht werden, ist das in Ordnung. Dann müssen Sie jedoch einen anderen Editor verwenden, da vim einfach nicht Ihren Anforderungen entspricht.

Ich bezweifle, dass es eine GUI-Version von VIM geben wird, die Ihren Erwartungen entspricht, wie ein anständiger "grafischer" Editor aussehen oder sich verhalten sollte.

Akira
quelle
3
oder du lernst einfach 100% vim und bist fertig mit dem Editor-Problem bis zum Ende der Zeit :)
akira
3
Es gibt / gibt / Gründe, gVim anstelle von Vim nur in einer Konsole zu verwenden. Zwei Beispiele: 1) Es gibt Meta - Kombinationen Vim kann nicht außer in der GUI sehen, die wegen der Beschränkungen in Terminal - Emulatoren und Terminalsteuerung Bibliotheken. 2) Deutlich umfangreichere Farbunterstützung. Abgesehen davon finde ich es äußerst unfair zu erwarten, dass sich Vim plötzlich wie jede andere GUI-Anwendung verhält, nur weil sie zufällig eine GUI hat. Vim wird wahrscheinlich immer gegen die Usability-Regeln verstoßen müssen, sonst wäre es nicht mehr Vim. Wenn Sie das nicht möchten, muss ich andere wiederholen: Suchen Sie einen anderen Editor.
Heptite
5
@imric: Wenn ich sage, dass "es nicht mehr Vim sein würde", meine ich eigentlich, dass es nicht mehr Vim sein kann und sich im GUI-Modus "anpasst". Vim ist ein erweiterter vi-Klon, und vi existierte buchstäblich, bevor GUIs existierten. Es hat eine sehr einzigartige Benutzeroberfläche und ja, das tut Konflikt mit aktuellen GUI - Usability - Richtlinien. Um (alles) zu bekommen, was Sie wollen, fragen Sie nach einem Editor, der sich wirklich nicht so verhält, wie es vi / Vim soll. Eine Regel, die Bram Moolenar (der Urheber und Inhaber des Urheberrechts von Vim) für Vim hat, ist, dass sich Konsolen- und GUI-Vim nach Möglichkeit ähnlich verhalten sollten.
Heptit
3
@imric: warum willst du vim überhaupt benutzen, wenn nicht wegen seiner "arroganten und unfairen" Benutzeroberfläche? ich meine, es ist vim .. du benutzt es, weil es die Arbeit genauso macht, wie es tut, dasselbe gilt für Emacs. wie ich schon sagte: wenn das tool mit dem kollidiert was du willst: benutz ein anderes tool.
Akira
2
Persönlich ist mein GVim so eingerichtet, dass es genauso aussieht wie mein Vim, daher habe ich keine Menüs, keine Bildlaufleisten, dieselben Schriftarten / Farben ... Der einzige Grund, warum ich manchmal GVim anstelle von Vim verwende, ist, wenn ich die Maus und die Maus benutze das Rad, um lose durch einige Dateien zu gehen (wenn ich zum Beispiel einen Kaffee oder ein Bier trinke). Es passiert nicht viel, aber manchmal trotzdem. Ich kann mir nicht vorstellen, warum man einen Vim haben möchte, der sich nicht wie Vim verhält. Verwenden Sie besser einen anderen Editor, der unter Berücksichtigung der Benutzeroberfläche entwickelt wurde.
Cedbeu
7

Ich stimme Akiras Antworten und Kommentaren zu.

Die einzige konventionsfreundliche Benutzeroberfläche für Vim ist MacVim, bei dem es sich offensichtlich um eine reine Mac-Anwendung handelt.

Ich bin mir nicht sicher, ob es "das Beste aus zwei Welten" ist, aber die neueste Beta von Sublime Text 2 verfügt über einen sehr beeindruckenden "Vintage" -Modus, der viele nützliche Vim-Funktionen (Bewegungen, Textobjekte) und Karten anderer Dinge ( /oder ?zum Beispiel) zu seinen nativen Funktionen. Ich finde das gesamte Design etwas irritierend, so dass ich nicht sehe, dass ich bald darauf umsteige, aber auch hier ist der Vintage-Modus beeindruckend.

romainl
quelle
1
Richtig, MacVim scheint eine viel bessere Vim-GUI zu haben. Aber soweit ich weiß, war eine Menge Arbeit erforderlich, um es unter OS X nahtlos aussehen zu lassen, und gVim ist eine jahrzehntealte Monstrosität, die praktisch keine Updates erhält. Ich habe den Vim-Modus von Sublime Text ausprobiert, und obwohl er viele der Bewegungs- und Einfügebefehle implementiert, ist er immer noch unzureichend.
Imiric
Unter MacOS X sind gute und kohärente Benutzeroberflächen von größter Bedeutung, während sich unter Linux und Windows niemand darum kümmert. Aus diesem Grund war es den Mitarbeitern von MacVim wichtig, dass sie die dafür erforderliche harte Arbeit verrichteten. Aber die Aufgabe war wahrscheinlich nicht so kompliziert, weil Richtlinien / Traditionen / Verwendungen festgelegt wurden und wie diese durch die offiziellen Entwickler-Tools durchgesetzt werden. Auf diesem Linux - Desktop, meine apps haben mindestens zwei Möglichkeiten , um das Hauptmenü ( „File“ oder ein Wort zu dem App-Funktion bezogen) und mindestens 4 Abkürzungen für „Beenden“ / „Fenster schließen“ (nennen <C-q>, <S-C-q>, <C-w>, :q...) . Ich weiß ...
Romainl
… Aus erster Hand ist es bei Fenstern weitgehend dasselbe. Ich denke, es ist schwer, in einem so chaotischen Umfeld eine polierte UND gut integrierte Erfahrung zu finden, ohne irgendeine Art von monetärem Anreiz oder autoritärer Führung. OK, entschuldige die Schimpfe, zurück zum regulären Zeitplan.
Romainl
2

Sie können ein Plugin für eine IDE erhalten, das VIM-Tastenkombinationen enthält. Z.B

Hier ist eine sehr coole Web-IDE für Webentwickler, einschließlich Git, in die der VIM-Tastaturbindungsmodus integriert ist:

Ansonsten mache ich meine Entwicklung auf einem Mac, und ich bin ein großer Fan von MacVim, und ich stimme zu, dass gVim auf * nix super hässlich ist, und ich erschrecke immer dann, wenn ich vim in einer ssh-Shell auf dem Server ausführen muss.

Für VIM-ähnliche Editoren, die keine separate IDE sind, ist eine andere GUI-App (nur Mac, sorry):

Thomas Hunter
quelle
Vielen Dank für Ihre Vorschläge, aber ich habe mich entschlossen, Vim für alle meine Entwicklungsanforderungen zu konsolidieren, anstatt mit gVim zu kämpfen. Ich habe meine Shell bereits die ganze Zeit geöffnet, ich habe nur ein weiteres tmux-Fenster, in dem Vim ausgeführt wird, und es macht den Wechsel zwischen dem Editor zur Shell und zurück sehr schnell und bequem. Außerdem werden in der Konsole keine Usability-Regeln verletzt. :-) Ich überlege, bald auf Mac umzusteigen, und werde MacVim ausprobieren.
Imiric
2

Sie können VisualStudio Code verwenden und es verfügt über mehrere Plugins, die neben vielen Extras auch viele der Funktionen von Vim hinzufügen. Es ist ein sehr guter Editor, außerdem ist es offen und kostenlos und hat Windows-, MacOs- und Linux-Varianten.

Marco Santana
quelle
1
Wenn Sie ein Hardcore-Vim-Fan sind, werden Sie wahrscheinlich keines der VS Code Vim-Plugins als zufriedenstellend erachten.
1

Wenn Sie Zugriffstechnologie wie einen Bildschirmleser verwenden und VIM-Leistung benötigen, können Sie mein Projekt ausprobieren: https://code.google.com/p/phonim/ verwendet JAWS-Skripte und die gVim OLE-Oberfläche. Obwohl es praktikabel ist, lässt es zu wünschen übrig, aber auch dieser eingeschränkte Zugriff auf die Kraft von vim lohnt sich.

Um die Situation für gVim zu verbessern, ist nur eine Person erforderlich, die über die erforderlichen Kenntnisse verfügt, um das vim-Backend mit einem modernen UI-Frontend mit einer Editor-Komponente auszustatten, die über eine ordnungsgemäße UIAutomation und MSAA-Unterstützung verfügt.

Kerneels Roos
quelle
Kein Problem, habe bearbeitet. Ja, ein bisschen geschimpft, aber du siehst, ich liebe Vim und möchte wirklich, dass mehr Leute davon profitieren :-).
Kerneels Roos
1

Vim soll ohne GUI verwendet werden. Wenn Sie sich jedoch Sorgen über die Menüleiste und die Symbolleiste in gvim machen, ist dies nicht der richtige Ort. Sie können es einfach deaktivieren, einfügen

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

in dein vimrc dann wird es verschwunden sein. Wenn Sie Windows mit weniger als 10 verwenden, wird die Größe Ihrer Grafikkarte besser angepasst (als die Standardgröße von Windows cmd) und das Farbschema wird besser unterstützt.

user93
quelle
1

Vielleicht ist etwas wie Oni das, wonach Sie suchen. Ich habe es nicht persönlich verwendet, aber es basiert auf Neovim , daher sollten Sie kein halbherziges Feature-Set erhalten.

Vimist
quelle