When the minibuffer offers tab completion, how can I make that case-insensitive?
Preferably a global setting that makes any completion – a filename, a command, ido, etc. – obey that setting.
Emacs Stack Exchange is a question and answer site for those using, extending or developing Emacs. It only takes a minute to sign up.
Sign up to join this communitySure. Set variable completion-ignore-case
to t
. Put this in your init file:
(setq completion-ignore-case t)
C-h v completion-ignore-case
:
completion-ignore-case
is a variable defined inC source code
.Its value is
nil
Documentation:
Non-
nil
means don't consider case significant in completion.For file-name completion,
read-file-name-completion-ignore-case
controls the behavior, rather than this variable.For buffer name completion,
read-buffer-completion-ignore-case
controls the behavior, rather than this variable.
Note that this is not a user option, and so is excluded from Customize. You can set it but you cannot set it using Customize. The most common use of it is to bind it (not assign it) in a given command. But nothing prevents you from assigning it, to affect the general behavior.
C-h v completion-ignore-case
? Does your Emacs version not find this variable? Are you using GNU Emacs or some other Emacs?
M-x customize-group completion
because it is not a user option. You can set it but you cannot set it using Customize. The most common use of it is to bind it (not assign it) in a given command. But nothing prevents you from assigning it, to affect the general behavior.
M-x report-emacs-bug
.
(setq-local completion-ignore-case t)
, causing xref-find--definition
's interactive form to set the buffer-local value, which then didn't propagate to completing-read
.