Dired: ponownie użyj bufora tylko dla katalogów

9

Aby zapobiec tworzeniu bufora za każdym razem, gdy wchodzę do katalogu w dired, używam tego:

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

Mój problem polega na tym, że kiedy odwiedzam plik z dired press, RETa następnie go zabijam, dired bufor jest również zabijany.

Czy byłoby możliwe ponowne użycie bufora dired tylko dla katalogów?

Boccaperta-IT
źródło

Odpowiedzi:

5

Załaduj bibliotekę Dired + ( dired + .el ). Następnie użyj C-M-R(aka C-M-S-r), aby przełączyć, czy Dired powinien ponownie użyć buforowanych buforów.

Jeśli chcesz domyślnie włączyć to ponowne użycie, zrób to w pliku init:

(diredp-toggle-find-file-reuse-dir 1)
Rysował
źródło
5

Jeśli przyzwyczaisz się do faktu, że azastępuje bieżący (dired) bufor wybranym plikiem / katalogiem, wówczas domyślne podejście nie jest ograniczone; po prostu skorzystaj z opcji, którą chcesz w danym momencie.

phils
źródło
0

Rozwiązanie (zaakceptowana odpowiedź) Drew za pomocą Dired + nie działało dla mnie (powodowało bałagan w moich buforach buforowych, dlatego pojawiały się tylko nazwy folderów / plików, ale nie wszystkie inne informacje normalnie w buforowanym buforze. z jednym z moich dostosowań).

Potem znalazłem inny, który działał dobrze, używając dired-simple.el . Po pobraniu połączonego pliku i umieszczeniu go w ścieżce ładowania dołącz go do pliku init

      (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
źródło
Aby rozwiązać wspomniany problem dired+, spróbuj ustawić następujące ustawienia:(customize-set-variable 'diredp-hide-details-initially-flag nil)
nispio