The table below lists the general-purpose Emacs variables that automatically become buffer-local in each buffer. Most become buffer-local only when set; a few of them are always local in every buffer. Many Lisp packages define such variables for their internal use, but we don't try to list them all here.
abbrev-mode
auto-fill-function
buffer-auto-save-file-name
buffer-backed-up
buffer-display-count
buffer-display-table
buffer-file-format
buffer-file-name
buffer-file-number
buffer-file-truename
buffer-file-type
buffer-invisibility-spec
buffer-offer-save
buffer-read-only
buffer-saved-size
buffer-undo-list
cache-long-line-scans
case-fold-search
ctl-arrow
comment-column
default-directory
defun-prompt-regexp
enable-multibyte-characters
fill-column
goal-column
left-margin
local-abbrev-table
local-write-file-hooks
major-mode
mark-active
mark-ring
minor-modes
mode-line-buffer-identification
mode-line-format
mode-line-modified
mode-line-process
mode-name
overwrite-mode
paragraph-separate
paragraph-start
point-before-scroll
require-final-newline
selective-display
selective-display-ellipses
tab-width
truncate-lines
vc-mode