summaryrefslogtreecommitdiff
path: root/config/bash/bashrc
blob: f143fd2278b26fd3b9ee09bc843df5adddf0cdc9 (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