Variable: dired-movement-style
dired-movement-style is a customizable variable defined in
dired.el.gz.
Value
nil
Documentation
Non-nil means point skips empty lines when moving in Dired buffers.
This affects only dired-next-line, dired-previous-line,
dired-next-dirline, dired-prev-dirline.
Possible non-nil values:
* cycle: when moving from the last/first visible line, cycle back
to the first/last visible line.
* bounded: don't move up/down if the current line is the
first/last visible line.
* cycle-files: like cycle but moves only over file lines.
* bounded-files: like bounded but moves only over file lines.
Any other non-nil value is treated as bounded.
This variable was added, or its default value changed, in Emacs 30.1.
Probably introduced at or before Emacs version 30.1.
Source Code
;; Defined in /usr/src/emacs/lisp/dired.el.gz
(defcustom dired-movement-style nil
"Non-nil means point skips empty lines when moving in Dired buffers.
This affects only `dired-next-line', `dired-previous-line',
`dired-next-dirline', `dired-prev-dirline'.
Possible non-nil values:
* `cycle': when moving from the last/first visible line, cycle back
to the first/last visible line.
* `bounded': don't move up/down if the current line is the
first/last visible line.
* `cycle-files': like `cycle' but moves only over file lines.
* `bounded-files': like `bounded' but moves only over file lines.
Any other non-nil value is treated as `bounded'."
:type '(choice (const :tag "Move to any line" nil)
(const :tag "Cycle through non-empty lines" cycle)
(const :tag "Cycle through file lines" cycle-files)
(const :tag "Stop on last/first non-empty line" bounded)
(const :tag "Stop on last/first file line" bounded-files))
:group 'dired
:version "30.1")