diff options
Diffstat (limited to 'zsh')
-rw-r--r-- | zsh/aliases | 27 | ||||
-rw-r--r-- | zsh/functions | 25 | ||||
-rw-r--r-- | zsh/plugins | 51 | ||||
-rw-r--r-- | zsh/zshrc | 52 |
4 files changed, 155 insertions, 0 deletions
diff --git a/zsh/aliases b/zsh/aliases new file mode 100644 index 0000000..fbb2b2f --- /dev/null +++ b/zsh/aliases @@ -0,0 +1,27 @@ +#!/bin/zsh + +# Commands +alias c='clear' +alias ca='printf "\ec"' +alias cdd='cd ~/dotfiles' +alias notes='vim ~/dotfiles/.notes' + +# Programs +alias a='vifm . .' +alias ff='FreeFem++' +alias g='git' +alias l='ledger -f ~/dotfiles/.ledger/perso.ledger' +alias lj='vim ~/dotfiles/.ledger/perso.ledger' +alias m='cd ~/.mutt/attachments && mutt && cd -' +alias n='newsbeuter' +alias v='vim' +alias vims="vim -S Session.vim" +alias vimtex='vim -S Session.vim --servername SYNC' + +# Build +alias mc='make clean' +alias mca='make clean-all' + +# Tmux +alias son="tmux set -g status on" +alias soff="tmux set -g status off" diff --git a/zsh/functions b/zsh/functions new file mode 100644 index 0000000..2b43e1a --- /dev/null +++ b/zsh/functions @@ -0,0 +1,25 @@ +#!/bin/zsh + +function colo { + + # Change colors for current session + $HOME/bin/recolor < ~/.Xresources/$1 + + # Load Xresources file for future sessions + xrdb ~/.Xresources/$1 + + # Change environment variable + export COLORSCHEME=$1 + + # Change default environment variable for future sessions + sed -i --follow-symlinks "s/^export COLORSCHEME=.*$/export COLORSCHEME=$1/g" ~/.zsh/tmp +} + +fshow() { + git log --graph --color=always \ + --format="%C(auto)%h%d %s %C(black)%C(bold)%cr" "$@" | + fzf --ansi --no-sort --reverse --tiebreak=index --toggle-sort=\` \ + --bind 'ctrl-m:execute: + echo {} | grep -o "[a-f0-9]\{7\}" | + xargs -I % sh -c "git show --color=always % | less -R"' +} diff --git a/zsh/plugins b/zsh/plugins new file mode 100644 index 0000000..116c694 --- /dev/null +++ b/zsh/plugins @@ -0,0 +1,51 @@ +#! /bin/zsh + +# Load zgen +source "/home/urbain/.zgen/zgen.zsh" + +# Load plugins +if ! zgen saved; then + + echo "Creating a zgen save" + + # Load oh-my-zsh framework + zgen oh-my-zsh + + # Oh-my-zsh plugins + zgen oh-my-zsh plugins/git + zgen oh-my-zsh plugins/vi-mode + zgen oh-my-zsh plugins/archlinux + zgen oh-my-zsh plugins/ubuntu + zgen oh-my-zsh plugins/tmux + zgen oh-my-zsh plugins/themes + + # zsh-users plugins + zgen load zsh-users/zsh-completions src + zgen load zsh-users/zsh-syntax-highlighting + + # Appearance + zgen oh-my-zsh themes/eastwood + + # Navigation plugins + zgen load uvaes/fzf-marks + + # Other plugins + zgen load rupa/z + zgen load djui/alias-tips + zgen load tarruda/zsh-autosuggestions + zgen load joel-porquet/zsh-dircolors-solarized + + # Save all to init script + zgen save +fi + +# Plugins configuration + +# Autosuggestion +{ + ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=6' + bindkey '^y' autosuggest-accept +} + +# Z +export _Z_EXCLUDE_DIRS=("$HOME/sshfs", "$HOME/nfs") diff --git a/zsh/zshrc b/zsh/zshrc new file mode 100644 index 0000000..22860cd --- /dev/null +++ b/zsh/zshrc @@ -0,0 +1,52 @@ +# Write tmp file if it doesn't exist +[[ ! -f ~/.zsh/tmp ]] && echo "export COLORSCHEME=dark" > ~/.zsh/tmp + +# Source configuration files +source "$HOME/.zsh/plugins" +source "$HOME/.zsh/functions" +source "$HOME/.zsh/aliases" +source "$HOME/.zsh/tmp" + +# Custom key bindings for built-in widgets +bindkey -a 'k' history-beginning-search-backward +bindkey -a 'j' history-beginning-search-forward +bindkey '^P' history-beginning-search-backward +bindkey '^N' history-beginning-search-forward + +# Paths of executables +export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/bin/core_perl:/home/urbain/bin" + +# Editor +export EDITOR=/usr/bin/vim + +# Fix tmux colors +if [[ -n ${TMUX} && -n ${commands[tmux]} ]];then + case $(tmux showenv TERM 2>/dev/null) in + *256color) ;& + TERM=fbterm) + TERM=screen-256color ;; + *) + TERM=screen + esac +fi + +# Export GPG-agent related +if [[ -f "${HOME}/.gpg-agent-info" ]]; then + source /home/urbain/.gpg-agent-info + export GPG_AGENT_INFO + export SSH_AUTH_SOCK +fi + + +# Tmux colors fix +if [[ -n ${TMUX} && -n ${commands[tmux]} ]];then + case $(tmux showenv TERM 2>/dev/null) in + *256color) ;& + TERM=fbterm) + TERM=screen-256color ;; + *) + TERM=screen + esac +fi + +[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh |