view-mode is an interactive autoloaded compiled Lisp function in `view.el'.

(view-mode &optional ARG)

Toggle View mode, a minor mode for viewing text but not editing it.
With a prefix argument ARG, enable View mode if ARG is positive,
and disable it otherwise. If called from Lisp, enable View mode
if ARG is omitted or nil.

When View mode is enabled, commands that do not change the buffer
contents are available as usual. Kill commands insert text in
kill buffers but do not delete. Most other commands beep and
tell the user that the buffer is read-only.

The following additional commands are provided. Most commands
take prefix arguments. Page commands default to "page size"
lines which is almost a whole window, or number of lines set by
z or w.
Half page commands default to and set "half page size" lines
which initially is half a window full. Search commands default
to a repeat count of one.

H, h, ? This message.
Digits provide prefix arguments.
- negative prefix argument.
< move to the beginning of buffer.
> move to the end of buffer.
o scroll so that buffer end is at last line of window.
SPC scroll forward "page size" lines.
With prefix scroll forward prefix lines.
DEL, S-SPC scroll backward "page size" lines.
With prefix scroll backward prefix lines.
z like SPC but with prefix sets "page size" to prefix.
w like DEL but with prefix sets "page size" to prefix.
d scroll forward "half page size" lines. With prefix, sets
"half page size" to prefix lines and scrolls forward that much.
u scroll backward "half page size" lines. With prefix, sets
"half page size" to prefix lines and scrolls backward that much.
RET, LFD scroll forward one line. With prefix scroll forward prefix line(s).
y scroll backward one line. With prefix scroll backward prefix line(s).
F revert-buffer if necessary and scroll forward.
Use this to view a changing file.
= prints the current line number.
% goes prefix argument (default 100) percent into buffer.
g goes to line given by prefix argument (default first line).
. set the mark.
x exchanges point and mark.
@ return to mark and pops mark ring.
Mark ring is pushed at start of every successful search and when
jump to line occurs. The mark is set on jump to buffer start or end.
m save current position in character register.
' go to position saved in character register.
s do forward incremental search.
r do reverse incremental search.
/ searches forward for regular expression, starting after current page.
! and @ have a special meaning at the beginning of the regexp.
! means search for a line with no match for regexp. @ means start
search at beginning (end for backward search) of buffer.
\ searches backward for regular expression, starting before current page.
n searches forward for last regular expression.
p searches backward for last regular expression.
q quit View mode, restoring this window and buffer to previous state.
q is the normal way to leave view mode.
e exit View mode but stay in current buffer. Use this if you started
viewing a buffer (file) and find out you want to edit it.
This command restores the previous read-only status of the buffer.
E exit View mode, and make the current buffer editable
even if it was not editable before entry to View mode.
Q quit View mode, restoring all windows to previous state.
c quit View mode and maybe switch buffers, but don't kill this buffer.
C quit View mode, kill current buffer and go back to other buffer.

The effect of c, q and C depends on how view-mode was entered. If it was
entered by view-file, view-file-other-window, view-file-other-frame, or
M-x dired-view-file (M-x view-file, M-x view-file-other-window,
M-x view-file-other-frame, or the Dired mode v command),
then q will try to kill the current buffer.
If view-mode was entered from another buffer, by M-x view-buffer,
M-x view-buffer-other-window, M-x view-buffer-other frame, M-x view-file,
M-x view-file-other-window, or M-x view-file-other-frame,
then c, q and C will return to that buffer.

Entry to view-mode runs the normal hook `view-mode-hook'.