summaryrefslogtreecommitdiff
path: root/config/bash/bashrc
blob: 8396d9f5eb8e39277456d28c147b6da8d478b502 (plain)
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
set -o vi
# `set show-mode-in-prompt on` is not set,
# indicating vi mode in bash is too slow

# Ctrl-l is disabled in vi mode, bind it manually
bind -m vi-command '"\C-l": clear-screen'
bind -m vi-insert  '"\C-l": clear-screen'

stty -ixon        # Disable ctrl-s and ctrl-q for freezing prompt
shopt -s autocd   # Automatically cd into typed directory

PS1='\[\e[01;31m\]$(code=$?; [ "$code" -ne 0 ] && echo "[${code}] ")\[\e[00m\]\[\e[01;34m\]\u\[\e[00m\]@\H \w % '

if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ];then
	source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc"
else
	# Fallback aliases where aliasrc isn't present (e.g., on servers)
	alias \
		vi="vim"         \
		vi="nvim"        \
		clear="clear -x"

fi

if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/functionrc" ];then
	source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/functionrc"
	bind '"\C-o": "\C-ulfcd\n"'
fi