mirror of https://github.com/einverne/dotfiles.git
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.
435 lines
13 KiB
435 lines
13 KiB
7 years ago
|
# If you come from bash you might have to change your $PATH.
|
||
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||
|
|
||
|
export EDITOR=vim
|
||
7 years ago
|
#export TERM="screen-256color"
|
||
7 years ago
|
bindkey -e
|
||
7 years ago
|
|
||
|
|
||
|
export NODE_HOME=/usr/local/node-v6.11.4-linux-64/
|
||
|
export PATH="$NODE_HOME/bin/:$PATH"
|
||
|
|
||
|
export PATH="$PATH:$HOME/phabricator/arcanist/bin/"
|
||
6 years ago
|
export ANDROID_HOME="$HOME/Android/Sdk"
|
||
|
export PATH="$PATH:$ANDROID_HOME/bin/"
|
||
7 years ago
|
|
||
6 years ago
|
if [[ -d ~/.pyenv ]]; then
|
||
|
# pyenv
|
||
|
export PATH="$HOME/.pyenv/bin:$PATH"
|
||
|
eval "$(pyenv init -)"
|
||
|
eval "$(pyenv virtualenv-init -)"
|
||
|
fi
|
||
7 years ago
|
|
||
5 years ago
|
# if [[ -d ~/.jenv ]]; then
|
||
|
# # jenv
|
||
|
# export PATH="$HOME/.jenv/bin:$PATH"
|
||
|
# eval "$(jenv init -)"
|
||
|
# fi
|
||
|
|
||
|
# JDK
|
||
|
if [[ -d "/usr/local/jdk1.8.0_131" ]]; then
|
||
|
export JAVA_HOME=/usr/local/jdk1.8.0_131
|
||
|
export PATH=$PATH:$JAVA_HOME/bin/
|
||
|
fi
|
||
|
# export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"
|
||
|
|
||
|
# Maven
|
||
|
if [[ -d "/opt/maven" ]]; then
|
||
|
export M2_HOME=/opt/maven
|
||
|
export M2=$M2_HOME/bin
|
||
|
export PATH=$M2:$PATH
|
||
|
fi
|
||
|
|
||
|
# Tomcat
|
||
|
if [[ -d "/opt/tomcat" ]]; then
|
||
|
export CATALINA_HOME=/opt/tomcat/
|
||
|
export PATH=$CATALINE_HOME:$PATH
|
||
|
fi
|
||
|
|
||
|
#
|
||
|
# Hive
|
||
|
if [[ -d "$HOME/apache-hive-2.3.4-bin" ]]; then
|
||
|
export HIVE_HOME=$HOME/apache-hive-2.3.4-bin
|
||
|
export PATH=$PATH:$HIVE_HOME/bin
|
||
|
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib/*:.
|
||
|
fi
|
||
|
|
||
|
# Hadoop
|
||
|
if [[ -d "$HOME/hadoop/hadoop-2.9.1" ]]; then
|
||
|
export HADOOP_HOME=$HOME/hadoop/hadoop-2.9.1
|
||
|
export HADDOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
|
||
|
export HADOOP_SSH_OPTS="-p 222"
|
||
|
|
||
|
export HADOOP_MAPRED_HOME=$HADOOP_HOME
|
||
|
export HADOOP_COMMON_HOME=$HADOOP_HOME
|
||
|
|
||
|
export HADOOP_HDFS_HOME=$HADOOP_HOME
|
||
|
export YARN_HOME=$HADOOP_HOME
|
||
|
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
|
||
|
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
|
||
|
|
||
|
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
|
||
|
export HADOOP_INSTALL=$HADOOP_HOME
|
||
|
|
||
|
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib/*:.
|
||
|
fi
|
||
|
|
||
|
# Derby
|
||
|
if [[ -d "$HOME/db-derby-10.14.2.0-bin" ]]; then
|
||
|
export DERBY_HOME=$HOME/db-derby-10.14.2.0-bin
|
||
|
export PATH=$PATH:$DERBY_HOME/bin
|
||
|
|
||
|
export CLASSPATH=$CLASSPATH:$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar
|
||
|
fi
|
||
|
|
||
5 years ago
|
export GPG_TTY=$(tty)
|
||
|
|
||
6 years ago
|
if [[ -d ~/.rbenv/ ]]; then
|
||
|
# rbenv
|
||
|
export PATH="$HOME/.rbenv/bin:$PATH"
|
||
|
eval "$(rbenv init -)"
|
||
|
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
|
||
|
fi
|
||
7 years ago
|
|
||
6 years ago
|
if [[ -d ~/.nvm ]]; then
|
||
|
export NVM_DIR="$HOME/.nvm"
|
||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||
|
fi
|
||
|
|
||
6 years ago
|
if [[ -d /usr/local/go ]]; then
|
||
|
export PATH="$PATH:/usr/local/go/bin"
|
||
|
export GOROOT="/usr/local/go"
|
||
|
fi
|
||
|
|
||
7 years ago
|
# Path to your oh-my-zsh installation.
|
||
6 years ago
|
# export ZSH=$HOME/.oh-my-zsh
|
||
7 years ago
|
|
||
|
# Set name of the theme to load. Optionally, if you set this to "random"
|
||
|
# it'll load a random theme each time that oh-my-zsh is loaded.
|
||
|
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
|
||
5 years ago
|
# ZSH_THEME="agnoster"
|
||
7 years ago
|
|
||
|
# Uncomment the following line to use case-sensitive completion.
|
||
|
# CASE_SENSITIVE="true"
|
||
|
|
||
|
# Uncomment the following line to use hyphen-insensitive completion. Case
|
||
|
# sensitive completion must be off. _ and - will be interchangeable.
|
||
|
# HYPHEN_INSENSITIVE="true"
|
||
|
|
||
|
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||
|
# DISABLE_AUTO_UPDATE="true"
|
||
|
|
||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||
|
# export UPDATE_ZSH_DAYS=13
|
||
|
|
||
|
# Uncomment the following line to disable colors in ls.
|
||
|
# DISABLE_LS_COLORS="true"
|
||
|
|
||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||
|
# DISABLE_AUTO_TITLE="true"
|
||
|
|
||
|
# Uncomment the following line to enable command auto-correction.
|
||
|
# ENABLE_CORRECTION="true"
|
||
|
|
||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||
|
# COMPLETION_WAITING_DOTS="true"
|
||
|
|
||
|
# Uncomment the following line if you want to disable marking untracked files
|
||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||
|
# much, much faster.
|
||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||
|
|
||
|
# Uncomment the following line if you want to change the command execution time
|
||
|
# stamp shown in the history command output.
|
||
|
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||
|
|
||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||
|
|
||
|
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||
|
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||
|
# Add wisely, as too many plugins slow down shell startup.
|
||
|
|
||
7 years ago
|
#source $ZSH/oh-my-zsh.sh
|
||
|
|
||
5 years ago
|
# you need to git clone [email protected]:zsh-users/antigen.git to $HOME
|
||
5 years ago
|
if [[ -d $HOME/antigen ]]; then
|
||
|
source $HOME/antigen/antigen.zsh
|
||
|
fi
|
||
5 years ago
|
|
||
5 years ago
|
if [[ -f "$HOME/antigen.zsh" ]]; then
|
||
5 years ago
|
source $HOME/antigen.zsh
|
||
|
fi
|
||
7 years ago
|
|
||
|
# Load the oh-my-zsh's library.
|
||
|
antigen use oh-my-zsh
|
||
|
|
||
|
# Bundles from the default repo (robbyrussell's oh-my-zsh).
|
||
|
antigen bundle git
|
||
5 years ago
|
antigen bundle git-extras
|
||
5 years ago
|
antigen bundle mvn
|
||
5 years ago
|
antigen bundle tig
|
||
7 years ago
|
antigen bundle heroku
|
||
|
antigen bundle pip
|
||
7 years ago
|
antigen bundle lein
|
||
7 years ago
|
antigen bundle command-not-found
|
||
5 years ago
|
antigen bundle tmux
|
||
|
antigen bundle tmuxinator
|
||
5 years ago
|
antigen bundle docker
|
||
|
antigen bundle docker-compose
|
||
7 years ago
|
|
||
|
# Syntax highlighting bundle.
|
||
|
antigen bundle zsh-users/zsh-syntax-highlighting
|
||
|
antigen bundle zsh-users/zsh-autosuggestions
|
||
5 years ago
|
antigen bundle zsh-users/zsh-completions
|
||
7 years ago
|
antigen bundle Tarrasch/zsh-autoenv
|
||
5 years ago
|
antigen bundle rupa/z
|
||
7 years ago
|
antigen bundle supercrabtree/k
|
||
|
antigen bundle zsh-users/zsh-history-substring-search
|
||
7 years ago
|
#antigen bundle tylerreckart/hyperzsh
|
||
|
#antigen bundle extract
|
||
7 years ago
|
antigen bundle z
|
||
7 years ago
|
#antigen bundle mafredri/zsh-async
|
||
|
#antigen bundle sindresorhus/pure
|
||
5 years ago
|
antigen bundle unixorn/autoupdate-antigen.zshplugin
|
||
|
|
||
|
antigen bundle djui/alias-tips
|
||
|
|
||
|
# Python Plugins
|
||
|
antigen bundle pip
|
||
|
antigen bundle python
|
||
|
antigen bundle virtualenv
|
||
|
|
||
|
# OS specific plugins
|
||
|
if [[ $CURRENT_OS == 'OS X' ]]; then
|
||
|
antigen bundle brew
|
||
|
antigen bundle brew-cask
|
||
|
antigen bundle gem
|
||
|
antigen bundle osx
|
||
|
elif [[ $CURRENT_OS == 'Linux' ]]; then
|
||
|
# None so far...
|
||
|
|
||
|
if [[ $DISTRO == 'CentOS' ]]; then
|
||
|
antigen bundle centos
|
||
|
fi
|
||
|
elif [[ $CURRENT_OS == 'Cygwin' ]]; then
|
||
|
antigen bundle cygwin
|
||
|
fi
|
||
7 years ago
|
|
||
|
# Load the theme.
|
||
5 years ago
|
# antigen theme agnoster
|
||
|
# workaround for https://github.com/zsh-users/antigen/issues/675
|
||
5 years ago
|
THEME=denysdovhan/spaceship-prompt
|
||
5 years ago
|
antigen list | grep $THEME; if [ $? -ne 0 ]; then antigen theme $THEME; fi
|
||
7 years ago
|
|
||
|
# Tell Antigen that you're done.
|
||
|
antigen apply
|
||
|
|
||
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=6'
|
||
7 years ago
|
|
||
|
# User configuration
|
||
|
|
||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||
|
|
||
|
# You may need to manually set your language environment
|
||
5 years ago
|
export LANG=en_US.UTF-8
|
||
|
export LC_ALL=en_US.UTF-8
|
||
7 years ago
|
|
||
|
# Preferred editor for local and remote sessions
|
||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||
|
# export EDITOR='vim'
|
||
|
# else
|
||
|
# export EDITOR='mvim'
|
||
|
# fi
|
||
|
|
||
|
# Compilation flags
|
||
|
# export ARCHFLAGS="-arch x86_64"
|
||
|
|
||
|
# ssh
|
||
|
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||
|
|
||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||
|
# For a full list of active aliases, run `alias`.
|
||
|
#
|
||
|
# Example aliases
|
||
|
# alias zshconfig="mate ~/.zshrc"
|
||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||
7 years ago
|
|
||
5 years ago
|
alias tmux="TERM=screen-256color tmux -2"
|
||
|
alias vi="vim"
|
||
|
alias mux="TERM=screen-256color tmuxinator"
|
||
5 years ago
|
#alias ls="ls -alh"
|
||
5 years ago
|
alias cp="cp -i"
|
||
5 years ago
|
alias df="df -h"
|
||
5 years ago
|
alias free="free -m"
|
||
|
alias grep="grep --color=auto"
|
||
5 years ago
|
alias open="xdg-open"
|
||
5 years ago
|
alias ag="ag -i"
|
||
7 years ago
|
|
||
5 years ago
|
#transfer() { if [ $# -eq 0 ]; then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi
|
||
|
#tmpfile=$( mktemp -t transferXXX ); if tty -s; then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile; else curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile ; fi; cat $tmpfile; rm -f $tmpfile; }
|
||
|
|
||
6 years ago
|
|
||
|
if [[ -f ~/.zshrc.local ]]; then
|
||
|
source $HOME/.zshrc.local
|
||
|
fi
|
||
|
|
||
5 years ago
|
fpath=(~/.zsh/completions $fpath)
|
||
|
autoload -U compinit && compinit
|
||
|
|
||
5 years ago
|
# space
|
||
|
SPACESHIP_DIR_SHOW="${SPACESHIP_DIR_SHOW=true}"
|
||
|
SPACESHIP_DIR_PREFIX="${SPACESHIP_DIR_PREFIX="in "}"
|
||
|
SPACESHIP_DIR_SUFFIX="${SPACESHIP_DIR_SUFFIX="$SPACESHIP_PROMPT_DEFAULT_SUFFIX"}"
|
||
|
SPACESHIP_DIR_TRUNC="0"
|
||
|
SPACESHIP_DIR_TRUNC_REPO="${SPACESHIP_DIR_TRUNC_REPO=true}"
|
||
|
SPACESHIP_DIR_COLOR="${SPACESHIP_DIR_COLOR="cyan"}"
|
||
5 years ago
|
|
||
|
# alias
|
||
|
# adb related
|
||
|
# usage adb-screencap > screen.png
|
||
|
alias adbcap="adb shell screencap -p"
|
||
|
|
||
5 years ago
|
# fzf config
|
||
|
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
||
5 years ago
|
export FZF_DEFAULT_COMMAND='ag --hidden --ignore .git --ignore .idea -l -g ""'
|
||
|
#export FZF_DEFAULT_OPTS="--reverse --inline-info"
|
||
|
export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --preview '(highlight -O ansi {} || cat {}) 2> /dev/null | head -500'"
|
||
|
|
||
|
# fe [FUZZY PATTERN] - Open the selected file with the default editor
|
||
|
# - Bypass fuzzy finder if there's only one match (--select-1)
|
||
|
# - Exit if there's no match (--exit-0)
|
||
|
fe() {
|
||
|
local files
|
||
|
IFS=$'\n' files=($(fzf-tmux --query="$1" --multi --select-1 --exit-0))
|
||
|
[[ -n "$files" ]] && ${EDITOR:-vim} "${files[@]}"
|
||
|
}
|
||
|
|
||
|
# Modified version where you can press
|
||
|
# - CTRL-O to open with `open` command,
|
||
|
# - CTRL-E or Enter key to open with the $EDITOR
|
||
|
fo() {
|
||
|
local out file key
|
||
|
IFS=$'\n' out=("$(fzf-tmux --query="$1" --exit-0 --expect=ctrl-o,ctrl-e)")
|
||
|
key=$(head -1 <<< "$out")
|
||
|
file=$(head -2 <<< "$out" | tail -1)
|
||
|
if [ -n "$file" ]; then
|
||
|
[ "$key" = ctrl-o ] && open "$file" || ${EDITOR:-vim} "$file"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# Use fd and fzf to get the args to a command.
|
||
|
# Works only with zsh
|
||
|
# Examples:
|
||
|
# f mv # To move files. You can write the destination after selecting the files.
|
||
|
# f 'echo Selected:'
|
||
|
# f 'echo Selected music:' --extention mp3
|
||
|
# fm rm # To rm files in current directory
|
||
|
f() {
|
||
|
sels=( "${(@f)$(fd "${fd_default[@]}" "${@:2}"|fz)}" )
|
||
|
test -n "$sels" && print -z -- "$1 ${sels[@]:q:q}"
|
||
|
}
|
||
|
|
||
|
# Like f, but not recursive.
|
||
|
fm() f "$@" --max-depth 1
|
||
|
|
||
|
# Deps
|
||
|
alias fz="fzf-noempty --bind 'tab:toggle,shift-tab:toggle+beginning-of-line+kill-line,ctrl-j:toggle+beginning-of-line+kill-line,ctrl-t:top' --color=light -1 -m"
|
||
|
fzf-noempty () {
|
||
|
local in="$(</dev/stdin)"
|
||
|
test -z "$in" && (
|
||
|
exit 130
|
||
|
) || {
|
||
|
ec "$in" | fzf "$@"
|
||
|
}
|
||
|
}
|
||
|
ec () {
|
||
|
if [[ -n $ZSH_VERSION ]]
|
||
|
then
|
||
|
print -r -- "$@"
|
||
|
else
|
||
|
echo -E -- "$@"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# fd - cd to selected directory
|
||
|
fd() {
|
||
|
local dir
|
||
|
dir=$(find ${1:-.} -path '*/\.*' -prune \
|
||
|
-o -type d -print 2> /dev/null | fzf +m) &&
|
||
|
cd "$dir"
|
||
|
}
|
||
|
|
||
|
# fh - repeat history
|
||
|
fh() {
|
||
|
print -z $( ([ -n "$ZSH_NAME" ] && fc -l 1 || history) | fzf +s --tac | sed -r 's/ *[0-9]*\*? *//' | sed -r 's/\\/\\\\/g')
|
||
|
}
|
||
|
|
||
|
# fkill - kill process
|
||
|
fkill() {
|
||
|
local pid
|
||
5 years ago
|
pid=$(ps -ef |grep -v ^root | sed 1d | fzf -m | awk '{print $2}')
|
||
5 years ago
|
|
||
|
if [ "x$pid" != "x" ]
|
||
|
then
|
||
|
echo $pid | xargs kill -${1:-9}
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# tm - create new tmux session, or switch to existing one. Works from within tmux too. (@bag-man)
|
||
|
# `tm` will allow you to select your tmux session via fzf.
|
||
|
# `tm irc` will attach to the irc session (if it exists), else it will create it.
|
||
|
|
||
|
tm() {
|
||
|
[[ -n "$TMUX" ]] && change="switch-client" || change="attach-session"
|
||
|
if [ $1 ]; then
|
||
|
tmux $change -t "$1" 2>/dev/null || (tmux new-session -d -s $1 && tmux $change -t "$1"); return
|
||
|
fi
|
||
|
session=$(tmux list-sessions -F "#{session_name}" 2>/dev/null | fzf --exit-0) && tmux $change -t "$session" || echo "No sessions found."
|
||
|
}
|
||
|
|
||
|
# fs [FUZZY PATTERN] - Select selected tmux session
|
||
|
# - Bypass fuzzy finder if there's only one match (--select-1)
|
||
|
# - Exit if there's no match (--exit-0)
|
||
|
fs() {
|
||
|
local session
|
||
|
session=$(tmux list-sessions -F "#{session_name}" | \
|
||
|
fzf --query="$1" --select-1 --exit-0) &&
|
||
|
tmux switch-client -t "$session"
|
||
|
}
|
||
|
|
||
|
unalias z 2> /dev/null
|
||
|
z() {
|
||
|
[ $# -gt 0 ] && _z "$*" && return
|
||
|
cd "$(_z -l 2>&1 | fzf --height 40% --nth 2.. --reverse --inline-info +s --tac --query "${*##-* }" | sed 's/^[0-9,.]* *//')"
|
||
|
}
|
||
|
|
||
|
|
||
|
#alias lp="lpass show -c --password $(lpass ls | fzf | awk '{print $(NF)}' | sed 's/\]//g')"
|
||
5 years ago
|
gcbr() {
|
||
|
result=$(git branch -a --color=always | grep -v '/HEAD\s' | sort |
|
||
|
fzf --height 50% --border --ansi --tac --preview-window right:70% \
|
||
|
--preview 'git log --oneline --graph --date=short --pretty="format:%C(auto)%cd %h%d %s" $(sed s/^..// <<< {} | cut -d" " -f1) | head -'$LINES |
|
||
|
sed 's/^..//' | cut -d' ' -f1)
|
||
|
|
||
|
if [[ $result != "" ]]; then
|
||
|
if [[ $result == remotes/* ]]; then
|
||
|
git checkout --track $(echo $result | sed 's#remotes/##')
|
||
|
else
|
||
|
git checkout "$result"
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
gfs() {
|
||
|
git -c color.status=always status --short |
|
||
|
fzf --height 50% --border --ansi --multi --ansi --nth 2..,.. \
|
||
|
--preview '(git diff --color=always -- {-1} | sed 1,4d; cat {-1}) | head -500' |
|
||
|
cut -c4- | sed 's/.* -> //'
|
||
|
}
|