1 votes

Comment créer un raccourci clavier global Mac OS X pour ouvrir un fichier .txt dans MacVim.app à l'aide de la touche 'mark' de vim ?

Puis-je et comment puis-je créer une touche de raccourci globale pour Mac OS X (éventuellement mappée à un service OS X, comme ce qu'OmniFocus et Fantastical proposent pour créer de nouvelles entrées dans leur boîte de réception/calendrier, respectivement) pour ouvrir un fichier .txt spécifique dans MacVim.app à un moment spécifique ? marque de vim ?

Je pense pouvoir utiliser Automator/AppleScript ou autre en combinaison avec les marques "globales" de vim pour y parvenir, mais je ne suis pas sûr.

2voto

moodforaday Points 2633

Les deux possibilités sont Maestro du clavier o Alfred . Keyboard Maestro définira un raccourci clavier global.

Je suppose qu'il existe un utilitaire de ligne de commande pour MacVim comme il en existe un pour BBEdit et qu'il peut s'ouvrir à une "marque vim" spécifique. Par exemple, la commande de BBEdit s'appelle bbedit et cal ouvrir un numéro de ligne spécifique en utilisant ":xy" où "xy" est le numéro de ligne. Vous pouvez créer un raccourci de Keyboard Maestro qui ouvrira un fichier spécifique en utilisant la commande suivante

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

0voto

Evgeny Gavrin Points 3180

C'était une question intéressante :) et j'ai trouvé la solution !

La solution est basée sur 3 étapes (vous pourriez aussi la faire sur 2) :

  1. Créer un shell script qui ouvre le fichier texte souhaité sur une marque vim spécifique.
  2. Créez un flux de travail Automator pour exécuter ce script.
  3. Ajouter un raccourci au flux de travail

C'est parti :

1. Shellscript pour ouvrir un fichier texte sur une marque vim spécifique : 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. Créer un flux de travail Automator

Il existe de nombreux tutoriels sur la façon de créer des flux de travail Automator. Tenez-vous-en à celui qui vous décrit le mieux.

Vous devez créer un workflow qui exécute un shell script. Là, vous collez le chemin vers votre script. Mon workflow s'appelle openJournal.workflow

Automator workflow to run a shellscript (german version)

Un conseil : les flux de travail sont stockés sous $HOME/Library/Services

3. Attribuez un raccourci au flux de travail

Cela peut être fait sous Systempreferences > Keyboard > Shortcuts . Sous l'article Services vous pouvez attribuer un raccourci clavier au flux de travail que vous venez de créer. Dans mon exemple, j'ai ajouté le Shift + Ctrl + J comme raccourci. Add keyboard shortcut to workflow

Maintenant vous pouvez ouvrir votre fichier texte spécifique sur la marque vim spécifique (dans mon exemple la marque vim b ) en frappant Shift + Ctrl + J sur votre clavier.

Bien entendu, cela ne fonctionne que si vous avez défini une marque vim b sur votre fichier texte.

Faites-le en 2 étapes

Vous pourriez placer le contenu du shell script dans le flux de travail Automator.

Ainsi, vous sauteriez la création du shell script lui-même. Mais cela présente l'inconvénient que vous devez modifier le flux de travail de l'automate si vous voulez un autre comportement. Pour ma part, j'aime la flexibilité de pouvoir simplement changer le shell script et d'avoir le comportement souhaité.

J'espère que cela vous aidera.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X