Dired: hanya menggunakan kembali buffer untuk direktori

9

Untuk mencegah pembuatan buffer setiap kali saya memasukkan direktori dalam dired saya menggunakan ini:

(put 'dired-find-alternate-file 'disabled nil)

Masalah saya sekarang adalah ketika saya mengunjungi file dari penekanan dired RETdan kemudian membunuhnya, buffer dired juga terbunuh.

Apakah mungkin menggunakan kembali dired buffer hanya untuk direktori?

Boccaperta-IT
sumber

Jawaban:

5

Muat perpustakaan Dired + ( dired + .el ). Kemudian gunakan C-M-R(alias C-M-S-r) untuk beralih apakah Dired harus menggunakan kembali buffer dired.

Jika Anda ingin mengaktifkan kembali ini secara default, lakukan ini di file init Anda:

(diredp-toggle-find-file-reuse-dir 1)
Drew
sumber
5

Jika Anda terbiasa dengan fakta yang amenggantikan buffer saat ini (dired) dengan file / direktori yang dipilih, maka Anda tidak dibatasi oleh pendekatan default; Anda cukup menggunakan opsi yang Anda inginkan saat itu.

phils
sumber
0

Solusi (jawaban yang diterima) oleh Drew menggunakan Dired + tidak bekerja untuk saya (itu mengacaukan buffer dired saya sehingga hanya folder / nama file yang muncul, tetapi tidak semua info lain biasanya dalam buffer dired. Bisa jadi untuk melakukan dengan salah satu penyesuaian saya).

Saya kemudian menemukan cara lain yang berhasil menggunakan dired-simple.el . Setelah mengunduh file yang ditautkan dan menempatkannya di jalur muat Anda, masukkan ini dalam file init Anda

      (require 'dired-single)

      (defun my-dired-init ()
        "Bunch of stuff to run for dired, either immediately or when it's
         loaded."
        ;; <add other stuff here>
        (define-key dired-mode-map [return] 'dired-single-buffer)
        (define-key dired-mode-map [mouse-1] 'dired-single-buffer-mouse) 
        (define-key dired-mode-map "^"
        (function
         (lambda nil (interactive) (dired-single-buffer "..")))))

      ;; if dired's already loaded, then the keymap will be bound
      (if (boundp 'dired-mode-map)
        ;; we're good to go; just add our bindings
        (my-dired-init)
        ;; it's not loaded yet, so add our bindings to the load-hook
        (add-hook 'dired-load-hook 'my-dired-init))
Vivi
sumber
Untuk mengatasi masalah yang Anda sebutkan dired+, coba setel berikut ini:(customize-set-variable 'diredp-hide-details-initially-flag nil)
nispio