Initial commit of very basic dotfiles
This commit is contained in:
@@ -0,0 +1 @@
|
||||
alias lsa='ls -hal --color=tty'
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# returns the active git branch - this is used in rewrite_prompt()
|
||||
git_branch()
|
||||
{
|
||||
git branch --no-color 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(branch: \1)/'
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
|
||||
##################################################
|
||||
# Fancy PWD display function
|
||||
##################################################
|
||||
# The home directory (HOME) is replaced with a ~
|
||||
# The last pwdmaxlen characters of the PWD are displayed
|
||||
# Leading partial directory names are striped off
|
||||
# /home/me/stuff -> ~/stuff if username=me
|
||||
# /usr/share/big_dir_name -> ../share/big_dir_name if pwdmaxlen=20
|
||||
##################################################
|
||||
rewrite_pwd()
|
||||
{
|
||||
# how many characters of the $PWD should be kept
|
||||
local pwdmaxlen=25
|
||||
|
||||
# indicate that there has been dir truncation
|
||||
local trunc_symbol=".."
|
||||
local dir=${PWD##*/}
|
||||
|
||||
pwdmaxlen=$(( ( pwdmaxlen < ${#dir} ) ? ${#dir} : pwdmaxlen ))
|
||||
|
||||
NEW_PWD=${PWD/$HOME/~}
|
||||
|
||||
local pwdoffset=$(( ${#NEW_PWD} - pwdmaxlen ))
|
||||
|
||||
if [ ${pwdoffset} -gt "0" ]
|
||||
then
|
||||
NEW_PWD=${NEW_PWD:$pwdoffset:$pwdmaxlen}
|
||||
NEW_PWD=${trunc_symbol}/${NEW_PWD#*/}
|
||||
fi
|
||||
}
|
||||
|
||||
# rewrites the PS1 bash prompt var
|
||||
rewrite_prompt()
|
||||
{
|
||||
local NONE='\[\033[0m\]' # unsets color to term's fg color
|
||||
|
||||
# regular colors
|
||||
local K='\[\033[0;30m\]' # black
|
||||
local R='\[\033[0;31m\]' # red
|
||||
local G='\[\033[0;32m\]' # green
|
||||
local Y='\[\033[0;33m\]' # yellow
|
||||
local B='\[\033[0;34m\]' # blue
|
||||
local M='\[\033[0;35m\]' # magenta
|
||||
local C='\[\033[0;36m\]' # cyan
|
||||
local W='\[\033[0;37m\]' # white
|
||||
|
||||
# empahsized (bolded) colors
|
||||
local EMK='\[\033[1;30m\]'
|
||||
local EMR='\[\033[1;31m\]'
|
||||
local EMG='\[\033[1;32m\]'
|
||||
local EMY='\[\033[1;33m\]'
|
||||
local EMB='\[\033[1;34m\]'
|
||||
local EMM='\[\033[1;35m\]'
|
||||
local EMC='\[\033[1;36m\]'
|
||||
local EMW='\[\033[1;37m\]'
|
||||
|
||||
# background colors
|
||||
local BGK='\[\033[40m\]'
|
||||
local BGR='\[\033[41m\]'
|
||||
local BGG='\[\033[42m\]'
|
||||
local BGY='\[\033[43m\]'
|
||||
local BGB='\[\033[44m\]'
|
||||
local BGM='\[\033[45m\]'
|
||||
local BGC='\[\033[46m\]'
|
||||
local BGW='\[\033[47m\]'
|
||||
|
||||
local UC=$C # username's color
|
||||
[ $UID -eq "0" ] && UC=$R # root's color
|
||||
|
||||
# rewrite prompt
|
||||
PS1="${G}\u@\h> \${NEW_PWD} ${C}\$(git_branch)\${NONE}${NONE}\n$ "
|
||||
}
|
||||
|
||||
# adds ~/.ssh/config to the ssh autocomplete
|
||||
ssh_load_autocomplete()
|
||||
{
|
||||
complete -W "$(awk '/^\s*Host\s*/ { sub(/^\s*Host /, ""); print; }' ~/.ssh/config)" ssh
|
||||
}
|
||||
|
||||
# adds Git autocompletion
|
||||
if [ -f ~/.bin/git-completion.bash ]; then
|
||||
. ~/.bin/git-completion.bash
|
||||
fi
|
||||
|
||||
PROMPT_COMMAND=rewrite_pwd
|
||||
rewrite_prompt
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
# General settings
|
||||
export EDITOR=vim
|
||||
export CLICOLOR=1
|
||||
|
||||
# Prefer the Queen's English and use UTF-8.
|
||||
export LC_ALL='en_GB.UTF-8';
|
||||
export LANG='en_GB';
|
||||
|
||||
# don't put duplicate lines in the history
|
||||
export HISTCONTROL=ignoredups
|
||||
|
||||
# let the history ignore the following commands
|
||||
export HISTIGNORE="ls:ll:la:pwd:clear:h:j"
|
||||
|
||||
# append to the history file rather than overwriting
|
||||
shopt -s histappend
|
||||
shopt -s nocaseglob;
|
||||
Reference in New Issue
Block a user