Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
# _______ _______ _______ ______ __ __ __
# | __| | | | | | __ \-----.---.-.--| | |__|-----.-----.
# | | | | | | | < -__| _ | _ | | | | -__|
# |_______|__|____|_______| |___|__|_____|___._|_____|__|__|__|__|_____|
# guns <>
### Variables
# diff -U3 <(INPUTRC=/dev/null bash -c "bind -v") <(bash -c "bind -v")
# set bind-tty-special-chars on #
set blink-matching-paren off
# set byte-oriented off
set colored-completion-prefix on
set colored-stats on
set completion-ignore-case on
# set completion-map-case off
# set convert-meta off
# set disable-completion off
# set echo-control-characters on
# set enable-bracketed-paste on
# set enable-keypad off
# set enable-meta-key on
# set expand-tilde off
# set history-preserve-point off
# set horizontal-scroll-mode off
# set input-meta on
# set mark-directories on
# set mark-modified-lines off
set mark-symlinked-directories on
# set match-hidden-files on
# set menu-complete-display-prefix off
# set meta-flag on
# set output-meta on
set page-completions off
# set prefer-visible-bell on
# set print-completions-horizontally off
# set revert-all-at-newline off
set show-all-if-ambiguous on
set show-all-if-unmodified on
# set show-mode-in-prompt off
set skip-completed-text on
set visible-stats on
# set bell-style audible # Let your terminal convert to `visible`
# set comment-begin #
# set completion-display-width -1
# set completion-prefix-display-length 0
set completion-query-items 256
# set editing-mode emacs
# set emacs-mode-string @
# set history-size 0
# set keymap emacs
set keyseq-timeout 0
# set vi-cmd-mode-string (cmd)
# set vi-ins-mode-string (ins)
### Global Macros
# diff -U3 <(INPUTRC=/dev/null bash -c "bind -p; bind -s") <(bash -c "bind -p; bind -s")
$include ~/.inputrc.d/utf-8
# Rebinds:
# The Unicode table above is parsed by external programs that do not actually
# use readline. For actual interactive programs, we would be sorry to lose the
# following commands:
"\e-": digit-argument
"\e0": digit-argument
"\e1": digit-argument
"\e2": digit-argument
"\e3": digit-argument
"\e4": digit-argument
"\e5": digit-argument
"\e6": digit-argument
"\e7": digit-argument
"\e8": digit-argument
"\e9": digit-argument
"\e!": complete-command
"\e@": complete-hostname
"\e#": insert-comment
"\e$": complete-variable
"\e^": history-expand-line
"\e&": tilde-expand
"\e*": insert-completions
"\e.": insert-last-argument
"\e_": insert-last-argument
# Text editing
"\C-]": kill-whole-line
"\C-xx": exchange-point-and-mark
"\eB": character-search-backward
"\eF": character-search
"\eR": overwrite-mode
"\eu": downcase-word
"\eU": upcase-word
# History
"\C-n": history-search-forward
"\eOB": history-search-forward
"\e[B": history-search-forward
"\C-p": history-search-backward
"\eOA": history-search-backward
"\e[A": history-search-backward
### bash
$if bash
# Rebinds
"\eb": shell-backward-word
"\ef": shell-forward-word
# Meta
"\C-x\C-x": "\C-] [[ \"$(jobs)\" ]] || exec ${BASH:-/bin/bash} \n"
"\033\007r": "\C-] tmuxeval \n"
"\033\007R": "\C-] reset; stty -ixon \n"
"\C-x\\": "\C-] nohist \n"
"\C-x|": "\C-] [[ \"$TMUX\" ]] && tmux set-environment NOHIST $((NOHIST^1)) \n nohist \n"
"\C-x`": "\C-a $(\C-e)\C-a"
"\C-x$": "\C-a "$(\C-e)"\C-a"
"\C-x<": "\C-a <(\C-e)\C-a"
"\C-x\"": "\C-a \"\C-e\"\C-a"
"\C-x'": "\C-a '\C-e'\C-a"
# Redirections
"\C-x0": " &>/dev/null "
"\C-x1": " >/dev/null "
"\C-x2": " 2>/dev/null "
"\C-x3": " 2>&1 "
"\C-x/": "\C-]cd /"
"\C-x\C-_": "\C-] cd - \n"
"\C-x-": "\C-]cd ~/"
"\C-x\C-a": "\C-] cdarchlinux \n"
"\C-xa": "\C-]cdarchlinux "
"\C-xA": "\C-] cdanchors \n"
"\C-xc": "\C-]cdconfig "
"\C-x\C-d": "\C-] cddownloads \n"
"\C-xd": "\C-]cddownloads "
"\C-xD": "\C-]cddesktop "
"\C-xE": "\C-]cd /etc/"
"\C-xG": "\C-]cdgo ; cdf "
"\C-x\C-h": "\C-] cdhaus \n"
"\C-xh": "\C-]cdhaus "
"\C-x\C-l": "\C-] cdlocal \n"
"\C-xl": "\C-]cdlocal "
"\C-xL": "\C-]cdLOCAL "
"\C-xM": "\C-]cdm "
"\C-x\C-n": "\C-] cdnginx \n"
"\C-xn": "\C-]cdnginx "
"\C-x\C-o": "\C-] cddocuments \n"
"\C-xo": "\C-]cddocuments "
"\C-xr": "\C-] cdroot \n"
"\C-x\C-s": "\C-] cdsrc \n"
"\C-xs": "\C-]cdsrc "
"\C-xS": "\C-]cdSRC "
"\C-x\C-t": "\C-] cdtmp \n"
"\C-xt": "\C-]cdtmp "
"\C-xT": "\C-]cd /tmp/"
"\C-xu": "\C-]cdusb "
"\C-x\C-u": "\C-] cdusb \n"
"\C-x\C-v": "\C-] cd /var/ \n"
"\C-xv": "\C-]cd /var/"
"\C-xV": "\C-]cdvimfiles "
"\C-x\C-w": "\C-] cdwww \n"
"\C-xw": "\C-]cdwww "
# Job control
"\033\007p": "\C-] pushd . \n"
"\033\007P": "\C-] popd \n"
"\033\007f": "\C-] fg \n"
"\033\007b": "\C-] bg \n"
# Vim
"\033\007e": "\C-] vim \n"
"\033\007E": "\C-]vimsession \n"
"\C-xe ": "\C-]vim "
"\C-xee": "\C-] vim \n"
"\C-xf": "\C-]vimfind "
"\033\007F": "\C-] vimfind \n"
"\033\007o": "\C-] vimopen \n"
"\033\007t": "\C-] vimopen \n"
"\C-xm": "\C-]man "
"\C-xea": "\C-] vimautocommands \n"
"\C-xeA": "\C-] vimabook \n"
"\C-xeb": "\C-] vimbashinteractive \n"
"\C-xeB": "\C-] vimbashrc \n"
"\C-xec": "\C-] vimcommands \n"
"\C-xed": "\C-] vimdnsmasq \n"
"\C-xeD": "\C-] vimdnscrypt \n"
"\C-xef": "\C-] vimfstab \n"
"\C-xege": "\C-] vimgitexclude \n"
"\C-xegs": "\C-] vimgitsparsecheckout \n"
"\C-xeh": "\C-] vimbashhistory \n"
"\C-xeH": "\C-] vimhosts \n"
"\C-xei": "\C-] vimiptables \n"
"\C-xeI": "\C-] vimipset \n"
"\C-xem": "\C-] vimmappings \n"
"\C-xeM": "\C-] vimmuttrc \n"
"\C-xen": "\C-] vimnginx \n"
"\C-xeo": "\C-] vimorg \n"
"\C-xep": "\C-] vimpacman \n"
"\C-xeR": "\C-] vimhausrakefile \n"
"\C-xes": "\C-] vimscratch \n"
"\C-xeS": "\C-] vimsshconfig \n"
"\C-xet": "\C-] vimtodo \n"
"\C-xeT": "\C-] vimtmux \n"
"\C-xeu": "\C-] vimunicode \n"
"\C-xev": "\C-] vimrc \n"
"\C-xew": "\C-] vimwm \n"
"\C-xeW": "\C-] vimwireguard \n"
"\C-xex": "\C-] vimxinitrc \n"
"\C-xeX": "\C-] vimxdefaults \n"
"\C-xg ": "\C-]git "
"\C-xg1": "\C-] git l1 \n"
"\C-xg.": "\C-] git di . \n"
"\C-xga.": "\C-] git a . \n"
"\C-xgaa": "\C-] git aa \n"
"\C-xgac": "\C-] git acv \n"
"\C-xgap": "\C-] git ap \n"
"\C-xgaw.": "\C-] git aw . \n"
"\C-xgawa": "\C-] git aw \"$(git rev-parse --show-toplevel)\" \n"
"\C-xgb": "\C-]vim -c 'Gblame -M -C -C -C -w' "
"\C-xgB": "\C-]vim -c Gbrowse "
"\C-xgc.": "\C-] git cv . \n"
"\C-xgca": "\C-] git cav \n"
"\C-xgcA": "\C-] git cva \n"
"\C-xgcc": "\C-] git cv \n"
"\C-xgcv": "\C-] git cv \n"
"\C-xgd": "\C-] git di \n"
"\C-xgD": "\C-]git di "
"\C-xgf": "\C-] git f \n"
"\C-xgF": "\C-] git ff \n"
"\C-xgg": "\C-] git st \n"
"\C-xgl": "\C-] git lp \n"
"\C-xgL": "\C-] git lfp \n"
"\C-xgp": "\C-] git pull \n"
"\C-xgP": "\C-] git push \n"
"\C-xgr": "\C-] git rs \n"
"\C-xgs": "\C-] git stash --include-untracked \n"
"\C-xgS": "\C-] git stash pop \n"
"\C-xg\es": "\C-] git stash list --patch \n"
"\C-xgu": "\C-] git fetch origin --tags --prune \n"
"\C-xgU": "\C-] git up \n"
"\C-xgv": "\C-] gitv \n"
"\C-xgV": "\C-]gitv "
"\C-xgw": "\C-] git wdi \n"
"\C-xgW": "\C-] git wlp \n"
"\033\007g": "\C-] vimgit \n"
"\033\007G": "\C-]vim .gitignore -c \"Ggrep -i \"\C-b"
# Ack
"\033\007A": "\C-]vim -c \"Ack \"\C-b"
"\033\007i": "\C-] irb \n"
"\033\007I": "\C-] pry \n"
# ncdu
"\033\007d": "\C-] ncdu \n"
"\033\007D": "\C-] ncdu -x \n"
# X
"\C-xX": "\C-] ((EUID)) && [[ ! $WINDOWID ]] && exec startx \n"
# password-store
"\C-xp": "\C-]passclip "
"\C-xP": "\C-]passqrshow "
# Window title
"\033\007,": "\C-] xecho title \"${PWD##*/}\" \n"
# notify
"\033\007\r": "\C-e; n\n"
### gdb
$if gdb
# Arrow
"\C-l": "->"
"\C-x\C-l": clear-screen
### pry / irb
$if ruby
# Re-exec (see above)
"\C-x\C-x": "\C-] exec $0 \n"
# Parens
"\C-x(": "\C-a(\C-e)\C-a"
"\C-x)": "\C-a(\C-e)"
# Hashrocket
"\C-l": " => "
"\C-x\C-l": clear-screen
# Load files
"\C-xl": "\C-]load ''\C-b"
"\C-xr": "\C-]require ''\C-b"
# interactive_editor / pry edit
"\033\007e": "\C-] edit \n"
"\C-x\C-e": "\C-] edit \n"
"\C-xe": "\C-]edit "
# Pry
"\C-xd": "\C-ashow-doc "
"\C-xs": "\C-ashow-source "
# toggle_verbose_numbers
"\033\007t": "\C-] toggle_verbose_numbers \n"
### Clojure REPL
$if java
# Documentation
"\C-xf": "\C-](find-doc "")\C-b\C-b"
"\C-xs": "\C-](source )\C-b"
# Loading
"\C-xl": "\C-](load-file "")\C-b\C-b"
### J REPL
$if jconsole
"\C-xi": "\C-]'install' jpkg ''\C-b"
"\C-xs": "\C-]'search' jpkg ''\C-b
"\C-xu": "\C-]'update' jpkg ''"
"\C-xl": "\C-]load ''\C-b"
"\C-xr": "\C-]require ''\C-b"
### PostgreSQL
$if psql
"\C-x\C-l": clear-screen
"\033\007\r": "\C-e ; \n"
# General
"\033\007E": "\C-] \\errverbose \n"
"\033\007g": "\C-e \\g \n"
"\C-xg": "\C-e\\g "
"\033\007\\": "\C-] \\q \n"
"\033\007|": "\C-] \\q \n"
"\C-xC": "\C-e\\crosstabview "
"\C-xW": "\C-e\\watch "
# Help
"\033\007/": "\C-] \\? \n"
"\033\007?": "\C-] \\? variables \n"
"\C-xh": "\C-]\\h "
# Query Buffer
"\033\007e": "\C-e \\e \n"
"\C-x\C-e": "\C-e \\e \n"
"\C-xe": "\C-e\\e "
"\033\007p": "\C-] \\p \n"
"\033\007r": "\C-] \\r \n"
"\033\007s": "\C-] \\s \n"
"\C-xw": "\C-e \\w "
# Input/Output
"\C-xe": "\C-]\\echo "
"\C-xir": "\C-]\\i "
"\C-xo": "\C-]\\o "
"\C-xq": "\C-]\\qecho "
# Informational
"\033\007d": "\C-] \\dt+ \n"
"\C-xd ": "\C-]\\d+ "
"\C-xda": "\C-] \\da+ \n"
"\C-xdA": "\C-] \\dA+ \n"
"\C-xdb": "\C-] \\db+ \n"
"\C-xdc": "\C-] \\dc+ \n"
"\C-xdC": "\C-] \\dC+ \n"
"\C-xddd": "\C-] \\dd+ \n"
"\C-xddp": "\C-] \\ddp+ \n"
"\C-xdD": "\C-] \\dD+ \n"
"\C-xdet": "\C-] \\det+ \n"
"\C-xdes": "\C-] \\des+ \n"
"\C-xdeu": "\C-] \\deu+ \n"
"\C-xdew": "\C-] \\dew+ \n"
"\C-xdf": "\C-] \\df+ \n"
"\C-xdFF": "\C-] \\dF+ \n"
"\C-xdFd": "\C-] \\dFd+ \n"
"\C-xdFp": "\C-] \\dFp+ \n"
"\C-xdFt": "\C-] \\dFt+ \n"
"\C-xdg": "\C-] \\dg+ \n"
"\C-xdi": "\C-] \\di+ \n"
"\C-xdl": "\C-] \\dl+ \n"
"\C-xdL": "\C-] \\dL+ \n"
"\C-xdn": "\C-] \\dn+ \n"
"\C-xdo": "\C-] \\do+ \n"
"\C-xdO": "\C-] \\dO+ \n"
"\C-xdp": "\C-] \\dp+ \n"
"\C-xdr": "\C-] \\drds+ \n"
"\C-xds": "\C-] \\ds+ \n"
"\C-xdt": "\C-] \\dt+ \n"
"\C-xdT": "\C-] \\dT+ \n"
"\C-xdu": "\C-] \\du+ \n"
"\C-xdv": "\C-] \\dv+ \n"
"\C-xdE": "\C-] \\dE+ \n"
"\C-xdx": "\C-] \\dx+ \n"
"\C-xdy": "\C-] \\dy+ \n"
"\033\007l": "\C-] \\l+ \n"
"\C-xsf": "\C-]\\sf+ "
"\C-xsv": "\C-]\\sv+ "
"\033\007z": "\C-] \\z \n"
# Formatting
"\C-x\C-a": "\C-] \\a \n"
"\C-xf": "\C-]\\f "
"\C-x\C-h": "\C-] \\H \n"
"\C-xp": "\C-]\\pset "
"\C-x\C-t": "\C-] \\t \n"
"\C-x\C-x": "\C-] \\x \n"
"\033\007x": "\C-] \\x \n"
# Connection
"\C-xc": "\C-]\\connect "
"\C-xE": "\C-]\\encoding "
"\C-xP": "\C-]\\password "
"\033\007C": "\C-] \\conninfo \n"
# Operating System
"\C-xse": "\C-]\\setenv "
"\033\007t": "\C-] \\timing \n"
"\C-x!": "\C-]\\! "
# Variables
"\C-xS": "\C-]\\set "
"\C-xU": "\C-]\\unset "
# Large Objects
"\C-xle": "\C-]\\lo_export "
"\C-xli": "\C-]\\lo_import "
"\C-xll": "\C-] \\lo_list \n"
"\C-xlu": "\C-]\\lo_unlink "
### Mysql
$if mysql
"\033\007e": "\C-]\\e\n"
"\C-x\C-d": "\C-]show databases;\n"
"\C-x\C-f": "\C-]flush privileges;\n"
"\C-x\C-t": "\C-]show table status;\n"
"\C-xh": "\C-]\\h "
"\C-xu": "\C-]\\u "
"\C-xs": "\C-]SELECT "