Wie erstelle ich einen globalen Hotkey für Mac OS X, um eine .txt-Datei in MacVim.app unter vim 'mark' zu öffnen?

Kann und wie kann ich einen globalen Hotkey für Mac OS X erstellen (möglicherweise einem OS X-Dienst zugeordnet, wie das, was OmniFocus und Fantastical anbieten, um neue Einträge in ihrem Posteingang/Kalender vorzunehmen), um eine bestimmte .txt-Datei in MacVim.app zu öffnen bei einer bestimmten Vim-Marke ?

Ich vermute, dass ich Automator/AppleScript oder ähnliches in Kombination mit den "globalen" Markierungen von vim verwenden kann, um dies zu erreichen, bin mir aber nicht sicher.

Antworten (2)

Zwei Möglichkeiten sind Keyboard Maestro oder Alfred . Keyboard Maestro legt eine globale Tastenkombination fest.

Ich nehme an, es gibt ein Befehlszeilenprogramm für MacVim wie für BBEdit und ob es bei einer bestimmten 'vim-Markierung' geöffnet werden kann. Beispielsweise wird der Befehl von BBEdit aufgerufen bbeditund cal öffnet eine bestimmte Zeilennummer mit „:xy“, wobei „xy“ die Zeilennummer ist. Mit diesem Befehl können Sie eine Keyboard Maestro-Verknüpfung erstellen, die eine bestimmte Datei öffnet

/usr/local/bin/bbedit /path/to/filename:33

Das war interessant :) und ich habe es herausgefunden!

Die Lösung basiert auf 3 Schritten (Sie könnten es auch auf 2 tun):

  1. Erstellen Sie ein Shell-Skript, das die gewünschte Textdatei auf einer bestimmten vim-Markierung öffnet
  2. Erstellen Sie einen Automator-Workflow, um dieses Skript auszuführen
  3. Fügen Sie dem Workflow eine Verknüpfung hinzu

Auf geht's:

1. Shellscript zum Öffnen einer Textdatei auf einer bestimmten vim-Markierung: launchlog.sh

# $HOME/bin/launchlog.sh
# This will open $HOME/test.txt on vim mark b
/Applications/mvim -c "execute 'normal! \`b'" $HOME/test.txt

2. Erstellen Sie einen Automator-Workflow

Es gibt viele Tutorials zum Erstellen von Automator-Workflows. Bleiben Sie bei dem, der es für Sie am besten beschreibt.

Sie müssen einen Workflow erstellen, der ein Shell-Skript ausführt. Dort fügen Sie den Pfad zu Ihrem Skript ein. Mein Workflow heißt openJournal.workflow

Automator-Workflow zum Ausführen eines Shellscripts (deutsche Version)

Als Hinweis: Die Workflows sind unter gespeichert$HOME/Library/Services

3. Weisen Sie dem Workflow eine Verknüpfung zu

Dies kann unter Systemeinstellungen > Tastatur > Tastenkombinationen erfolgen . Unter dem Abschnitt Dienste können Sie Ihrem gerade erstellten Workflow eine Tastenkombination zuweisen. In meinem Beispiel habe ich die Shift + Ctrl + JTastenkombination als hinzugefügt.Tastaturkürzel zum Workflow hinzufügen

Jetzt können Sie Ihre spezifische Textdatei mit der spezifischen vim-Markierung (in meinem Beispiel die vim-Markierung b) öffnen, indem Sie Shift + Ctrl + Jauf Ihrer Tastatur drücken.

Dies funktioniert natürlich nur, wenn Sie in Ihrer Textdatei eine vim-Markierung b gesetzt haben.

Mach es in 2 Schritten

Sie könnten den Inhalt des Shell-Skripts in den Automator-Workflow einfügen.

Sie würden also die Erstellung des Shell-Skripts selbst überspringen. Dies hat jedoch den Nachteil, dass Sie den Automator-Workflow ändern müssen, wenn Sie ein anderes Verhalten wünschen. Ich selbst mag die Flexibilität, einfach das Shell-Skript zu ändern und das gewünschte Verhalten zu haben.

Hoffentlich hilft das.