Eu usei a marca para selecionar regiões de um buffer. Por exemplo, eu sei que a sequência C-<space> C-s foo
pode ser usada para selecionar todo o texto entre o ponto atual e o ponto após uma pesquisa foo
.
Descobri recentemente a existência do anel da marca, para que eu possa C-<space> C-<space>
deixar uma marca, mover o ponto no buffer e depois C-u C-<space>
pular para trás.
Existem sugestões, guias ou dicas para navegar efetivamente usando o anel de marca?
(global-set-key (kbd "s-m") '(lambda () (interactive) (push-mark)))
.Respostas:
Helm tem uma interface para navegar ambos os mark-anéis locais e globais:
helm-all-mark-rings
.Consulte o mini-guia para obter uma breve descrição e uma captura de tela.
E se você preferir Ivy / Swiper / Counsel , consulte
counsel-mark-ring
.fonte
Quando você define
set-mark-command-repeat-pop
comot
viavocê pode continuar pressionando C-SPCapós a primeira chamada de C-u C-SPCpara pular para locais anteriores armazenados no anel de marcação.
fonte
Acho mais fácil usar registros para marcar locais:
C-x r <space>
e depois uma letra para marcarC-x r j
e uma carta para voltar. Consigo manter várias marcas, muito úteis ao alternar entre vários buffersfonte
C-x C-xpara
exchange-mark-and-point
tem uso semelhante a C-u C-space. Permite saltar entre um ponto e a última marca. É um pouco estranho para pulartransient-mark-mode
, pois ativa a marca e seleciona a região.fonte
C-x C-x
com o modo de marca transitória é excelente para selecionar a última coisa que você selecionou (útil no modo iedit) ou arrancou.Além das outras dicas que você chegou aqui, pensei em mencionar que
C-s
define a marca para você, portanto não há necessidade de fazê-lo explicitamente. Além disso, muitos comandos que "movem um caminho potencialmente longo" (beginning-of-buffer
eend-of-buffer
por exemplo) também definem a marca por onde você começou. Juntamente com as outras maneiras de trabalhar com a marca (pop, ponto de troca e marca, etc.), é uma maneira bastante poderosa de trabalhar com um buffer, depois de entender como ele funciona. Observe também que, se você colocar o texto em um buffer, aponte e marque ao redor o texto arrancado.fonte
(Sua pergunta é bastante aberta, portanto, pode ser encerrada por ser principalmente baseada em opiniões.)
O que eu uso: Sincelos multi-comando
icicle-goto-marker
(vinculado aC-- C-SPC
) para contornar as marcas em qualquer buffer (mark-ring
) eicicle-goto-global-marker
(C-- C-x C-SPC
) para contornar as marcas globais (global-mark-ring
).As linhas de texto onde os marcadores estão localizados são usadas como candidatos à conclusão. Você pode digitar algum texto (por exemplo, substring, regexp) para restringir os candidatos às linhas correspondentes. Você pode percorrer as linhas correspondentes, visitando as que desejar. Se você também usa a biblioteca
crosshairs.el
, a posição do marcador que você visita é destacada temporariamente com retículo, para que você possa ver rapidamente onde ele está.Aqui está parte da sequência de documentos para
icicle-goto-marker
:fonte