Ich habe die Markierung verwendet, um Bereiche eines Puffers auszuwählen. Ich weiß zum Beispiel, dass die Sequenz C-<space> C-s foo
verwendet werden kann, um den gesamten Text zwischen dem aktuellen Punkt und dem Punkt nach einer Suche nach auszuwählen foo
.
Ich habe kürzlich die Existenz des Markierungsrings entdeckt, damit ich C-<space> C-<space>
eine Markierung hinterlassen, den Punkt im Puffer verschieben und dann C-u C-<space>
zurückspringen kann.
Gibt es Vorschläge, Anleitungen oder Tipps zur effektiven Navigation mit dem Markierungsring?
(global-set-key (kbd "s-m") '(lambda () (interactive) (push-mark)))
.Antworten:
Helm hat eine Schnittstelle sowohl lokale als auch globale Marke-Ringe für Surfen im Internet :
helm-all-mark-rings
.Sehen Sie sich die Mini-Guide für eine kurze Beschreibung und einen Screenshot.
Und wenn Sie Ivy / Swiper / Counsel bevorzugen , sehen Sie
counsel-mark-ring
.quelle
Wenn Sie
set-mark-command-repeat-pop
auft
Via einstellenSie können C-SPCnach dem ersten Aufruf von gedrückt halten, um zu den C-u C-SPCim Markierungsring gespeicherten vorherigen Positionen zu springen.
quelle
Ich finde es einfacher, Register zum Markieren von Orten zu verwenden:
C-x r <space>
und dann einen Buchstaben zum MarkierenC-x r j
und einen Buchstaben zum Zurückspringen. Ich kann eine Reihe von Markierungen beibehalten, was sehr nützlich ist, wenn zwischen mehreren Puffern gewechselt wirdquelle
C-x C-xfür
exchange-mark-and-point
hat ähnliche Verwendung zu C-u C-space. Sie können zwischen einem Punkt und der letzten Markierung springen. Es ist ein bisschen seltsam, mit zu hüpfen,transient-mark-mode
da es die Markierung aktiviert und die Region auswählt.quelle
C-x C-x
mit transient-mark-modus eignet sich hervorragend für die auswahl des zuletzt gewählten (nützlich im iedit-modus) oder zerrten dings.Abgesehen von den anderen Tipps, die Sie hier erhalten haben, sollte ich erwähnen, dass dies
C-s
das Zeichen für Sie setzt, so dass es nicht erforderlich ist, dies explizit zu tun. Außerdem setzen viele Befehle, die (beginning-of-buffer
undend-of-buffer
zum Beispiel) "einen potenziell langen Weg zurücklegen", die Marke, an der Sie begonnen haben. Zusammen mit den anderen Möglichkeiten, mit der Marke zu arbeiten (Pop, Austauschpunkt und Marke usw.), ist es eine sehr leistungsfähige Möglichkeit, mit einem Puffer zu arbeiten, wenn Sie erst einmal verstanden haben, wie er funktioniert. Beachten Sie auch, dass, wenn Sie Text in einen Puffer ziehen, Punkt und Markierung den gezogenen Text umgeben.quelle
(Ihre Frage ist ziemlich offen, daher wird sie möglicherweise als hauptsächlich meinungsbasiert geschlossen.)
Was ich benutze: Icicles -Multibefehl
icicle-goto-marker
(gebunden anC-- C-SPC
), um die Markierungen in einem beliebigen Puffer zu umgehen (mark-ring
) undicicle-goto-global-marker
(C-- C-x C-SPC
), um zwischen den globalen Markierungen zu wechseln (global-mark-ring
).Die Textzeilen, in denen sich die Markierungen befinden, werden als Abschlusskandidaten verwendet. Sie können Text eingeben (z. B. Teilzeichenfolge, regulärer Ausdruck), um die Kandidaten auf die übereinstimmenden Zeilen einzugrenzen. Sie können zwischen den übereinstimmenden Zeilen wechseln und alle gewünschten besuchen. Wenn Sie auch die Bibliothek verwenden,
crosshairs.el
wird die Position eines Markers, den Sie besuchen, vorübergehend mit einem Fadenkreuz markiert, sodass Sie schnell sehen können, wo er sich befindet.Hier ist ein Teil des Dokuments für
icicle-goto-marker
:quelle