dired move line wrap up
05 May 2014
When the cursor is at the buffer end of ibuffer
, it will wrap back
to the beginning of the buffer list if I continue pressing n
to next
buffer. But in dired
, this does not happen. The cursor will stay at
the end of the file list, if I continue pressing n
to navigate to
next buffer.
Here is the trick to wind the cursor up to the first item of the file
list. I redefine the function dired-next-line
and dired-previous-line
:
(defun dired-next-line (arg) "Move down lines then position at filename. Optional prefix ARG says how many lines to move; default is one line." (interactive "p") (forward-line arg) (if (eobp) (progn (goto-char (point-min)) (forward-line 2))) ;; skip two lines: file path and summary (dired-move-to-filename)) (defun dired-previous-line (arg) "Move up lines then position at filename. Optional prefix ARG says how many lines to move; default is one line." (interactive "p") (if (= 3 (line-number-at-pos)) ;; line num of first item (progn (goto-char (point-max)) (forward-line -1)) ;; skip the last empty line (forward-line (- arg))) (dired-move-to-filename))