-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.inputrc
96 lines (75 loc) · 2.85 KB
/
.inputrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# shellcheck shell=bash
# https://www.gnu.org/software/bash/manual/html_node/Bindable-Readline-Commands.html
# https://www.gnu.org/software/bash/manual/bash.html#Bindable-Readline-Commands (one-pager)
# https://www.computerhope.com/unix/bash/bind.htm
# bind -P List current readline function names and bindings.
# bind -p Display readline function names and bindings in such a way that they can be re-read.
# Use vi mode instead of emacs mode
# Can also be done via "set -o vi" / "set -o emacs" in shell/.bashrc/.bash_profile
set editing-mode vi
set keymap vi-insert
# Switch to vi normal mode
"\C-v": vi-movement-mode
# stty binds some shortcuts by default so that they cannot be rebound (view them with "stty -a")
set bind-tty-special-chars off
# Make Tab autocomplete regardless of filename case
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 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
# 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 the text that has already been typed as the prefix for searching through
# commands (i.e. more intelligent Up/Down behavior)
# Down/Up
"\e[B": history-search-forward
"\e[A": history-search-backward
# Ctrl+J/K
"\C-j": history-search-forward
"\C-k": history-search-backward
# Use Alt+Delete to delete the preceding word
"\e\C-?": backward-kill-word
"\C-u": kill-whole-line
# Ctrl+Left/Right
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
# Alt+H/L
"\eh": backward-word
"\el": forward-word
# Ctrl+H/L
"\C-h": backward-char
"\C-l": forward-char
# Ctrl+A/E
"\C-a": beginning-of-line
"\C-e": end-of-line
# Expand alias with Ctrl+X
"\C-x": alias-expand-line
# Undo with Alt+<; found no way for redo in bash
"\e<": undo
# Paste text (yank is a poor word choice in bash)
"\C-p": yank
# Repeat last argument with Alt+.
"\e.": yank-last-arg
# Reload shell with Alt+Shift+R
"\eR": "\C-ureload\C-m"