Bash - inputrc

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)

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

Powered by ComboStrap