Saya telah menggunakan tanda untuk memilih wilayah buffer. Misalnya, saya tahu urutannya C-<space> C-s foo
dapat digunakan untuk memilih semua teks antara titik saat ini dan titik setelah pencarian foo
.
Baru-baru ini saya menemukan keberadaan cincin tanda, sehingga saya dapat C-<space> C-<space>
meninggalkan tanda, memindahkan titik di buffer, dan kemudian C-u C-<space>
melompat kembali.
Adakah saran, panduan, atau kiat untuk bernavigasi secara efektif menggunakan cincin tanda?
(global-set-key (kbd "s-m") '(lambda () (interactive) (push-mark)))
.Jawaban:
Helm memiliki antarmuka untuk browsing baik mark-cincin lokal dan global:
helm-all-mark-rings
.Lihat mini-guide untuk deskripsi singkat dan tangkapan layar.
Dan jika Anda lebih suka Ivy / Swiper / Counsel , lihat
counsel-mark-ring
.sumber
Ketika Anda mengatur
set-mark-command-repeat-pop
ket
viaAnda dapat terus menekan C-SPCsetelah doa pertama C-u C-SPCuntuk melompat ke lokasi sebelumnya yang disimpan dalam cincin tanda.
sumber
Saya merasa lebih mudah untuk menggunakan register untuk menandai lokasi:
C-x r <space>
dan kemudian surat untuk menandai,C-x r j
dan surat untuk melompat kembali. Saya dapat mempertahankan sejumlah tanda, sangat berguna ketika berganti-ganti antara beberapa buffersumber
C-x C-xuntuk
exchange-mark-and-point
memiliki penggunaan yang mirip dengan C-u C-space. Ini memungkinkan Anda memantul di antara titik dan tanda terakhir. Agak aneh untuk memantultransient-mark-mode
saat mengaktifkan tanda dan memilih wilayah.sumber
C-x C-x
dengan transient-mark-mode sangat baik untuk memilih hal terakhir yang Anda pilih (berguna dengan mode iedit) atau disentak.Terlepas dari tips lain yang Anda dapatkan di sini saya pikir saya harus menyebutkan yang
C-s
menetapkan tanda untuk Anda, jadi tidak perlu untuk melakukannya secara eksplisit. Juga, banyak perintah yang "bergerak sangat berpotensi" (beginning-of-buffer
danend-of-buffer
misalnya) juga menetapkan tanda di mana Anda memulai. Bersama dengan cara lain untuk bekerja dengan tanda (pop, titik pertukaran dan tanda, dll) itu adalah cara yang cukup kuat untuk bekerja dengan buffer, setelah Anda memahami cara kerjanya. Perhatikan juga bahwa jika Anda menarik teks ke dalam buffer, titik dan tandai mengelilingi teks yang ditarik.sumber
(Pertanyaan Anda cukup terbuka, jadi mungkin ditutup karena berdasarkan pendapat.)
Apa yang saya gunakan: Icicles multi-command
icicle-goto-marker
(terikat keC-- C-SPC
) untuk menjelajah tanda di buffer (mark-ring
), danicicle-goto-global-marker
(C-- C-x C-SPC
) untuk perjalanan di antara tanda global (global-mark-ring
).Baris teks tempat penanda ditempatkan digunakan sebagai kandidat pelengkap. Anda dapat mengetik beberapa teks (misalnya, substring, regexp) untuk mempersempit kandidat ke garis yang cocok. Anda dapat bersepeda di antara garis yang cocok, mengunjungi apa pun yang Anda suka. Jika Anda juga menggunakan pustaka
crosshairs.el
maka posisi marker yang Anda kunjungi disorot sementara dengan garis bidik, sehingga Anda dapat dengan cepat melihat di mana itu.Ini adalah bagian dari string doc untuk
icicle-goto-marker
:sumber