The aptly named.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

124 lines
3.8 KiB

export EDITOR=vim
set -o vi
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# Get our git stuff
source ~/code/dotfiles/git-completion.sh
source ~/code/dotfiles/git-prompt.sh
export PROMPT_DIRTRIM=2
# Prompt colors
BGREEN='\[\033[1;32m\]'
GREEN='\[\033[0;32m\]'
BRED='\[\033[1;31m\]'
BPURPLE='\e[1;36m'
PURPLE='\e[0;36m'
RED='\[\033[0;31m\]'
CYAN='\[\033[0;36m\]'
LCYAN='\[\033[1;36m\]'
BBLUE='\[\033[1;34m\]'
BLUE='\[\033[0;34m\]'
GREY='\[033[0;37m\]'
DGREY='\[033[1;30m\]'
NORMAL='\[\033[00m\]'
# Prompt vars
TIME="\@"
HOST="\h"
CWD="\w"
PUID="\$"
GIT="\$(__git_ps1)"
# Prompt display line
PS1="${BLUE}(${GREEN}${CWD}${BLUE}) ${NORMAL}${HOST}${BRED}${GIT}${NORMAL} [$?${NORMAL}]${GREEN} ${PUID}${NORMAL} "
# Set VI mode display in prompt
bind "set vi-cmd-mode-string \"\1\e[1;30m\2:\1\e[0m\2\""
bind "set vi-ins-mode-string \"\1\e[0;36m\2+\1\e[0m\2\""
bind "set show-mode-in-prompt on"
alias ls='ls -G'
#mah aliases, son
alias atr0phy='ssh -D 3333 -C br4n@atr0phy.net'
alias at0rphy='ssh -L 9050:127.0.0.1:9050 br4n@atr0phy.net'
alias evoluent='xinput --set-button-map 14 3 1 1 4 5 7 8 9 0 10 11'
alias cls='clear && ls'
alias notes="vim +VimwikiIndex"
alias tmpvim="vim /tmp/$(uuid)"
alias snip="scrot -s ~/Documents/screenshots/%b%d-%H:%M.png"
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
# add this configuration to ~/.bashrc
export HH_CONFIG=hicolor # get more colors
shopt -s histappend # append new history items to .bash_history
export HISTCONTROL=ignorespace # leading space hides commands from history
export HISTFILESIZE=10000 # increase history file size (default is 500)
export HISTSIZE=${HISTFILESIZE} # increase history size (default is 500)
export PROMPT_COMMAND="history -a; history -n; ${PROMPT_COMMAND}" # mem/file sync
# if this is interactive shell, then bind hh to Ctrl-r
bind '"\C-r": "hh\n"'
export NVM_DIR="/home/brandon.cornejo/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
# Clipboard jazz
# A shortcut function that simplifies usage of xclip.
# - Accepts input from either stdin (pipe), or params.
# ------------------------------------------------
cb() {
local _scs_col="\e[0;32m"; local _wrn_col='\e[1;31m'; local _trn_col='\e[0;33m'
# Check that xclip is installed.
if ! type xclip > /dev/null 2>&1; then
echo -e "$_wrn_col""You must have the 'xclip' program installed.\e[0m"
# Check user is not root (root doesn't have access to user xorg server)
elif [[ "$USER" == "root" ]]; then
echo -e "$_wrn_col""Must be regular user (not root) to copy a file to the clipboard.\e[0m"
else
# If no tty, data should be available on stdin
if ! [[ "$( tty )" == /dev/* ]]; then
input="$(< /dev/stdin)"
# Else, fetch input from params
else
input="$*"
fi
if [ -z "$input" ]; then # If no input, print usage message.
echo "Copies a string to the clipboard."
echo "Usage: cb <string>"
echo " echo <string> | cb"
else
# Copy input to clipboard
echo -n "$input" | xclip -selection c
# Truncate text for status
if [ ${#input} -gt 80 ]; then input="$(echo $input | cut -c1-80)$_trn_col...\e[0m"; fi
# Print status.
echo -e "$_scs_col""Copied to clipboard:\e[0m $input"
fi
fi
}
# Aliases / functions leveraging the cb() function
# ------------------------------------------------
# Copy contents of a file
function cbf() { cat "$1" | cb; }
# Copy SSH public key
alias cbssh="cbf ~/.ssh/id_rsa.pub"
# Copy current working directory
alias cbwd="pwd | cb"
# Copy most recent command in bash history
alias cbhs="cat $HISTFILE | tail -n 1 | cb"
# ASCII ART GOODNESS
echo -e "$(<~/.motd)"
# Search command history
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'