About
inputrc is a configuration file for the binding of key for the readline library (used in all linux console to read input).
See Bash - bind builtin function (Key to function, Shortcut)
Articles Related
Location
Bash will search first in the home directory
~/.inputrc
# Cygwin
%HOME%/.inputrc
then if the file doesn't exist in
/etc/inputrc
Reread the file
Ctrl+X or Ctrl+R
Example
# History
# -----------------------------------------------------------------------------
# Use more intelligent Up/Down behaviour: use the text that has already been
# typed as the prefix for searching through commands, like in Vim.
"\e[B": history-search-forward
"\e[A": history-search-backward
# Try to stay at the same cursor position when moving through the history.
set history-preserve-point on
# Autocompletion
# -----------------------------------------------------------------------------
#
# Tab completion and readline editing in mingw/msys shell.
# -> http://serverfault.com/questions/119643/how-to-get-both-tab-completion-and-readline-editing-in-mingw-msys-shell
"\C-i": vi-complete
# Make Tab autocompletion case-insensitive (cd ~/dow<Tab> => cd ~/Downloads/).
set completion-ignore-case On
# List all matches in case multiple possible completions are possible
set show-all-if-ambiguous on
# Immediately add a trailing slash when autocompleting symlinks to directories
set mark-symlinked-directories on
# Do not expand "~" to the home directory when completing. (The actual value
# passed on to the command still is expanded, though. Which is good.) "Off" is
# the default value, but some servers override this, so I override the override.
set expand-tilde off
# Flip through autocompletion matches with Shift-Tab.
"\e[Z": menu-complete
# Do not autocomplete hidden files unless the pattern explicitly begins with a dot
set match-hidden-files off
# Show all autocomplete results at once
set page-completions off
# If there are more than 200 possible completions for a word, ask to show them all
set completion-query-items 200
# Show extra file information when completing, like `ls -F` does
set visible-stats on
# Be more intelligent when autocompleting by also looking at the text after
# the cursor. For example, when the current line is "cd ~/src/mozil", and
# the cursor is on the "z", pressing Tab will not autocomplete it to "cd
# ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the
# Readline used by Bash 4.)
set skip-completed-text on
# Line editing
# -----------------------------------------------------------------------------
# Allow UTF-8 input and output, instead of showing stuff like $'\0123\0456'
set input-meta on
set output-meta on
set convert-meta off
# Use Alt/Meta + Delete to delete the preceding word
"\e[3;3~": kill-word
# Delete for wonky terminals.
"\e[3~": delete-char
# Use Ctrl+← and Ctrl+→ (or Alt/Meta, or Esc) to move between words.
"\e[1;5D": backward-word
"\e[1;3D": backward-word
"\e[5D": backward-word
"\e\e[D": backward-word
"\e[1;5C": forward-word
"\e[1;3C": forward-word
"\e[5C": forward-word
"\e\e[C": forward-word
# Miscellaneous
# -----------------------------------------------------------------------------
# Neither sound a beep nor flash the screen when trying to ring the bell.
set bell-style none