summaryrefslogtreecommitdiff
path: root/bashrc
blob: 808202d932fe32973e9d6163b79a5ebd68e49c58 (plain) (blame)
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# dotfiles -- bashrc
# author: johannst

#{{{ general

if [ "$TERM" == "screen" ]; then export TERM=screen-256color; fi
if [ "$TERM" == "xterm" ]; then export TERM=xterm-256color; fi

# disable sticky mode
stty -ixon

# disable ctrl-d logoff
set -o ignoreeof on

# remove permissions for others when creating file/folder
umask 0027

function kbus {
	setxkbmap us
}

function kbde {
	setxkbmap de
}

#}}}
#{{{  bash mode

# list current readline mappings
# bind -p

function vimode {
	set -o vi
	bind -m vi-insert '"jj":vi-movement-mode'
	bind -m vi-insert 'Control-l:clear-screen'
	bind -m vi-command '"diw":"bdw"'
	bind -m vi-command 'Control-a:beginning-of-line'
	bind -m vi-command 'Control-e:end-of-line'
	bind -m vi-insert 'Control-a:beginning-of-line'
	bind -m vi-insert 'Control-e:end-of-line'
	bind -m vi-command '"v":""'   # disable opening tmp file
}

function normalmode {
	set -o emacs
}

# default mode
vimode

#}}}
#{{{ alias

alias ls='ls --color=auto -h'
alias ll='ls -lF'
alias la='ls -AF'
alias grep='grep --color=auto'
alias pstree="pstree -achpG ${USER}"

#}}}
#{{{ color definition

BCol_NoColor='\e[m'
BCol_DarkRed='\e[38;5;88m'
BCol_DarkOrange='\e[38;5;202m'
BCol_LightOrange='\e[38;5;208m'
#BCol_LightGray='\e[38;5;7m'
BCol_Yellow='\e[38;5;226m'
BCol_LightBlue='\e[38;5;74m'
BCol_BlueGray='\e[38;5;67m'
BCol_YellowOrange='\e[38;5;214m'

BCol_BrightRed='\e[38;5;196m'
BCol_DarkGray='\e[38;5;242m'
BCol_MediumGray='\e[38;5;246m'
BCol_LightGray='\e[38;5;252m'
BCol_DarkBlue='\e[38;5;26m'

BCol_BrightGreen='\e[38;5;40m'

#}}}
#{{{ bash prompt

#export PS1="[\s] \[${BCol_DarkRed}\]::\[${BCol_DarkOrange}\]\u\[${BCol_DarkRed}\]::\[${BCol_LightOrange}\]\H\[${BCol_LightGray}\]:$(tty) - \[${BCol_Yellow}\]\t\[${BCol_LightGray}\] - \[${BCol_LightBlue}\]\w\n\[${BCol_NoColor}\][\[${BCol_YellowOrange}\]\${?}\[${BCol_NoColor}\]] \[${BCol_BlueGray}\]>>\[${BCol_NoColor}\] "
# \s shell type
#export PS1="\[${BCol_BrightRed}\]::\[${BCol_MediumGray}\]\u\[${BCol_BrightRed}\]::\[${BCol_LightGray}\]\H\[${BCol_BrightRed}\]:\[${BCol_DarkGray}\]$(tty) \[${BCol_LightGray}\] - \[${BCol_DarkBlue}\]\w\n\
#\[${BCol_NoColor}\][\[${BCol_BrightGreen}\]\${?}\[${BCol_NoColor}\]] \$>\[${BCol_NoColor}\] "

#✓
#✗
function return_val_formater() {
	local ret=$1
	local ret_str
	if [[ $ret == 0 ]]; then
		ret_str='${BCol_BrightGreen}';
	else
		ret_str='${BCol_BrightRed}';
	fi
	ret_str+="$ret${BCol_NoColor}"
	echo -e "$ret_str";
}

function pwd_formater() {
	local pwd=$1
	local ret_str=$(echo $pwd | sed "s#[^A-Za-z]\+#\\${BCol_BrightRed}/\\${BCol_DarkBlue}#")
	echo -e "$ret_str";
}

export PS1="\[${BCol_BrightRed}\]::\[${BCol_MediumGray}\]\u\[${BCol_BrightRed}\]::\[${BCol_LightGray}\]\H\[${BCol_BrightRed}\]:\[${BCol_DarkGray}\]$(tty) \[${BCol_LightGray}\] - \[${BCol_DarkBlue}\]\w\n\
\[${BCol_NoColor}\][\$(ret=\$?; if [[ \$ret == 0 ]]; then echo \"\[${BCol_BrightGreen}\]\$ret\"; else echo \"\[${BCol_BrightRed}\]\$ret\"; fi)\[${BCol_NoColor}\]] \$> "

export PROMPT_COMMAND="echo -e ''"

#}}}
#{{{ ls colors

export LS_COLORS='di=94:ln=96:or=96;41:so=0:pi=0:ex=01;92:bd=0;42:cd=0;42:su=0:sg=0:tw=30;44:ow=30;44'

#}}}