Skip to content

Instantly share code, notes, and snippets.

@erikmchut
Created March 17, 2017 18:31
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save erikmchut/c199b6af286d11593613b59b38cf6003 to your computer and use it in GitHub Desktop.
Save erikmchut/c199b6af286d11593613b59b38cf6003 to your computer and use it in GitHub Desktop.
My .inputrc with both emacs + vim goodness
# Use Unicode & do NOT use the "8bit hack" to input/output non-ASCII characters
set input-meta on
set output-meta on
set convert-meta off
# Ignore completion case
set completion-ignore-case On
set match-hidden-files Off
set bell-style visible
set editing-mode vi
set keymap vi-insert
Control-l: clear-screen
"\e[1;5C": forward-word # ctrl + right
"\e[1;5D": backward-word # ctrl + left
"\C-b": backward-word # ctrl + b
"\C-e": end-of-line # ctrl + e
"\C-a": beginning-of-line # ctrl + e
"\C-d": delete-char # ctrl + d
# Better update bash, or the following becomes crazy-town on vanilla Mac OS X
set keymap vi-command
Control-l: clear-screen
"#": insert-comment
".": "i !*\r"
"|": "A | "
"D":kill-line
"C": "Da"
"dw": kill-word
"dd": kill-whole-line
"db": backward-kill-word
"cc": "ddi"
"cw": "dwi"
"cb": "dbi"
"daw": "lbdW"
"yaw": "lbyW"
"caw": "lbcW"
"diw": "lbdw"
"yiw": "lbyw"
"ciw": "lbcw"
"da\"": "lF\"df\""
"di\"": "lF\"lmtf\"d`t"
"ci\"": "di\"i"
"ca\"": "da\"i"
"da'": "lF'df'"
"di'": "lF'lmtf'd`t"
"ci'": "di'i"
"ca'": "da'i"
"da`": "lF\`df\`"
"di`": "lF\`lmtf\`d`t"
"ci`": "di`i"
"ca`": "da`i"
"da(": "lF(df)"
"di(": "lF(lmtf)d`t"
"ci(": "di(i"
"ca(": "da(i"
"da)": "lF(df)"
"di)": "lF(lmtf)d`t"
"ci)": "di(i"
"ca)": "da(i"
"da{": "lF{df}"
"di{": "lF{lmtf}d`t"
"ci{": "di{i"
"ca{": "da{i"
"da}": "lF{df}"
"di}": "lF{lmtf}d`t"
"ci}": "di}i"
"ca}": "da}i"
"da[": "lF[df]"
"di[": "lF[lmtf]d`t"
"ci[": "di[i"
"ca[": "da[i"
"da]": "lF[df]"
"di]": "lF[lmtf]d`t"
"ci]": "di]i"
"ca]": "da]i"
"da<": "lF<df>"
"di<": "lF<lmtf>d`t"
"ci<": "di<i"
"ca<": "da<i"
"da>": "lF<df>"
"di>": "lF<lmtf>d`t"
"ci>": "di>i"
"ca>": "da>i"
"gg": beginning-of-history
"G": end-of-history
?: reverse-search-history
/: forward-search-history
@erikmchut
Copy link
Author

This allows standard emacs navigation commands, Ctrl-arrow word navigation, vi-command mode with ESC, and vim 'i' commands like ciw (Change inner word)

@timonson
Copy link

Love this @erikmchut !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment