This manual describes the dired features provided by the file `dired-x.el'. To take advantage of these features, you must load the file and (optionally) set some variables.
In your `.emacs' file in your home directory, or in the system-wide initialization file `default.el' in the `site-lisp' directory, put
(add-hook 'dired-load-hook (function (lambda () (load "dired-x") ;; Set dired-x global variables here. For example: ;; (setq dired-guess-shell-gnutar "gtar") ;; (setq dired-x-hands-off-my-keys nil) ))) (add-hook 'dired-mode-hook (function (lambda () ;; Set dired-x buffer-local variables here. For example: ;; (setq dired-omit-files-p t) )))
This will load `dired-x.el' when dired is first invoked (for example, when you first do C-x d).
In order to have dired-jump
and dired-jump-other-window
(See section Miscellaneous Commands) work before dired
and
dired-x
have been properly loaded the user should set-up an autoload
for these functions. In your `.emacs' file put
;;; Autoload `dired-jump' and `dired-jump-other-window'. ;;; We autoload from FILE dired.el. This will then load dired-x.el ;;; and hence define `dired-jump' and `dired-jump-other-window'. (define-key global-map "\C-x\C-j" 'dired-jump) (define-key global-map "\C-x4\C-j" 'dired-jump-other-window) (autoload (quote dired-jump) "dired" "\ Jump to dired buffer corresponding to current buffer. If in a file, dired the current directory and move to file's line. If in dired already, pop up a level and goto old directory's line. In case the proper dired file line cannot be found, refresh the dired buffer and try again." t nil) (autoload (quote dired-jump-other-window) "dired" "\ Like \\[dired-jump] (dired-jump) but in other window." t nil)
Note that in recent releases of GNU Emacs 19 (i.e., 19.25 or later) the file
`../lisp/loaddefs.el' of the Emacs distribution already contains the
proper auto-loading for dired-jump
so you need only put
(define-key global-map "\C-x\C-j" 'dired-jump)
in your `.emacs' file in order to have C-x C-j work
before dired
is loaded.
If you choose to have `dired-x.el' bind dired-x-find-file
over
find-file
(See section Find File At Point), then you will need to set
dired-x-hands-off-my-keys
and make a call to the function
dired-x-bind-find-file
in the dired-load-hook
:
(add-hook 'dired-load-hook (function (lambda () (load "dired-x") ;; Bind dired-x-find-file. (setq dired-x-hands-off-my-keys nil) ;; Make sure our binding preference is invoked. (dired-x-bind-find-file) )))
Alternatively, you can set the variable before `dired-x.el' is loaded
(add-hook 'dired-load-hook (function (lambda () ;; Bind dired-x-find-file. (setq dired-x-hands-off-my-keys nil) (load "dired-x") )))
If `dired-x.el' was not bundled with the version of GNU Emacs
installed at your site (i.e., not in the default `../lisp' directory)
then you must put the file `dired-x.el' in a directory known to GNU
Emacs. Examine the variable load-path
for a list of these directories.
If you wish to add a new directory on this list of directories use something
like this in your `.emacs' file
;;; LOAD PATH (setq load-path (append load-path ; default at top (list "/the/directory/where/you/put/dired-x")))
If you wish to put the new directory at the head of the list (where it will be found first) then you should use instead
;;; LOAD PATH (setq load-path (append (list "/the/directory/where/you/put/dired-x") load-path)) ; default at bottom
You must also byte compile the file (for example, hitting B in
dired-mode
). When byte-compiling `dired-x.el' you may get
messages about functions vm-visit-folder
, Man-notify-when-ready
,
and reporter-submit-bug-report
not being defined. These are warnings
and should be ignored.
CAUTION: If you are using a version of GNU Emacs earlier than 19.20
than you may have to edit `dired.el'. The copy of `dired.el' in GNU
Emacs versions earlier than 19.20 incorrectly had the call to run-hooks
before the call to provide
. In such a case, it is possible that
byte-compiling and/or loading dired can cause an infinite loop. To prevent
this, make sure the line of code
(run-hooks 'dired-load-hook)
is the last executable line in the file `dired.el'. That is, make sure it comes after the line
(provide 'dired)
Go to the first, previous, next, last section, table of contents.