-
Notifications
You must be signed in to change notification settings - Fork 0
/
.bashrc
88 lines (78 loc) · 3 KB
/
.bashrc
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
[ -z "$PS1" ] && return
shopt -s globstar
shopt -s histappend
shopt -s checkwinsize
shopt -s cmdhist
shopt -s promptvars
set -o noclobber
set -o vi
set +H
MACHINE="$(cat "$XDG_CONFIG_HOME/dotfiles/machine")"
export PROMPT_DIRTRIM=4
function my_set_prompt {
CODE="$?"
if [ "$CODE" = "0" ]
then
echo -e "\e[32m$(date -u +"%Y-%m-%dT%H:%M:%SZ")\e[0m"
else
echo -e "\e[31m$(date -u +"%Y-%m-%dT%H:%M:%SZ") Error: $CODE\e[0m"
fi
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
if [ "$?" = "0" ]
then
if [ -z "$(git status --short 2>/dev/null)" ]
then
COLOR="\[\033[01;32m\]"
else
COLOR="\[\033[01;31m\]"
fi
export PS1="\u@\h:\w $COLOR$BRANCH\[\033[00m\]\$ "
else
export PS1="\u@\h:\w\$ "
fi
}
export PROMPT_COMMAND=my_set_prompt
export HISTTIMEFORMAT='%F %T '
export HISTCONTROL="ignoreboth"
export HISTFILESIZE=1000000
export HISTSIZE=1000000
if [ "$TERM" != "dumb" ]
then
eval $(dircolors --bourne-shell "$HOME/.dircolors")
fi
export LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:"
export GPG_TTY="$(tty)"
if [ -n "$TMUX" ]
then
settitle "$(basename "$(pwd)")"
else
settitle "$MACHINE"
fi
export MARKPATH=$HOME/.marks
function jump {
mkdir --parents "$MARKPATH"
cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1"
}
function mark {
mkdir --parents "$MARKPATH"
ln -s "$(pwd)" "$MARKPATH/$1"
}
function unmark {
mkdir --parents "$MARKPATH"
rm -i "$MARKPATH/$1"
}
function marks {
mkdir --parents "$MARKPATH"
ls -l "$MARKPATH" | sed 's/ / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo
}
source "$HOME/.bash_aliases"
source /usr/share/doc/fzf/examples/key-bindings.bash
if [ -n "$TMUX" ]
then
function cd {
command cd "$@"
. lang autoload
}
. lang autoload
fi
stty -ixon