Estoy seguro de que todos pueden estar de acuerdo en que el poder y el control que ofrece un programa como Vim es increíble. Sin embargo, comprensiblemente, muchos no se sienten cómodos con los diversos modos, y la línea de comando sentir de eso Es difícil competir, visualmente hablando, con una hermosa interfaz de usuario, como Espresso. Pero, ¿qué pasaría si pudiéramos tomar algunos de los comandos / atajos de Vim más populares y transferirlos manualmente para usarlos en Espresso? ¿No sería eso lo mejor de ambos mundos??
Aproveche al máximo este tutorial si tiene una familiaridad modesta con Vim y su sintaxis.
Vamos a aclarar algunas cosas, desde el principio. Trabajar con Vim es trabajar con un lenguaje; Esto es específicamente por qué es tan poderoso. ¿Quieres borrar las siguientes cuatro palabras? Fácil, tipo c4w
(cambiar cuatro palabras). ¿Qué pasa con las siguientes dos palabras? Bueno, sabemos la sintaxis: c2w
. Hmm ... ¿qué pasa si necesito eliminar las siguientes tres líneas de la posición del cursor? Nuevamente, no tenemos que memorizar un comando de teclado separado; Nosotros, en cambio, usamos el lenguaje: 3dd
(borra las siguientes tres líneas).
Nuestro objetivo es transferir la mayor parte de esta funcionalidad al popular editor, Espresso para Mac. La razón por la que esto es específico de Espresso es porque vamos a usar macros para imitar un puñado de tareas para cada comando. Las tareas específicas / golpes de teclado variarán de un editor a otro.
Espero que los miembros de la comunidad comiencen a crear sus propios puertos para sus editores favoritos. En ese momento, podemos desarrollar un repositorio en Github.
Ciertamente no podemos trasladar todo el lenguaje y sus modos a Espresso; eso es imposible. Pero podemos imitar muchos de los comandos más populares con macros.
Supongo que la respuesta a esta pregunta depende enteramente de ... tú. Cuando comencé mi prueba de 4 semanas de Vim, en septiembre, rápidamente me enamoré de los modos y el lenguaje. Sin embargo, cada editor tiene sus ventajas y desventajas. En mi caso, aunque todavía amo y uso Vim todos los días, no me gusta cómo:
Comando + Opción + P
. Además, esta ventana se actualiza en tiempo real, a medida que escribe.Recientemente, cuando estaba jugando con macros de teclado, me pregunté si había alguna forma de portar esta funcionalidad. Tal vez te encantará la idea; tal vez lo odies.
Mientras que Vim es 100% gratis (eso es parte de su grandeza), Espresso no lo es. Además, vamos a crear macros de teclado con un programa, llamado Keyboard Maestro. Esto, también, no es gratis. Estoy seguro de que hay algunos programas de creación de macros de código abierto disponibles en la web; Sin embargo, este es el mejor que he podido encontrar. Vale la pena los $ 35.
Para seguir adelante, necesitarás:
Comencemos con una macro simple. Usando Vim en normal
modo, podemos escribir ciw
(cambiar la palabra interna) para eliminar la palabra actual y pasar a insertar
modo.
Ahora, el espresso no tiene modos
, Pero, como he encontrado, está bien. Todavía podemos escribir estos comandos; mientras que se ingresarán como texto regular, tan pronto como la macro se active, se borrarán súper rápido.
Entonces, para nuestra primera macro, queremos imitar esta funcionalidad. Cuando el cursor está encima de una palabra, quiero escribir rápidamente cw
para cambiar la palabra.
Umm ... ¿por qué no simplemente golpear el
Comando + Shift + W
atajo?
Sí, podríamos hacer eso, pero, en mi opinión, no deberíamos.
Al crear una nueva macro, el primer paso es averiguar cómo realizar la tarea manualmente en el editor de código. En este caso, Mayús + Comando + W
seleccionará la palabra. A continuación, el borrar
Clave, por supuesto, borrará la palabra. Esos dos comandos solo imitarán ciw
en vim.
El siguiente paso es crear la macro. Inicie Keyboard Maestro y, antes que nada, cree un nuevo grupo específicamente para sus comandos Vim.
De esta manera, puede limitar estos accesos directos para que solo se apliquen a Espresso, y no, por ejemplo, a Microsoft Word. He llamado a mi grupo, VimMimic.
Ahora, necesitamos crear una nueva macro, establecer un disparador y elegir el expansor.
Si se está preguntando por qué no estamos utilizando su programa TextExpander existente, es porque los programas así solo expanden el texto. Pero, tenemos que realizar macros, o tareas.
Con la preparación fuera del camino, ahora necesitamos registrar nuestros pasos. Si bien Keyboard Maestro tiene numerosas carpetas / comandos disponibles, lo que es sorprendente es que ofrece un botón "Grabar", donde escuchará y registrará las teclas que escriba, los movimientos / clics del mouse, etc..
Si es necesario, vuelva a Espresso y memorice las teclas / comandos que necesita escribir para cambiar la palabra. Sin embargo, sé inteligente acerca de esto. Por ejemplo, si tu macro selecciona algo como sheldon.couper
¿en su totalidad? ¿O desea que seleccione solo la palabra, hasta (o después) del período? En espresso, Comando + Shift + W
se llevará a cabo este último. Decide por ti mismo en este caso. Creo que haré lo primero y seleccionaré todo..
En ese caso, necesito ser más inteligente respecto a la macro. Después de un poco de juego, esto es lo que se me ocurrió.
Si quieres, crea una segunda macro., ciw
(cambiar palabra interna), que solo seleccionará antes o después del período también.
Una vez que hayas completado tu macro, ¡pruébala! Vuelva a Espresso y, una vez que el cursor esté sobre una palabra, escriba cw
. Esto activará la macro, en la que se ejecutarán todas las acciones grabadas previamente, en alta velocidad..
Espero que haya una forma de realizar una macro sin actualizar la interfaz de usuario hasta el final. Pero, no estoy consciente de cómo hacerlo en este momento.
Si no eres un usuario de Vim, espero que pienses: "¿Todo ese trabajo solo para eliminar una palabra?" Y, confía en mí, lo entiendo. Sin embargo, lo que puedo decirte es que, una vez que has usado Vim por un tiempo, una sintaxis similar a un idioma tiene mucho más sentido para ti, que memorizar innumerables atajos de teclas modificadoras..
Y, concedido, este es un ejemplo muy mínimo..
j
para abajo k
para un máximoLa primera vez que supe que se esperaba que usara las letras para moverme hacia arriba, abajo, izquierda y derecha (kjhl
), Me reí. ¿Qué tan anticuado es eso? Pero, una vez que has comprometido las claves para la memoria muscular, tu velocidad aumenta. Ya no tiene que arrastrar la mano derecha a la sección inferior derecha del teclado para presionar la tecla de flecha hacia abajo. No, tus manos permanecen en posición de reposo, ya que esas teclas se encuentran directamente en la segunda fila.
Usos de Vim modo
s para cambiar entre comandos e insertar texto. Pero, como se mencionó anteriormente, Espresso no tiene estos. Por lo tanto, vamos a utilizar el Bloq Mayús
clave para servir como nuestro normal
modo.
Pregúntese: "¿Con qué frecuencia utilizo el Bloq Mayús
¿Clave? "Si eres como yo, la respuesta es:" Casi nunca ". Teniendo eso en mente, aprovecha un poco y vuelve a enrutar su función. En una Mac, esto es simple.
Ir Preferencias del sistema -> Teclado -> Teclas modificadoras
, y cambiar el Bloq Mayús
para encaminar al Controlar
clave, que siempre tengo problemas para apuntar cuando estoy escribiendo (al menos en mi computadora portátil).
Ahora, en cualquier momento que pulses Bloq Mayús
, la controlar
la llave se activará.
Este es ridículamente simple, pero funciona. Ahora, cuando escribes Bloqueo de mayúsculas + J
, la flecha hacia abajo se activará. Es importante tener en cuenta que no está obligado a usar esto, si no lo desea. Todavía puede presionar la tecla de flecha hacia abajo. Pero, para aquellos que se sienten más cómodos manteniendo sus manos en posición de descanso, esto podría ser preferible.
El siguiente paso es repetir el ciclo hacia arriba, hacia la izquierda y hacia la derecha, utilizando exactamente el mismo método..
'
Vim tiene un buen comando, ci '
que le permite vaciar el contenido de la siguiente cadena, envuelto en comillas simples. Es increíblemente útil y realmente puede acelerar tu codificación.
Intentemos crear una macro para hacer esto en Espresso. Este será más complicado, porque tenemos que usar la herramienta de búsqueda en Espresso para buscar la próxima aparición de una sola cita. Entonces, la solución no será perfecta, pero hará el trabajo parcialmente.
Pruébelo usted mismo. En cualquier lugar de su documento, escriba cn
. Desafortunadamente, al menos por ahora, solo funciona perfectamente para palabras sueltas entre comillas.
En Vim, si escribe una mayúscula do
, en modo normal, borrará todo el texto en una línea que viene después La posición del cursor. Es muy útil. Podemos hacer lo mismo en Espresso con una macro simple. sin embargo, Mayús + C
no funcionará, porque el espresso no tiene modos
. Hagamos Bloqueo de mayúsculas + C
en lugar. Recuerda, las gorras ahora rutas a la Controlar
llave!
En Vim, con el complemento Surround, puedo escribir dst
(eliminar la etiqueta circundante) para eliminar una etiqueta de envoltura. Lo uso a menudo. Hmm, esto será más complicado en Espresso, pero se puede hacer. Esto es lo que se me ocurrió; pruébalo en tu máquina.
Es un poco más complicado, pero funciona.!
Tenga en cuenta que, si parece que algunas de esas acciones pueden eliminarse, están ahí porque encontré situaciones extrañas en las que eran necesarias. Mejor estar seguro.
Tan útil como eliminar la etiqueta circundante, es cambiando el nombre de la etiqueta.
Hay una peculiaridad sobre este método en particular. Debido a que Espresso no se basa en el modo, cuando cambia la etiqueta, este comando lo llevará hasta el punto en que puede cambiar el valor de la etiqueta. Una vez que lo haga, simplemente presione Derecha
, y pegue en el texto original (que fue copiado por la macro). Verás lo que quiero decir cuando lo pruebes. Avísame si Espresso tiene un comando incorporado para cambiar el nombre de la etiqueta.
Está bien, eso debería empezar. Si eres miembro Premium, asegúrate de consultar la parte del video de este tutorial para una demostración más personalizada. He creado un repositorio en Github, que contiene docenas de comandos que puede usar (y mejorar) como desee..
dd
Eliminar una línea arruina las cosas cada vez que escribes "broma" ¿Entonces, qué piensas? ¿Te gusta la idea? Tengo curiosidad, aunque encajo en este último campamento..
El grupo de macros Keyboard Maestro se actualiza constantemente. Para descargar la versión más actualizada, consígala aquí: http://github.com/JeffreyWay/VimMimic-for-Espresso
Enlaces Tutoriales:
Espresso: http://macrabbit.com/espresso/
Teclado Maestro: http://www.keyboardmaestro.com