;;; -*- Emacs-Lisp -*- ;;; vz-dired.el ;;; Copyright (C) 1994, 1995 ;;; Í] GV (PXB04553@niftyserve.or.jp) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either versions 2, or (at your option) ;;; any later version. ;; beginning of vz-dired.el (require 'dired) ;;(defvar vz-dired-mode-map (make-sparse-keymap)) (defvar vz-dired-mode-map (copy-keymap dired-mode-map)) (define-key vz-dired-mode-map "\C-c" 'vz-scroll-up) (define-key vz-dired-mode-map "\C-r" 'vz-scroll-down) (define-key vz-dired-mode-map "\C-m" 'vz-dired-find-file) (define-key vz-dired-mode-map "\C-h" 'vz-dired-up-directory) (define-key vz-dired-mode-map "\e" 'vz-close-file) (define-key vz-dired-mode-map "\C-e" 'dired-previous-line) (define-key vz-dired-mode-map "\C-x" 'dired-next-line) (define-key vz-dired-mode-map [up] 'dired-previous-line) (define-key vz-dired-mode-map [down] 'dired-next-line) (define-key vz-dired-mode-map [next] 'vz-scroll-up) (define-key vz-dired-mode-map [prior] 'vz-scroll-down) (define-key vz-dired-mode-map [backspace] 'vz-dired-up-directory) (define-key vz-dired-mode-map [return] 'vz-dired-find-file) (define-key vz-dired-mode-map [escape] 'vz-close-file) (define-key vz-dired-mode-map "\C-k\C-s" 'vz-split-window) (define-key vz-dired-mode-map "\C-k\C-w" 'vz-other-window) ;; alternate of ESC (define-key vz-dired-mode-map ":" 'execute-extended-command) (defun vz-dired (dir) (interactive) (let ((dired-mode-map vz-dired-mode-map)) (dired dir))) (defun vz-dired-find-file () (interactive) (let ((filename (file-name-sans-versions (dired-get-filename)))) (if (car (file-attributes filename)) (progn (if (string= (file-name-nondirectory filename) "..") (progn (kill-buffer nil) (vz-dired filename)) (dired-maybe-insert-subdir filename))) (kill-buffer nil) (find-file filename)))) (defun vz-dired-up-directory () (interactive) (let* ((dir (dired-current-directory)) (up (file-name-directory (directory-file-name dir)))) (or (dired-goto-file (directory-file-name dir)) (and (cdr dired-subdir-alist) (dired-goto-subdir up)) (progn (kill-buffer nil) (vz-dired up) (dired-goto-file dir))))) ;; end of vz-dired.el