Vim-Venu

Vim-Venu

Ich richte virtualisierte Linux-Boxen (als lokale Entwicklungsserver) für Entwickler in einem Unternehmen ein, das hauptsächlich Windows-basiert ist, und einige der Entwickler machen negative Witze über vim (unter anderem). (Für sie scheint es in gewisser Weise Linux/Unix zu repräsentieren und zu beweisen, dass die Umgebung unglaublich schwierig zu verwenden ist.) Ich erinnere mich noch daran, als ich zum ersten Mal gezwungen wurde, vim zu verwenden (die Systemadministratoren weigerten sich, Emacs zu installieren!) und an die schwierige anfängliche Lernkurve, daher habe ich ein gewisses Verständnis. Mir ist aufgefallen, dass es, anstatt sie damit vertraut zu machen nano(was sie wahrscheinlich nie schaffen würden), möglich sein könnte, nano-ähnliche Menüs in vim einzurichten, um den Übergang zu erleichtern. (Ich habe eine sehr anfängerfreundliche .vimrc-Datei gefunden, die ich ihnen geben könnte, aber sie hat nichts, was nano-ähnlichen Menüs ähnelt.)

Das einzige Problem ist, dass das einzige, was ich finden konnte, das behauptet, dass es möglich ist, Menüs in vim (nicht gvim) einzurichten, nicht funktioniert hat, und meine Versuche, das Problem zu beheben, haben mich nur mit einem weiteren Problem zurückgelassen, das ich lösen muss. Bevor ich viel Zeit verschwende, würde ich gerne wissen, ob es tatsächlich möglich ist, da es anscheinend sehr wenige Informationen darüber gibt, wie man es macht.

Antwort1

menu.vimJa, das ist möglich. Sie können (die Standardmenüdefinitionen von gvim) laden oder einfach von vorne beginnen und Ihre eigenen erstellen und dann über darauf zugreifen :emenu. Dadurch erhalten Sie jedoch keine nanoähnlichen, immer sichtbaren Menüs; Sie können jedoch mithilfe der Tabulatorvervollständigung in der Befehlszeile durch die Menüs navigieren.

Wenn der Benutzer nicht über eine vimrc verfügt, sollten Sie zunächst die VI-Kompatibilität deaktivieren:

:set nocompatible

Aktivieren Sie die intelligente Befehlszeilenvervollständigung <Tab>(aktivieren Sie die Auflistung aller möglichen Auswahlmöglichkeiten und navigieren Sie mit <Up>, <Down>, <Left>, <Right>, und durch die Ergebnisse <Enter>):

:set wildmenu

Durch wiederholtes Drücken können Sie zwischen allen passenden Auswahlmöglichkeiten wechseln:

:set wildmode=full

Laden Sie die Standardmenüs (dies geschieht automatisch in gvim, aber nicht im Terminal vim):

:source $VIMRUNTIME/menu.vim

Nach diesen vier Befehlen können Sie die Menüvervollständigung manuell auslösen, indem Sie die Tab-Vervollständigung für den :emenuBefehl aufrufen, indem Sie:emenu<space><tab>

Sie können mit der Tabulatortaste, den Pfeiltasten und der Eingabetaste durch die Ergebnisse navigieren (sie erweitert Untermenüs und wählt Elemente aus). Sie können dies noch bequemer gestalten, indem Sie einen Schritt weiter gehen und eine Zuordnung binden, um das Menü aufzurufen, ohne :emenujedes Mal tippen zu müssen:

Sorgen Sie dafür, dass sich Strg-Z in einer Zuordnung so auswirkt, als würde man es <Tab>interaktiv in der Befehlszeile drücken:

:set wildcharm=<C-Z>

Und erstellen Sie eine Bindung, die :emenudie Vervollständigung automatisch für Sie aufruft:

:map <F4> :emenu <C-Z>

Antwort2

Ich hatte selbst das Problem, dass ich mir nicht alle Befehle und Tastenkombinationen für die von mir verwendeten Plugins merken kann. Außerdem wollte ich einfache Möglichkeiten haben, Befehle schnell auszuführen, ohne neue Tastenzuordnungen festlegen oder Befehle erfinden zu müssen, um darauf zuzugreifen.

Vim-Venu

Ich habe eine kleineVim-Menü-PluginDamit können Sie Menüs für jeden Dateityp definieren, den Sie möglicherweise mit vim bearbeiten. Auf diese Weise können Sie die Menüoption „Kompilieren“ für verschiedene Dateitypen definieren und die richtigen Anweisungen zum Kompilieren des Codes auslösen, je nachdem, welche Datei Sie bearbeiten (.py, .c, .c++, ...). Oder erstellen Sie ein Untermenü für „Tabelle“-Plugin-Befehle in einer Markdown-Datei.

Schauen Sie es sich hier an: https://github.com/Timoses/vim-venu

Nebenbemerkung: Ich denke, jeder sollte seinen eigenen bevorzugten Texteditor wählen. Vim hat eine kleine Barriere (die es wert ist, gelernt zu werden!). Wenn jemand nicht bereit ist, zu lernen, wird Vim für diese Person nicht viel nützen.

verwandte Informationen