He usado la marca para seleccionar regiones de un búfer. Por ejemplo, sé que la secuencia C-<space> C-s foo
se puede usar para seleccionar todo el texto entre el punto actual y el punto después de una búsqueda foo
.
Recientemente descubrí la existencia del anillo de la marca, por lo que puedo C-<space> C-<space>
dejar una marca, mover el punto en el búfer y luego C-u C-<space>
saltar hacia atrás.
¿Hay alguna sugerencia, guía o consejo para navegar de manera efectiva usando el anillo de marcas?
(global-set-key (kbd "s-m") '(lambda () (interactive) (push-mark)))
.Respuestas:
Timón tiene una interfaz para navegar por ambos márgenes de anillos locales y globales:
helm-all-mark-rings
.Vea la mini-guía para una breve descripción y una captura de pantalla.
Y si prefieres Ivy / Swiper / Counsel , mira
counsel-mark-ring
.fuente
Cuando configuras
set-mark-command-repeat-pop
at
través depuede seguir presionando C-SPCdespués de la primera invocación de C-u C-SPCpara saltar a ubicaciones anteriores almacenadas en el anillo de marcas.
fuente
Me resulta más fácil usar registros para marcar ubicaciones:
C-x r <space>
y luego una letra para marcarC-x r j
y una letra para saltar hacia atrás. Puedo mantener una serie de marcas, muy útil al alternar entre múltiples buffersfuente
C-x C-xpara
exchange-mark-and-point
tiene un uso similar a C-u C-space. Te permite rebotar entre un punto y la última marca. Es un poco extraño rebotar,transient-mark-mode
ya que activa la marca y selecciona la región.fuente
C-x C-x
con el modo de marca transitoria es excelente para seleccionar lo último que seleccionó (útil con el modo iedit) o tiró.Además de los otros consejos que tiene aquí, pensé que debería mencionar que
C-s
establece la marca para usted, por lo que no hay necesidad de hacerlo explícitamente. Además, muchos comandos que "se mueven un camino potencialmente largo" (beginning-of-buffer
y,end-of-buffer
por ejemplo) también establecen la marca donde comenzó. Junto con las otras formas de trabajar con la marca (pop, punto de intercambio y marca, etc.) es una forma bastante poderosa de trabajar con un búfer, una vez que comprenda cómo funciona. También tenga en cuenta que si tira de texto en un búfer, apunte y marque alrededor del texto arrancado.fuente
(Su pregunta es bastante abierta, por lo que podría cerrarse porque se basa principalmente en la opinión).
Lo que uso: Icicles multi-command
icicle-goto-marker
(vinculado aC-- C-SPC
) para disparar alrededor de las marcas en cualquier búfer (mark-ring
) yicicle-goto-global-marker
(C-- C-x C-SPC
) para disparar entre las marcas globales (global-mark-ring
).Las líneas de texto donde se encuentran los marcadores se utilizan como candidatos de finalización. Puede escribir texto (por ejemplo, subcadena, expresión regular) para limitar los candidatos a las líneas que coinciden. Puede alternar entre las líneas coincidentes, visitando cualquiera que desee. Si también usa la biblioteca
crosshairs.el
, la posición de un marcador que visita se resalta temporalmente con una mira, para que pueda ver rápidamente dónde está.Aquí hay parte de la cadena de documentación para
icicle-goto-marker
:fuente