. ~/.profile # Set prompt for tramp [[ $TERM == "tramp" ]] && unsetopt zle && PS1='$ ' && return # Path to your oh-my-zsh installation. ZSH=/usr/share/oh-my-zsh/ # Set name of the theme to load. # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll load a random theme each # time that oh-my-zsh is loaded. ZSH_THEME="bullet-train" # 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="false" # 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=~/.oh-my-zsh # 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 adb archlinux sudo zsh-syntax-highlighting history-substring-search) # source ~/.oh-my-zsh/plugins/zsh-autosuggestions/autosuggestions.zsh # zle-line-init() { # zle autosuggest-start # } # zle -N zle-line-init # 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='mvim' # fi # Compilation flags # export ARCHFLAGS="-arch x86_64" # ssh # export SSH_KEY_PATH="~/.ssh/dsa_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 q='exit' alias tmux='tmux -2' alias v='echo "Warning: Xorg";emacsclient -nc' alias vv='emacsclient -nw' alias color='msgcat --color=test' alias pe='EDITOR=nvim pass edit' # Systemd aliases alias s=systemctl alias j='journalctl -eu' alias ju='journalctl --user -eu' ZSH_CACHE_DIR=$HOME/.oh-my-zsh-cache if [[ ! -d $ZSH_CACHE_DIR ]]; then mkdir $ZSH_CACHE_DIR fi source $ZSH/oh-my-zsh.sh # Vim mode zmodload zsh/zle bindkey -v bindkey -v '^?' backward-delete-char bindkey -v 'ii' vi-cmd-mode bindkey -a 't' vi-backward-char bindkey -a 'r' vi-forward-char bindkey -a 'd' up-history bindkey -a 's' down-history bindkey -a 'l' vi-delete bindkey -a 'L' vi-kill-eol echo -ne '\e[5 q' # perform parameter expansion/command substitution in prompt setopt PROMPT_SUBST vim_ins_mode="%{$bg[blue]%}%{$fg[black]%}%BINSERT%b%{$reset_color%}" vim_cmd_mode="%{$bg[green]%}%{$fg[black]%}%BNORMAL%b%{$reset_color%}" vim_mode=$vim_ins_mode function zle-keymap-select { if [ $KEYMAP = vicmd ];then echo -ne '\e[1 q' else echo -ne '\e[5 q' fi vim_mode="${${KEYMAP/vicmd/${vim_cmd_mode}}/(main|viins)/${vim_ins_mode}}" zle reset-prompt } zle -N zle-keymap-select function zle-line-finish { vim_mode=$vim_ins_mode } zle -N zle-line-finish RPROMPT='${vim_mode}'