Comenzando con el punto o la región activa, ¿cómo puedo 'expandir' rápidamente (en una pulsación de tecla / comando) para incluir el siguiente conjunto de paréntesis?
Si empiezo con: ( |
significa punto)
(defn foo [x] (+ x |42))
O si empiezo con: ( <
y >
pon entre corchetes la región seleccionada)
(defn foo [x] (+ x <42>|))
Quiero terminar con
(defn foo [x] <(+ x 42)>|)
fuente
expand-region
se llama a la función específica para marcar la lista inmediatamenteer/mark-outside-pairs
.Estoy de acuerdo en que debe intentar
expand-region
como se sugiere en otra respuesta (por la que estoy votando).Pero en caso de que no esté familiarizado con los comandos integrados relevantes:
En su primer ejemplo donde no hay una región que podría usar
C-M-u C-M-SPC
para marcar la lista adjunta. Si ya hay una región seleccionada, estos comandos la extienden. Por lo tanto, si42
se selecciona y presionaC-M-u
, extenderá la selección hacia atrás hasta el comienzo de la lista, pero no incluirá el par de cierre.Entonces, en ausencia de algo así
expand-region
, presionaríaC-g
para cancelar cualquier selección actual, luegoC-M-u
volver a tantos padres como desee, y luegoC-M-SPC
marcarfuente
En el caso de la región activa, hen lispy hará lo que quiera. Vea mi reciente publicación de introducción .
En el primer caso, necesitas hacerlo M-m h.
actualización: todas las opciones que tiene con
lispy
Empezando con:
Aquí,
~
denota la marca (el comienzo de la región) y|
denota el punto (el final de la región).Con husted obtienes:
Con lusted obtienes:
Con kusted obtiene (deshacer con j):
Con 2ko kkobtienes:
Con dusted obtienes:
Con d>usted obtiene (deshacer con <):
Con d2>o d>>obtienes:
Con musted obtienes:
Sólo para resumir, cuando la región está activo, h, j, k, l son las flechas que se mueven la región. >crece la región en una unidad semántica en la dirección del punto. <reduce la región en una unidad semántica en la dirección del punto. mdesactiva la marca. iselecciona el primer elemento de la región e dintercambia puntos y marcas.
fuente