.emacs-my
changeset 463 adc3abb3c1fc
parent 462 f99a3783e44e
child 464 ae073d35f674
child 465 0a9cbfab10f4
equal deleted inserted replaced
462:f99a3783e44e 463:adc3abb3c1fc
   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