proyectos ejemplos emacs

emacs - ejemplos - django



¿Cómo seleccionar o resaltar un bloque en Emacs? (8)

Quiero seleccionar o resaltar un bloque en emacs sin mouse pero desde el teclado como el modo visual de vim. ¿Cuál es la forma más fácil de hacer esto desde un teclado?


... y en caso de que esté utilizando Ubuntu y C-spc no funciona para usted: debe borrar el encuadernador IBus "método de entrada siguiente", como en

Ejecute ibus-setup y cambie el enlace de clave para "siguiente método de entrada" a otra cosa (o bórrelo por completo haciendo clic en el botón "..." y luego en el botón "Eliminar").

Cita tomada de una respuesta a una pregunta SO.


Aunque C-SPC es una forma común de comenzar a marcar algo desde donde sea que te refieras, a menudo hay formas más rápidas / fáciles que no implican pasar explícitamente a puntos de inicio / final ...

Accesos directos de selección incorporados

  • Mh : un medio importante para marcar un párrafo . Un "párrafo" a menudo significa un bloque de código.

  • CMh y CM-@ - para marcar sexps y defuns , respectivamente. Esto funciona para varios idiomas, no solo para lisps.

  • mantenga presionada la tecla Mayús - otra manera hábil para resaltar durante el movimiento. Por ejemplo, MSf selecciona reenviar una palabra completa. Esto es shift-select-mode , y está habilitado por defecto en Emacs 24+. En algunos teclados (no chiclet), debería poder mantener presionada CS- con un solo dedo meñique.

Puede presionar cualquiera de estos repetidamente para aumentar la selección.

(NOTA: utilice Cg menudo para cancelar el marcado mientras experimenta).

Complementos

Hay algunos paquetes complementarios que mejoran la selección de regiones y cosas. Todos estos funcionan muy bien juntos y se adaptan a diferentes casos de uso. ¡Úselos a todos!

  • Expand-Region : Expandir región aumenta la región seleccionada por unidades semánticas. Solo sigue presionando la tecla hasta que seleccione lo que quieras. C-= es un enlace recomendado para ello. Golpee algunas veces para obtener lo que necesita.

  • Easy-Kill : usa Mw y un mnemónico para seleccionar diferentes tipos de cosas, como palabras, sexps, listas, etc.

  • Zop-to-Char : como zap-to-char , pero ofrece una buena selección y otras acciones impulsadas por menús.


Eche un vistazo a region-rectangle en emacs.

En resumen, comienza la selección como de costumbre con Control - Espacio , luego elimina la región con Control - x r k y pega (o tira ) el bloque muerto con Control - x r y .


Emacs 24.4 ahora tiene rectángulo-marca-modo. Cx espacio para invocarlo.


Para ampliar la respuesta de Edin Salkovic, si usa el modo CUA, puede usar para comenzar una selección de bloque visual. Hay muchos atajos para controlar la selección de bloques descritos en la documentación de CUA .


Si entiendo la pregunta correctamente, no se trata de regiones rectangulares originalmente.

C-Spc pone una marca en la posición actual.

Independientemente del lugar donde se encuentre el cursor, el texto entre la última marca y la posición actual está "seleccionado" (puede resaltarlo activando el transient-mark-mode , pero esto también significará que las marcas deben borrarse cuando no lo desee). realce).

Puede operar en esa región con comandos como:

Cw . . Matar región. Esto elimina y coloca la región en el anillo de muerte.
Cy . . Tirón. Esto inserta el último fragmento del anillo de matar.
My . Ciclo de matar anillo. Inmediatamente después de Cy , esto reemplaza la parte extraída por los otros fragmentos en el anillo de matar.
Mw . . Guarda la región en el anillo de matar. Como Cw , pero no elimina.

Este es solo el uso básico. Las marcas también tienen otros usos. Recomiendo el tutorial ( Ch t ).


Use Control - Espacio para establecer una marca y mover el cursor.

El modo transient-mark-mode resaltará las selecciones por usted. M - x modo transient-mark-mode .

Puede configurar Emacs para habilitar este modo de forma predeterminada mediante una personalización. M - x customize-option RET transient-mark-mode .