¿Textmate tiene algo como el punto y la marca de Emacs para hacer selecciones?

3

En Emacs, puedo seleccionar fácilmente una frase en medio de una oración usando la búsqueda incremental. Por ejemplo, he escrito la frase "Nunca he estado en París, pero he realizado una visita virtual a la Torre Eiffel, y estoy muy emocionada de verla en persona". Luego decido que prefiero mover "He hecho un recorrido virtual por la Torre Eiffel" al principio de la oración.

Para hacer esto en Emacs, usaría la búsqueda incremental para encontrar "I", moverme al principio de la palabra, establecer la marca, luego buscar nuevamente "Torre" y moverme hasta el final. Ahora, todo lo que está en el medio es una región seleccionada y se puede operar.

¿Puedo obtener el mismo resultado en Textmate?

Estoy familiarizado con su búsqueda incremental, pero no puedo encontrar una conexión para seleccionar texto. Existe el comando "Extender la selección para incluir el siguiente" en el paquete de texto (enlazado a ^ W), pero eso no funciona para dos objetivos de búsqueda diferentes y realiza varias selecciones en lugar de seleccionar todo lo que se encuentre entre ellas.

Extender la selección usando ⇧⌥ y las teclas de flecha es lo más cercano que he encontrado, pero significa tocar una tecla de flecha para cada palabra. Seleccionar el final o el principio de una línea no es lo que quiero; Estoy buscando capturar algo en el medio de la línea.

No estoy atado al uso de búsqueda incremental: es solo la forma en que hago esto en Emacs. (¿Hay alguna forma de usar ⌥ ^ B en texto sin código fuente?) Estoy abierto a cualquier solución que me permita moverme rápidamente de un lugar arbitrario en el texto a otro, seleccionando todo lo que esté en el medio, sin cambiar al mouse .

    
pregunta Josh Caswell 09.03.2016 - 01:09

1 respuesta

1

El sistema de enlaces de teclas de Cocoa / OS X hace que esto posible. La vista de texto en TextMate implementa los métodos de acción NSResponder altamente relevantes setMark: y selectToMark: .

El manual de TextMate explica que ~ / Library / Application Support / TextMate es el lugar correcto para un KeyBindings personalizado Archivo .dict para establecer los enlaces para esas acciones. Añadiendo estas líneas al diccionario:

"^ "       = "setMark:";
"^~ "      = "selectToMark:";

une ⌃-Espacio para establecer la marca (el mismo enlace para esta acción que Emacs) dondequiera que se encuentre el cursor actualmente, y ⌃-⌥-Espacio para seleccionar desde el cursor hasta la marca establecida anteriormente. Esta es una pulsación de tecla adicional en comparación con Emacs, pero hará el trabajo.

    
respondido por el Josh Caswell 16.03.2016 - 22:43

Lea otras preguntas en las etiquetas