¿Cómo crear una tecla de acceso rápido global de Mac OS X para abrir el archivo .txt en MacVim.app en vim 'mark'?

1

¿Cómo puedo y cómo puedo crear una tecla de acceso rápido global de Mac OS X (posiblemente asignada a un servicio OS X, como lo que OmniFocus y Fantastical ofrecen para hacer nuevas entradas en su bandeja de entrada / calendario, respectivamente) para abrir un archivo .txt específico? MacVim.app en una marca vim específica ?

Sospecho que puedo usar Automator / AppleScript o algo así en combinación con las marcas "globales" de vim para lograr esto, pero incierto.

    
pregunta Johnny Utahh 07.01.2014 - 20:59

2 respuestas

2

Dos posibilidades son Keyboard Maestro o Alfred . Keyboard Maestro establecerá un método abreviado de teclado global.

Supongo que hay una utilidad de línea de comandos para MacVim como la que hay para BBEdit y si se puede abrir en una "marca de vim" específica. Por ejemplo, el comando de BBEdit se llama bbedit y abre un número de línea específico usando ": xy" donde "xy" es el número de línea. Puede crear un acceso directo de Keyboard Maestro que abra un archivo específico con este comando

/usr/local/bin/bbedit /path/to/filename:33
    
respondido por el TJ Luoma 08.01.2014 - 02:59
0

Esta fue una interesante :) y lo descubrí!

La solución se basa en 3 pasos (también puede hacerlo en 2):

  1. Cree un script de shell que abra el archivo de texto deseado en una marca vim específica
  2. Cree un flujo de trabajo de Automator para ejecutar este script
  3. Agregar un acceso directo al flujo de trabajo

Aquí vamos:

1. Shellscript para abrir el archivo de texto en una marca vim específica: 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. Crear un flujo de trabajo Automator

Hay muchos tutoriales sobre cómo hacer que los flujos de trabajo de Automator. Apégate a la que mejor describa para ti.

Es necesario crear un flujo de trabajo que ejecute un script de shell. Allí pegas el camino a tu script. Mi flujo de trabajo se llama openJournal.workflow

Comosugerencia:losflujosdetrabajosealmacenanen$HOME/Library/Services

3.Asignarunaccesodirectoalflujodetrabajo

EstosepuedehacerenSystempreferences>Teclado>Atajos.EnlasecciónServiciospuedeasignarunmétodoabreviadodetecladoalflujodetrabajoqueacabadecrear.Enmiejemplo,agreguéShift+Ctrl+Jcomoaccesodirecto.

Ahora puede abrir su archivo de texto específico en la marca vim específica (en mi ejemplo, la marca vim b ) presionando Shift + Ctrl + J en su teclado.

Por supuesto, esto solo funciona si tienes una marca virtual b configurada en tu archivo de texto.

Hazlo en 2 pasos

Podría poner el contenido del script de shell en el flujo de trabajo de Automator.

Así que omitirías la creación del script de shell en sí. Pero esto tiene la desventaja de que tiene que cambiar el flujo de trabajo del automatizador si desea otro comportamiento. A mí mismo me gusta la flexibilidad para simplemente cambiar el script de shell y tener el comportamiento deseado.

Espero que ayude.

    
respondido por el dave 28.03.2017 - 23:19

Lea otras preguntas en las etiquetas