Melihat opsi penyesuaian untuk ido-mode
( M-x customize-group
RET ido
RET), saya tidak melihat opsi apa pun untuk mengaktifkan perilaku bersepeda yang Anda uraikan.
Namun, Anda dapat menambahkan yang berikut ke file init Anda:
(require 'recentf)
(defun ido-recentf-open ()
"Use `ido-completing-read' to find a recent file."
(interactive)
(if (find-file (ido-completing-read "Find recent file: " recentf-list))
(message "Opening file...")
(message "Aborting")))
(global-set-key (kbd "C-x C-r") 'ido-recentf-open)
Dengan ini di tempat Anda dapat menekan C-x C-runtuk mendapatkan Ido selesai untuk memilih file yang baru dibuka.
Secara default, 20 file terbaru akan disimpan dalam sejarah. Saya sarankan Anda memutar itu hingga sekitar 150 dengan menetapkan recentf-max-saved-items
:
(setq recentf-max-saved-items 150)
Bonus: Mengakses file terbaru, edisi on-steroid
Saya tidak melihatnya disebutkan di banyak tempat, tetapi Ido Virtual Buffer membuatnya sangat mudah untuk mengakses file terbaru. Aktifkan mereka seperti itu:
(setq ido-use-virtual-buffers t)
Perilaku yang Anda dapatkan adalah ini:
Jika bukan nil
, lihat buffer lalu ("virtual") serta yang sudah ada.
Pada dasarnya ini berfungsi sebagai berikut: Katakanlah Anda mengunjungi file dan buffer dibersihkan oleh midnight.el
. Kemudian, Anda ingin beralih ke buffer itu, tetapi ternyata tidak lagi terbuka. Dengan buffer virtual diaktifkan, nama buffer tetap berada di daftar buffer (menggunakan ido-virtual
wajah, dan selalu di akhir), dan jika Anda memilihnya, itu akan membuka kembali file tersebut. Ini membuat Anda tidak terlalu memikirkan apakah file yang baru dibuka masih terbuka atau tidak. Sebagian besar waktu Anda dapat keluar dari Emacs, restart, dan kemudian beralih ke buffer file yang sebelumnya terbuka seolah-olah masih ada.
C-x C-r
itu tidak mungkin untuk membuka file baru. Saya juga terkejut tidak mungkin untuk menyesuaikannya dengan cara yang sederhana. SejarahC-x C-f
adalah fitur yang jelas sehingga saya tidak bisa mengerti mengapa belum diimplementasikanido
. MisalnyaM-x up/down
siklus melalui perintah baru-baru ini,M-% up/down
siklus melalui penggantian permintaan baru-baru ini, bahkan di luar emacs - semua shell sebagai bash atau zsh menggunakan naik / turun untuk memanggil kembali perintah sebelumnya. Bagi sayaC-x C-f up/down
harus menelusuri file yang baru dibuka. Titik.ido-use-virtual-buffers
- fitur hebat yang harus diaktifkan secara default IMO.Meskipun binding telah berevolusi dari waktu ke waktu, mulai hari ini, ketika Anda memohon
ido-find-file
atauido-find-file-read-only
, Anda dapat menggunakan binding berikut yang tersedia dalam konfigurasi default:ido-prev-work-file
ido-next-work-file
Terlepas dari ini tidak secara ergonomis menyenangkan M-pdan M-nmengikat saya telah terbiasa sebelum mencoba ido , mereka juga lambat, dan akibatnya obrolan minibuffer mengganggu dan membingungkan. ido melakukan sesuatu yang lebih dari sekadar menunjukkan nama file yang baru dibuka; itu melaporkan bahwa itu "Mencari ' nama file ' ...", mungkin karena enggan menawarkan nama untuk file yang tidak ada lagi.
Pesan "Mencari" berasal dari fungsi
ido-make-merged-file-list
. Membaca sumbernya , saya tidak melihat cara untuk menonaktifkan sihir apa pun yang dilakukan fungsi ini.Anda dapat mempertimbangkan untuk memutarkan kembali
ido-prev-work-file
danido-next-work-file
memasangkan sesuatu yang lebih alami seperti C-M-pdan C-M-n, atau menukar ikatan saat ini M-p(ido-prev-work-directory
) dan M-n(ido-next-work-directory
) untuk semua ini.Berikut ini adalah kode Emacs Lisp untuk mengembalikan M-pdan M-nmenggilir file-file terbaru, memindahkan masing C-M-p- C-M-nmasing binding yang terfokus pada direktori :
sumber
apa yang saya terpaksa dalam kasus ini akan kembali ke perilaku minibuffer normal dengan mengetik Cf di idomode. Maka Anda akan memiliki kunci penelusuran riwayat yang normal. Jika Anda tahu sebelumnya, bisa cepat: Cxff :-)
sumber
Jawaban yang diberikan oleh @itsjeyd cukup lengkap. Izinkan saya menyarankan fungsi saja:
Atas perkenan WikEmacs
sumber
Saya menemukan
helm-for-files
karya lebih baik daripada jawaban di atas untuk keperluan pelengkapan otomatis nama file dan memiliki antarmuka pencarian yang bagus. Anda juga dapat mengonfigurasinya untuk memasukkan item pencarian yang Anda suka.sumber