Bisakah saya membuat kursor saya di buffer melompat kembali ke posisi terakhir? (lebih disukai tanpa harus menandai posisi sebelumnya)
Sebagai contoh, Ca melompat ke awal garis saat ini, dapatkah saya melompat kembali ke tempat sebelumnya?
Misalnya, ketika Cx Cf untuk membuka file di direktori yang berbeda, saya ingin melompat kembali ke posisi sebelumnya dalam nama path.
Terima kasih.
C-x x
yang berjalan akanexchange-point-and-mark
lakukan? Emacs tidak menyimpan semua gerakan kursor, hanya gerakan yang secara khusus Anda beri tahu. Menambahkan dan memunculkan tanda adalah salah satu cara untuk menyimpan riwayat pergerakan kursor. emacswiki.org/emacs/MarkCommands - ini adalah diskusi yang bagus tentang topik ini.C-x x
tidak jelas.M-x exchange-point-and-mark
: tidak ada tanda yang diatur dalam buffer ini.C-x C-x
. Anda juga harus menetapkan tanda terlebih dahulu agar bisa berfungsi. Untuk menetapkan tanda secara eksplisit, Anda harus melakukannyaC-SPC
. Untuk melompat kembali ke tanda sebelumnya, Anda lakukanC-u C-SPC
.C-x C-x
.C-x x
mengikat saya sendiri.Jawaban:
Berikut adalah beberapa ikatan yang terkait tanda yang dapat membantu Anda:
C-SPC
- menetapkan tanda dan mengaktifkan wilayah (terikat keset-mark-command
)C-SPC C-SPC
- setel tanda (mengaktifkan dan kemudian menonaktifkan wilayah)C-x C-x
- terikatexchange-point-and-mark
C-u C-SPC
- pindah ke tanda sebelumnyaPeriksa dokumentasi Tandai untuk pemahaman yang lebih baik tentang topik ini.
sumber
C-u C-SPC
.counsel-mark-ring
itu juga memungkinkan untuk membuat daftar semua tanda dan menavigasi dengan kursor, mendapatkan pratinjau waktu-nyata dalam buffer.Jika Anda melakukan pengeditan di lokasi Anda mendarat,
goto-last-change
akan melakukan ini untuk Anda. http://www.emacswiki.org/emacs/GotoLastChangesumber
g ;
Anda dapat menggunakan `Register '.
Dari file info emacs
13.1 Menyimpan Posisi di Register
C-x r <SPC> R' Record the position of point and the current buffer in register R (
point-to-register ').C-x r j R' Jump to the position and buffer saved in register R (
lompat-mendaftar ').Mengetik
C-x r <SPC>' (
point-to-register '), diikuti oleh karakter `R', menyimpan posisi point dan buffer saat ini di register R. Register menyimpan informasi ini sampai Anda menyimpan sesuatu yang lain di dalamnya.Perintah `Cx rj R 'beralih ke buffer yang direkam dalam register R, dan memindahkan titik ke posisi yang direkam. Isi register tidak diubah, sehingga Anda dapat melompat ke posisi yang disimpan beberapa kali.
Jika Anda menggunakan
C-x r j' to go to a saved position, but the buffer it was saved from has been killed,
Cx rj 'mencoba membuat buffer lagi dengan mengunjungi file yang sama. Tentu saja, ini hanya berfungsi untuk buffer yang mengunjungi file.sumber