From 340bbb0f8c297161ac27ad266bb284a82a0d6a42 Mon Sep 17 00:00:00 2001 From: steveokard Date: Sat, 2 Sep 2017 15:44:29 -0400 Subject: [PATCH] just about done... --- .zsh/aliases.zsh | 4 +- .zsh/extract.zsh | 20 +++++++++ .zsh/ff.zsh | 4 ++ .zsh/tmux.extra.conf | 2 + .zsh/tmux.only.conf | 1 + .zsh/tmux.plugin.zsh | 103 +++++++++++++++++++++++++++++++++++++++++++ .zshrc | 6 +-- 7 files changed, 135 insertions(+), 5 deletions(-) create mode 100644 .zsh/extract.zsh create mode 100644 .zsh/ff.zsh create mode 100644 .zsh/tmux.extra.conf create mode 100644 .zsh/tmux.only.conf create mode 100644 .zsh/tmux.plugin.zsh diff --git a/.zsh/aliases.zsh b/.zsh/aliases.zsh index 345cdee..3ab9b0a 100644 --- a/.zsh/aliases.zsh +++ b/.zsh/aliases.zsh @@ -23,7 +23,7 @@ mcd() { mkdir -p "$1"; cd "$1";} #make a directory and cd into it cls() { cd "$1"; ls;} #cd into directory and list contents md5check() { md5sum "$1" | grep "$2";} #md5sum file, compare to md5sum as second parameter #ssh aliases -alias ssh-agent="eval `ssh-agent -s`" +alias sagent="eval `ssh-agent`" #Command Replacement aliases -alias less='less -imJMW' \ No newline at end of file +alias less='less -imJMW' diff --git a/.zsh/extract.zsh b/.zsh/extract.zsh new file mode 100644 index 0000000..31d1182 --- /dev/null +++ b/.zsh/extract.zsh @@ -0,0 +1,20 @@ +extract() { + if [ -f $1 ] ; then + case $1 in + *.tar.bz2) tar xjf $1 ;; + *.tar.gz) tar xzf $1 ;; + *.bz2) bunzip2 $1 ;; + *.rar) unrar e $1 ;; + *.gz) gunzip $1 ;; + *.tar) tar xf $1 ;; + *.tbz2) tar xjf $1 ;; + *.tgz) tar xzf $1 ;; + *.zip) unzip $1 ;; + *.Z) uncompress $1 ;; + *.7z) 7z x $1 ;; + *) echo "'$1' cannot be extracted via extract()" ;; + esac + else + echo "'$1' is not a valid file" + fi +} diff --git a/.zsh/ff.zsh b/.zsh/ff.zsh new file mode 100644 index 0000000..583d43a --- /dev/null +++ b/.zsh/ff.zsh @@ -0,0 +1,4 @@ +# Find a file with a pattern in name: +#-------------------------------------------------------------------- +function ff() { find . -type f -iname '*'"$*"'*' -ls ; } + diff --git a/.zsh/tmux.extra.conf b/.zsh/tmux.extra.conf new file mode 100644 index 0000000..beffd38 --- /dev/null +++ b/.zsh/tmux.extra.conf @@ -0,0 +1,2 @@ +set -g default-terminal $ZSH_TMUX_TERM +source $HOME/.tmux.conf diff --git a/.zsh/tmux.only.conf b/.zsh/tmux.only.conf new file mode 100644 index 0000000..0734df3 --- /dev/null +++ b/.zsh/tmux.only.conf @@ -0,0 +1 @@ +set -g default-terminal $ZSH_TMUX_TERM diff --git a/.zsh/tmux.plugin.zsh b/.zsh/tmux.plugin.zsh new file mode 100644 index 0000000..da1fc7f --- /dev/null +++ b/.zsh/tmux.plugin.zsh @@ -0,0 +1,103 @@ +# +# Aliases +# + +alias ta='tmux attach -t' +alias tad='tmux attach -d -t' +alias ts='tmux new-session -s' +alias tl='tmux list-sessions' +alias tksv='tmux kill-server' +alias tkss='tmux kill-session -t' + +# Only run if tmux is actually installed +if which tmux &> /dev/null + then + # Configuration variables + # + # Automatically start tmux +if [[ -n "$SSH_CLIENT" ]] +then + [[ -n "$ZSH_TMUX_AUTOSTART" ]] || ZSH_TMUX_AUTOSTART=true +else + [[ -n "$ZSH_TMUX_AUTOSTART" ]] || ZSH_TMUX_AUTOSTART=false +fi + # Only autostart once. If set to false, tmux will attempt to + # autostart every time your zsh configs are reloaded. + [[ -n "$ZSH_TMUX_AUTOSTART_ONCE" ]] || ZSH_TMUX_AUTOSTART_ONCE=true + # Automatically connect to a previous session if it exists + [[ -n "$ZSH_TMUX_AUTOCONNECT" ]] || ZSH_TMUX_AUTOCONNECT=true + # Automatically close the terminal when tmux exits + [[ -n "$ZSH_TMUX_AUTOQUIT" ]] || ZSH_TMUX_AUTOQUIT=$ZSH_TMUX_AUTOSTART + # Set term to screen or screen-256color based on current terminal support + [[ -n "$ZSH_TMUX_FIXTERM" ]] || ZSH_TMUX_FIXTERM=true + # Set '-CC' option for iTerm2 tmux integration + [[ -n "$ZSH_TMUX_ITERM2" ]] || ZSH_TMUX_ITERM2=false + # The TERM to use for non-256 color terminals. + # Tmux states this should be screen, but you may need to change it on + # systems without the proper terminfo + [[ -n "$ZSH_TMUX_FIXTERM_WITHOUT_256COLOR" ]] || ZSH_TMUX_FIXTERM_WITHOUT_256COLOR="screen" + # The TERM to use for 256 color terminals. + # Tmux states this should be screen-256color, but you may need to change it on + # systems without the proper terminfo + [[ -n "$ZSH_TMUX_FIXTERM_WITH_256COLOR" ]] || ZSH_TMUX_FIXTERM_WITH_256COLOR="screen-256color" + + + # Get the absolute path to the current directory + local zsh_tmux_plugin_path="$(cd "$(dirname "$0")" && pwd)" + + # Determine if the terminal supports 256 colors + if [[ `tput colors` == "256" ]] + then + export ZSH_TMUX_TERM=$ZSH_TMUX_FIXTERM_WITH_256COLOR + else + export ZSH_TMUX_TERM=$ZSH_TMUX_FIXTERM_WITHOUT_256COLOR + fi + + # Set the correct local config file to use. + if [[ "$ZSH_TMUX_ITERM2" == "false" ]] && [[ -f $HOME/.tmux.conf || -h $HOME/.tmux.conf ]] + then + #use this when they have a ~/.tmux.conf + export _ZSH_TMUX_FIXED_CONFIG="$zsh_tmux_plugin_path/tmux.extra.conf" + else + #use this when they don't have a ~/.tmux.conf + export _ZSH_TMUX_FIXED_CONFIG="$zsh_tmux_plugin_path/tmux.only.conf" + fi + + # Wrapper function for tmux. + function _zsh_tmux_plugin_run() + { + # We have other arguments, just run them + if [[ -n "$@" ]] + then + \tmux $@ + # Try to connect to an existing session. + elif [[ "$ZSH_TMUX_AUTOCONNECT" == "true" ]] + then + \tmux `[[ "$ZSH_TMUX_ITERM2" == "true" ]] && echo '-CC '` attach || \tmux `[[ "$ZSH_TMUX_ITERM2" == "true" ]] && echo '-CC '` `[[ "$ZSH_TMUX_FIXTERM" == "true" ]] && echo '-f '$_ZSH_TMUX_FIXED_CONFIG` new-session + [[ "$ZSH_TMUX_AUTOQUIT" == "true" ]] && exit + # Just run tmux, fixing the TERM variable if requested. + else + \tmux `[[ "$ZSH_TMUX_ITERM2" == "true" ]] && echo '-CC '` `[[ "$ZSH_TMUX_FIXTERM" == "true" ]] && echo '-f '$_ZSH_TMUX_FIXED_CONFIG` + [[ "$ZSH_TMUX_AUTOQUIT" == "true" ]] && exit + fi + } + + # Use the completions for tmux for our function + compdef _tmux _zsh_tmux_plugin_run + + # Alias tmux to our wrapper function. + alias tmux=_zsh_tmux_plugin_run + + # Autostart if not already in tmux and enabled. + if [[ ! -n "$TMUX" && "$ZSH_TMUX_AUTOSTART" == "true" ]] + then + # Actually don't autostart if we already did and multiple autostarts are disabled. + if [[ "$ZSH_TMUX_AUTOSTART_ONCE" == "false" || "$ZSH_TMUX_AUTOSTARTED" != "true" ]] + then + export ZSH_TMUX_AUTOSTARTED=true + _zsh_tmux_plugin_run + fi + fi +else + print "zsh tmux plugin: tmux not found. Please install tmux before using this plugin." +fi diff --git a/.zshrc b/.zshrc index 5aebaeb..733c600 100644 --- a/.zshrc +++ b/.zshrc @@ -14,9 +14,9 @@ setopt mark_dirs setopt path_dirs #Load libraries -source ~/.zsh/aliases.zsh -source ~/.zsh/directories.zsh -source ~/.zsh/history.zsh +source ~/.zsh/* +#source ~/.zsh/directories.zsh +#source ~/.zsh/history.zsh #alias/prefs export VISUAL="/usr/bin/vim"