Setelah mengeluarkan scroll-up
atau scroll-down
dalam emacs, apakah ada cara cepat untuk mengembalikan titik ke posisi sebelumnya (dengan asumsi saya tidak ingat untuk menambahkannya ke cincin tanda)?
Atau adakah cara (tanpa mengganggu cincin tanda) untuk mengubah perilaku pengguliran sehingga menggulir ke atas kemudian menggulir ke bawah (atau sebaliknya) mengembalikan titik ke posisi semula? (mis. membuat scrolling memindahkan titik tepat x garis di mana x adalah tinggi layar)
Saya sedang dalam proses membiasakan diri dengan emacs dan ini adalah salah satu situasi kutukan yang paling umum: Saya menggulirkan sekitar untuk melihat bagian lain dari kode saya tanpa ingat untuk menambahkan baris saya ke cincin tanda dan kemudian menyakitkan untuk mencoba untuk memindahkan baris kode yang sedang saya kerjakan. Karena itu, sementara saya meminta solusi teknis, saya juga tertarik untuk mendengar bagaimana pengguna berpengalaman menghindari masalah ini. Apakah Anda terbiasa mengingat untuk menetapkan tanda, membagi jendela untuk melihat-lihat atau menggunakan beberapa pola lain?
Terima kasih
scroll-up-line
(yang saya gunakan dengan roda gulir saya) menyebabkan kursor bergerak maju satu karakter ketika menyentuh bagian atas atau bawah layar.(setq scroll-preserve-screen-position 'always)
. Kalau tidak,C-v M-v
jangan meletakkan titik di tempat Anda memulai. (Posisi titik kedua terlihat di layar penuh sehingga titik tidak bergerak kembali.)Apa yang saya temukan berfungsi dengan baik adalah menggunakan
goto-last-change.el
, yang memunculkan Anda kembali ke lokasi tempat Anda terakhir mengedit. Saya suka yang mengikat:sumber
C-_ C-f C-_
(undo, move, undo).Sebagai jawaban atas pertanyaan Anda tentang bagaimana saya menghindari masalah yang Anda gambarkan (mencari di tempat lain dalam kode dan kemudian kembali ke titik di mana saya bekerja) ...
Biasanya, saya akan membagi layar ketika saya perlu melihat sebentar di tempat lain. Lalu saya dapat kembali ke layar asli dengan
C-x o
, tidak aktif denganC-x 1
dan saya kembali normal.Saya juga menggunakan maju dan mundur pencarian-i untuk menemukan tempat menarik tertentu dalam kode. Saya menemukan itu cara yang cukup efisien untuk menavigasi kode ketika saya tahu apa yang saya cari.
sumber
Jika saya hanya menggulir beberapa baris dari tempat saya saat ini, saya dapat menggunakan ini untuk menggulir jendela tanpa titik bergerak:
Jika saya pindah ke bagian file yang sama sekali berbeda (atau ke file yang berbeda sama sekali), saya kadang-kadang menggunakan
breadcrumb
meskipun ada banyak paket lain yang melakukan hal serupa.Jika saya perlu melihat dua area kode secara bersamaan, saya akan membagi bingkai secara horizontal menjadi dua jendela dan kemudian membuang jendela kedua ketika saya selesai.
Namun, sebagian besar, saya hanya menggunakan dua frame, satu menjadi frame kerja saya saat ini dan yang lainnya adalah frame referensi saya, digunakan untuk melompati file yang sama atau yang lain.
sumber
C-l
.