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.
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 bbedit
und 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):
Auf geht's:
# $HOME/bin/launchlog.sh
# This will open $HOME/test.txt on vim mark b
/Applications/mvim -c "execute 'normal! \`b'" $HOME/test.txt
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
Als Hinweis: Die Workflows sind unter gespeichert$HOME/Library/Services
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 + J
Tastenkombination als hinzugefügt.
Jetzt können Sie Ihre spezifische Textdatei mit der spezifischen vim-Markierung (in meinem Beispiel die vim-Markierung b
) öffnen, indem Sie Shift + Ctrl + J
auf Ihrer Tastatur drücken.
Dies funktioniert natürlich nur, wenn Sie in Ihrer Textdatei eine vim-Markierung b gesetzt haben.
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.