linuxShortcuts/zshrc
Bruno Fontes 2b6ee0f696
Small fixes and add a few new alias
- Fixing vagrant
   From time to time, after running the vagrant command
   path were changed to Vagrant. I fixed it by changing the
   && to ";"

- Added "gmerge"
   It is just a shortcut to merge another branch to the branch
   I am working on. Very usefull if I have to merge it often.
2018-10-25 14:30:52 -03:00

187 lines
5.9 KiB
Bash

# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH=/home/bruno/.oh-my-zsh
export XDEBUG_CONFIG="idekey=VSCODE"
# Path to my personal npm file path
export PATH=~/.npm-global/bin:$PATH
# 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
ZSH_THEME="robbyrussell"
#ZSH_THEME="pure"
# Set list of themes to load
# Setting this variable when ZSH_THEME=random
# cause zsh load theme from this variable instead of
# looking in ~/.oh-my-zsh/themes/
# An empty array have no effect
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# 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="yyyy-mm-dd"
# 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.
plugins=(
git gitfast git-flow gitignore sudo docker composer autojump gnu-utils gpg-agent homestead laravel man thefuck ufw vagrant vim-interaction vscode
)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='vim'
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"
alias ga='git add'
alias gch='git checkout'
alias gc='git commit'
alias gs='git status'
alias gpull='sshadd; git pull origin $(git_current_branch)'
alias gp='sshadd; git gc --auto; git push --all origin; git push --tags origin'
alias glog='git log --graph --oneline --decorate -n 10 --color'
alias update='bash ~/Apps/linuxShortcuts/Pacman/updateRepositories.sh'
alias grep='grep --color=auto'
alias ls='ls -h --color=tty'
alias la='ls -A --color=tty'
alias aur='aurman -S --noedit --noconfirm --color always'
alias cat='bat'
alias du='ncdu --color dark --exclude .git'
alias clearLogs='sudo find /var/log -mtime +30 -type f -delete'
alias vzsh='vim ~/.zshrc && source ~/.zshrc'
alias ssh='sshadd; /usr/bin/ssh'
alias rm='/usr/bin/rm -I'
function vagrant () {
builtin cd ~/development/laravelHomestead && /usr/bin/vagrant $*; builtin cd -
}
function mkcd () { mkdir -p "$1" && builtin cd -P -- "$1" }
function sshadd() { ssh-add -l > /dev/null || ssh-add }
function le { "$1" | less }
function cd { echo; builtin cd "$1"; ls --color=tty; echo; echo PWD: "$PWD" }
function gmerge()
{
branch=$(git_current_branch); git checkout "$1"; git merge "$branch"; git checkout "$branch"
}
function extract() # Handy Extract Program.
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $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
}
#Enable menu select
zstyle ':completion:*' menu select
# Enable tree view for kill completion
zstyle ':completion:*:*:kill:*:processes' command 'ps --forest -e -o pid,user,tty,cmd'
#Docker-compose autocomplete para o Zsh
fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i
# Bruno - keychain - enable and manage ssh-agent
eval $(keychain --eval --quiet)
#GPG Key
export GPG_TTY=$(tty)
#Bruno - Enabling TheFuck
eval $(thefuck --alias)
#Bruno - To run Tilix
if [ $TILIX_ID ] || [ $VTE_VERSION ]; then
source /etc/profile.d/vte.sh
fi
#Bruno - Keep "LESS" content on screen when exit
export LESS="-XFR"
#Bruno - Gnome keyring
if [ -n "$DESKTOP_SESSION" ];then
eval $(gnome-keyring-daemon --start)
export SSH_AUTH_SOCK
fi