Wie kann ich MacVim so konfigurieren, dass es beim Beenden beendet wird?

2389
tlehman

Wenn ich MacVim mit dem Standardbefehl vim schließe :q, wird das MacVim-Fenster geschlossen, das Programm wird jedoch noch ausgeführt. Dies verursacht Probleme, wenn andere Prozesse versuchen, eine Instanz von MacVim zu erzeugen. Wenn diese Instanz noch ausgeführt wird, muss ein besonderes Flag an MacVim übergeben werden, damit eine neue Instanz geöffnet wird. Die Instanzen sammeln sich jedoch an.

Gibt es eine Möglichkeit, mit Vimscript den Prozess zu beenden und das Fenster beim Beenden zu schließen?

7

2 Antworten auf die Frage

17
Chris Johnsen

Wenn immer mehrere MacVim- Symbole in Ihrem Dock vorhanden sind, möchten Sie möglicherweise prüfen, wie Sie MacVim starten . Insbesondere :help macvim-startsagt

Rufen Sie NICHT die MacVim-Binärdatei im App-Bundle auf, um MacVim zu starten.

In der Befehlszeile würden Sie normalerweise entweder open -a MacVim filenameoder mvim filename1 verwenden . Über die GUI können Sie MacVim bestimmten Erweiterungen zuordnen, Dateien mit Drag-and-Drop auf MacVim in Finder oder im Dock oder in ein geöffnetes MacVim- Fenster ziehen oder über das Menü Dienste neue Puffer mit einer Auswahl aus anderen Anwendungen starten. Es gibt auch den mvim://URL-Handler (siehe :help mvim://).

Für keine dieser Methoden sind spezielle Flags / Optionen erforderlich, unabhängig davon, ob eine vorhandene Instanz ausgeführt wird oder nicht und je ein zusätzliches MacVim- Symbol im Dock erstellen soll .

1 mvim ist ein Skript, das mit MacVim geliefert wird . sehen :help mvim. Wenn Sie es in einem Verzeichnis in PATH installiert haben, können Sie es verwenden, um Dateien in einer vorhandenen MacVim- Instanz zu bearbeiten (oder wird eine gestartet, wenn sie noch nicht ausgeführt wurde).


Das Fenster „Nach dem letzten Schließen:“ MacVim beenden auf der Registerkarte Allgemein der MacVim -Voreinstellungen (⌘ oder MacVim > Voreinstellungen ) ist möglicherweise das, was Sie möchten.

Wenn Sie wirklich etwas Bestimmtes benötigen, können Sie mit dem MacVim -custom-Befehl :macaction terminate:die gesamte MacVim- Anwendung dazu auffordern, das Skript jederzeit zu beenden . Es sollte äquivalent zu menuQ und dem Menüelement MacVim > MacVim beenden sein (alle senden die terminate:Aktion an den Ersthelfer der Anwendung). Wenn Sie die Puffer modifiziert haben, werden Sie gefragt, ob Sie trotzdem „Beenden“ möchten.

Es klingt, als würden Sie es vielleicht über einen Autocommand mit dem VimLeave-Ereignis verbinden wollen:

autocmd VimLeave * macaction terminate: 
Ah, endlich verschwindet mein Vim-Dock-Symbol, sobald ich alle Puffer geschlossen habe :) Andre vor 5 Jahren 0
0
Aham

Sieht aus, als hätte das MacVim-Paket von macvim-dev das mvim-Skript nicht. Ich habe das mvim-Skript vom b4winckler- Repo genommen und es funktioniert wie oben beschrieben.