Skip to content

Instantly share code, notes, and snippets.

@irrationalistic
Created August 11, 2014 19:29
Show Gist options
  • Save irrationalistic/e2fc1238881e03e90616 to your computer and use it in GitHub Desktop.
Save irrationalistic/e2fc1238881e03e90616 to your computer and use it in GitHub Desktop.
.zshrc with vim commands
# Path to your oh-my-zsh configuration.
ZSH=$HOME/.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="my"
# ZSH_THEME="zhann"
DEFAULT_USER="chris"
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"
# Uncomment this to disable bi-weekly auto-update checks
# DISABLE_AUTO_UPDATE="true"
# Uncomment to change how often before auto-updates occur? (in days)
# export UPDATE_ZSH_DAYS=13
# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS="true"
# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment following line if you want to disable command autocorrection
# DISABLE_CORRECTION="true"
# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"
# Uncomment 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"
# 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)
plugins=(
git git-extras node npm brew bower common-aliases coffee compleat
last-working-dir osx sublime wd autojump yeoman
dircycle colorize heroku atom zsh_reload vi-mode
)
source $ZSH/oh-my-zsh.sh
# Customize to your needs...
# export PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
export PATH=/usr/local/bin:/usr/bin:/usr/sbin:/usr/local/sbin:$PATH:/bin:/sbin:
### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
export NODE_ENV=development
export EDITOR="subl -w"
# Setup zsh-autosuggestions
#source ~/.zsh-autosuggestions/autosuggestions.zsh
# Enable autosuggestions automatically
#zle-line-init() {
# zle autosuggest-start
#}
#zle -N zle-line-init
# use ctrl+t to toggle autosuggestions(hopefully this wont be needed as
# zsh-autosuggestions is designed to be unobtrusive)
#bindkey '^T' autosuggest-toggle
function zle-keymap-select zle-line-init
{
# change cursor shape in iTerm2
case $KEYMAP in
vicmd) print -n -- "\E]50;CursorShape=0\C-G";; # block cursor
viins|main) print -n -- "\E]50;CursorShape=1\C-G";; # line cursor
esac
zle reset-prompt
zle -R
}
function zle-line-finish
{
print -n -- "\E]50;CursorShape=0\C-G" # block cursor
}
zle -N zle-line-init
zle -N zle-line-finish
zle -N zle-keymap-select
# ctrl-j newline
bindkey '^n' accept-line
bindkey -a '^n' accept-line
# another rotation to match qwerty
bindkey -a 'n' down-line-or-history
bindkey -a 'e' up-line-or-history
bindkey -a 'i' vi-forward-char
# make qwerty
#bindkey -a 'k' vi-repeat-search
#bindkey -a 'K' vi-rev-repeat-search
bindkey -a 'k' vi-insert
bindkey -a 'K' vi-insert-bol
bindkey -a 'u' vi-undo-change
bindkey -a 'N' vi-join
# spare
bindkey -a 'j' vi-forward-word-end
bindkey -a 'J' vi-forward-blank-word-end
bindkey '^r' history-incremental-search-backward
# zsh opp
source ~/.oh-my-zsh/opp.zsh/opp.zsh
source ~/.oh-my-zsh/opp.zsh/opp/*.zsh
zle -A .backward-kill-word vi-backward-kill-word
zle -A .backward-delete-char vi-backward-delete-char
source ~/.fzf.zsh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment