Skip to content

Commit

Permalink
Update zsh config
Browse files Browse the repository at this point in the history
Signed-off-by: Ein Verne <einverne@gmail.com>
  • Loading branch information
einverne committed Sep 26, 2019
1 parent e78590f commit 6bbb65c
Show file tree
Hide file tree
Showing 19 changed files with 330 additions and 196 deletions.
13 changes: 13 additions & 0 deletions .vim/startup/map_vimrc
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,23 @@ vnoremap <A-k> :m '<-2<CR>gv=gv
" 空格关闭高亮,清空所有已经显示
nnoremap <Space> :set hlsearch! hlsearch?<CR>

" Save a file as root (,W)
noremap <leader>W :w !sudo tee % > /dev/null<CR>

" sudo write
" https://catonmat.net/sudo-vim
cnoremap sudow w !sudo tee % >/dev/null

" Strip trailing whitespace (,ss)
function! StripWhitespace()
let save_cursor = getpos(".")
let old_query = getreg('/')
:%s/\s\+$//e
call setpos('.', save_cursor)
call setreg('/', old_query)
endfunction
noremap <leader>ss :call StripWhitespace()<CR>

set hidden " 避免必须保存修改才可以跳转 buffer
" buffer
"nmap <leader>n :bnext<CR>
Expand Down
19 changes: 19 additions & 0 deletions .vim/startup/vundle_vimrc
Original file line number Diff line number Diff line change
Expand Up @@ -182,3 +182,22 @@ let g:ack_autofold_results = 1

let g:auto_save = 1 " enable AutoSave on Vim startup

" An action can be a reference to a function that processes selected lines
function! s:build_quickfix_list(lines)
call setqflist(map(copy(a:lines), '{ "filename": v:val }'))
copen
cc
endfunction

let g:fzf_action = {
\ 'ctrl-q': function('s:build_quickfix_list'),
\ 'ctrl-t': 'tab split',
\ 'ctrl-x': 'split',
\ 'ctrl-v': 'vsplit' }

" Default fzf layout
" - down / up / left / right
let g:fzf_layout = { 'down': '~40%' }

let g:fzf_history_dir = '~/.local/share/fzf-history'

2 changes: 1 addition & 1 deletion .vimrc
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ set shiftwidth=4

" 将tab自动转为空格
" set expandtab
set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
set listchars=extends:>,precedes:<,tab:\ ,trail:·,eol:¬,nbsp:_
set list

" spltting a window below
Expand Down
190 changes: 14 additions & 176 deletions .zshrc
Original file line number Diff line number Diff line change
@@ -1,160 +1,6 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

export EDITOR=vim
#export TERM="screen-256color"
bindkey -e


export NODE_HOME=/usr/local/node-v6.11.4-linux-64/
export PATH="$NODE_HOME/bin/:$PATH"

export PATH="$PATH:$HOME/phabricator/arcanist/bin/"
export ANDROID_HOME="$HOME/Android/Sdk"
export PATH="$PATH:$ANDROID_HOME/bin/"

if [[ -d ~/.pyenv ]]; then
# pyenv
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi

# 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

export GPG_TTY=$(tty)

if [[ -d ~/.rbenv/ ]]; then
# rbenv
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
fi

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

if [[ -d /usr/local/go ]]; then
export PATH="$PATH:/usr/local/go/bin"
export GOROOT="/usr/local/go"
fi

# Path to your oh-my-zsh installation.
# export ZSH=$HOME/.oh-my-zsh

# 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="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="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.

#source $ZSH/oh-my-zsh.sh

# you need to git clone git@github.com:zsh-users/antigen.git to $HOME
if [[ -d $HOME/antigen ]]; then
source $HOME/antigen/antigen.zsh
Expand All @@ -170,6 +16,7 @@ antigen use oh-my-zsh
# Bundles from the default repo (robbyrussell's oh-my-zsh).
antigen bundle git
antigen bundle git-extras
antigen bundle git-flow
antigen bundle mvn
antigen bundle tig
antigen bundle heroku
Expand All @@ -183,17 +30,17 @@ antigen bundle docker-compose

# Syntax highlighting bundle.
antigen bundle zsh-users/zsh-syntax-highlighting
antigen bundle zsh-users/zsh-autosuggestions
antigen bundle zsh-users/zsh-autosuggestions
antigen bundle zsh-users/zsh-completions
antigen bundle Tarrasch/zsh-autoenv
antigen bundle Tarrasch/zsh-autoenv
antigen bundle rupa/z
antigen bundle supercrabtree/k
antigen bundle zsh-users/zsh-history-substring-search
#antigen bundle tylerreckart/hyperzsh
#antigen bundle extract
antigen bundle z
#antigen bundle mafredri/zsh-async
#antigen bundle sindresorhus/pure
antigen bundle supercrabtree/k
antigen bundle zsh-users/zsh-history-substring-search
#antigen bundle tylerreckart/hyperzsh
#antigen bundle extract
antigen bundle z
#antigen bundle mafredri/zsh-async
#antigen bundle sindresorhus/pure
antigen bundle unixorn/autoupdate-antigen.zshplugin

antigen bundle djui/alias-tips
Expand Down Expand Up @@ -234,9 +81,6 @@ ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=6'

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
Expand All @@ -260,20 +104,14 @@ export LC_ALL=en_US.UTF-8
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

alias tmux="TERM=screen-256color tmux -2"
alias vi="vim"
alias mux="TERM=screen-256color tmuxinator"
#alias ls="ls -alh"
alias cp="cp -i"
alias df="df -h"
alias free="free -m"
alias grep="grep --color=auto"
alias open="xdg-open"
alias ag="ag -i"

#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; }

source $HOME/dotfiles/conf/zsh/common.zsh
source $HOME/dotfiles/conf/zsh/keybindings.zsh
source $HOME/dotfiles/conf/zsh/alias.zsh
source $HOME/dotfiles/conf/zsh/env.zsh

if [[ -f ~/.zshrc.local ]]; then
source $HOME/.zshrc.local
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ vim-plug related configuration is under `vim-plug_vimrc`, to show all plugins li

python related configurations is under `python_vimrc`.

## Components

- bin/: executable shell scripts, Anything in bin/ will get added to your $PATH and be made available everywhere.
- conf/: configuration file of zsh etc

## Instruction under Linux

Just run `./install.sh`, everything is done. Then Enter the vim run `:PlugInstall` to install all plugins.
Expand Down
13 changes: 13 additions & 0 deletions bin/git-credit
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/sh
#
# A very slightly quicker way to credit an author on the latest commit.
#
# $1 - The full name of the author.
# $2 - The email address of the author.
#
# Examples
#
# git credit "Zach Holman" zach@example.com
#

git commit --amend --author "$1 <$2>" -C HEAD
8 changes: 8 additions & 0 deletions bin/git-delete-local-merged
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/sh
#
# Delete all local branches that have been merged into HEAD. Stolen from
# our favorite @tekkub:
#
# https://plus.google.com/115587336092124934674/posts/dXsagsvLakJ

git branch -d `git branch --merged | grep -v '^*' | grep -v 'master' | tr -d '\n'`
10 changes: 10 additions & 0 deletions bin/git-edit-new
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/sh
#
# Open new, unstaged files in your $EDITOR.
#
# This is nice to have when you run a command line generator which generates a
# file or three in your working directory, and you know you want to immediately
# edit them in your editor next. Why waste time clicking around like some sort
# of plebian when you can just run another command?

$EDITOR $(git ls-files --others --exclude-standard)
12 changes: 12 additions & 0 deletions bin/git-nuke
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh
#
# Nukes a branch locally and on the origin remote.
#
# $1 - Branch name.
#
# Examples
#
# git nuke add-git-nuke

git branch -D $1
git push origin :$1
33 changes: 33 additions & 0 deletions bin/gitio
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env ruby
# Usage: gitio URL [CODE]
#
# Turns a github.com URL
# into a git.io URL
#
# Created by @defunkt:
# https://gist.github.com/1209316
#
# Copies the git.io URL to your clipboard.

url = ARGV[0]
code = ARGV[1]

if url !~ /^(https?:\/\/)?(gist\.)?github.com/
abort "* github.com URLs only"
end

if url !~ /^http/
url = "https://#{url}"
end

if code
code = "-F code=#{code}"
end

output = `curl -i https://git.io -F 'url=#{url}' #{code} 2> /dev/null`
if output =~ /Location: (.+)\n?/
puts $1
`echo #$1 | pbcopy`
else
puts output
end
Loading

0 comments on commit 6bbb65c

Please sign in to comment.