460 ;; dangerous |
460 ;; dangerous |
461 ;; (setq |
461 ;; (setq |
462 ;; dired-recursive-copies 'top |
462 ;; dired-recursive-copies 'top |
463 ;; dired-recursive-deletes 'top) |
463 ;; dired-recursive-deletes 'top) |
464 |
464 |
|
465 (defun my-dired-up-dir () |
|
466 "'Reuse' buffer if enter to dir or open new buffer if enter to file." |
|
467 (interactive) |
|
468 (let* ( (dir (dired-current-directory)) (i (- (length dir) 2)) newdir ) |
|
469 (while (and |
|
470 (>= i 0) |
|
471 (not (equal (aref dir i) ?/)) ) |
|
472 (setq i (- i 1)) |
|
473 ) |
|
474 (setq newdir (substring dir 0 (max 0 i))) |
|
475 (when (file-directory-p newdir) |
|
476 (find-alternate-file newdir) |
|
477 (dired-goto-file dir) |
|
478 ) |
|
479 )) |
|
480 (define-key dired-mode-map (kbd "<backspace>") 'my-dired-up-dir) |
|
481 |
|
482 (defun my-dired-enter-to-dir () |
|
483 "'Reuse' buffer if enter to dir or open new buffer if enter to file." |
|
484 (interactive) |
|
485 (let ( (file (dired-get-file-for-visit)) ) |
|
486 (if (file-directory-p file) |
|
487 (find-alternate-file file) |
|
488 (find-file file) |
|
489 ))) |
|
490 (define-key dired-mode-map (kbd "<return>") |
|
491 'my-dired-enter-to-dir) |
|
492 |
465 (when (>= emacs-major-version 22) |
493 (when (>= emacs-major-version 22) |
466 ;; Enable 'a' command. |
494 ;; Enable 'a' command. |
467 (put 'dired-find-alternate-file 'disabled nil) |
495 (put 'dired-find-alternate-file 'disabled nil) |
468 (define-key dired-mode-map (kbd "<return>") |
|
469 'dired-find-alternate-file) |
|
470 (define-key dired-mode-map (kbd "<backspace>") |
|
471 (lambda () (interactive) (find-alternate-file ".."))) |
|
472 ) |
496 ) |
473 |
497 |
474 ;;; ---------------------------------------------------------------- |
498 ;;; ---------------------------------------------------------------- |
475 ;;; compression, archive. |
499 ;;; compression, archive. |
476 |
500 |