Last active
July 30, 2021 09:27
-
-
Save yudapc/2b397f08b2cb3375ca4e3233cd7e2224 to your computer and use it in GitHub Desktop.
Oh my zsh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if your vim pluggin `command-t` does not work with message: | |
``` | |
command-t.vim could not load the C extension | |
``` | |
or with `difference version ruby` | |
you can try: | |
``` | |
cd ~/.vim/plugged/command-t/ruby/command-t/ext/command-t | |
rvm use system | |
ruby extconf.rb | |
make | |
``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" use gui tabs | |
set guioptions+=e | |
" kill the menubar | |
set guioptions-=T | |
set guioptions-=m | |
" kill the scrollbars | |
set guioptions-=r | |
set guioptions-=L | |
" go full screen like you mean it | |
if has('win32') | |
au GUIEnter * simalt ~x | |
elseif has('mac') | |
set fuoptions=maxvert,maxhorz | |
endif | |
" set a valid swap file location | |
if has('win32') | |
set directory=%TEMP% | |
endif | |
" turn off beeping and prevent screen lighting flash | |
if has('win32') | |
set noerrorbells visualbell t_vb= | |
autocmd GUIEnter * set visualbell t_vb= | |
endif | |
" set default font | |
" https://github.com/Lokaltog/powerline-fonts | |
if has('mac') || has('win32') | |
set guifont=Meslo\ LG\ S\ DZ\ Regular\ for\ Powerline:h11 | |
" set guifont=Monaco:h12 | |
else | |
set guifont=Meslo\ LG\ S\ DZ\ for\ Powerline\ 10 | |
endif | |
" initial window size | |
set lines=75 columns=220 | |
" pretty but not terminal-compatible color scheme | |
colorscheme codeschool | |
runtime! custom_config/*.gvim | |
" Go to tab by number | |
if has('mac') | |
noremap <D-1> 1gt | |
noremap <D-2> 2gt | |
noremap <D-3> 3gt | |
noremap <D-4> 4gt | |
endif | |
runtime! custom_preconfig/*.vim | |
runtime! common_config/*.vim | |
runtime! custom_config/*.vim | |
let g:WebDevIconsUnicodeDecorateFolderNodes = 1 | |
let g:WebDevIconsUnicodeDecorateFolderNodeDefaultSymbol = '[]' | |
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {} | |
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols['nerdtree'] = '[]' | |
let g:WebDevIconsUnicodeDecorateFolderNodes = 1 | |
" testing extra-powerline-symbols | |
" testing rounded separators (extra-powerline-symbols): | |
let g:airline_left_sep = "\uE0B4" | |
let g:airline_right_sep = "\uE0B6" | |
" set the CN (column number) symbol: | |
let g:airline_section_z = airline#section#create(["\uE0A1" . '%{line(".")}' . "\uE0A3" . '%{col(".")}']) | |
highlight OverLength ctermbg=red ctermfg=white guibg=#592929 | |
match OverLength /\%100v.\+/ | |
map <C-j> :m +1<CR> | |
map <C-k> :m -2<CR> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
runtime! custom_preconfig/*.vim | |
runtime! common_config/*.vim | |
runtime! custom_config/*.vim | |
let g:WebDevIconsUnicodeDecorateFolderNodes = 1 | |
let g:WebDevIconsUnicodeDecorateFolderNodeDefaultSymbol = '[]' | |
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {} | |
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols['nerdtree'] = '[]' | |
let g:WebDevIconsUnicodeDecorateFolderNodes = 1 | |
" testing extra-powerline-symbols | |
" set font terminal font or set gui vim font to a Nerd Font (https://github.com/ryanoasis/nerd-fonts): | |
set guifont=Droid\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ Mono\ 12 | |
" testing rounded separators (extra-powerline-symbols): | |
let g:airline_left_sep = "\uE0B4" | |
let g:airline_right_sep = "\uE0B6" | |
" set the CN (column number) symbol: | |
let g:airline_section_z = airline#section#create(["\uE0A1" . '%{line(".")}' . "\uE0A3" . '%{col(".")}']) | |
" for git, add spell checking and automatic wrapping at 72 columns | |
autocmd Filetype gitcommit setlocal spell textwidth=72 | |
highlight OverLength ctermbg=red ctermfg=white guibg=#592929 | |
match OverLength /\%100v.\+/ | |
map <C-j> :m +1<CR> | |
map <C-k> :m -2<CR> | |
autocmd BufNewFile,BufRead *.tsx set syntax=javascript |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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/.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="robbyrussell" | |
# ZSH_THEME="agnoster" | |
# export TERM="xterm-256color" | |
# POWERLEVEL9K_MODE='awesome-patched' | |
# ZSH_THEME="powerlevel9k/powerlevel9k" | |
DEFAULT_USER="mango" | |
# POWERLINE_DETECT_SSH="true" | |
# POWERLINE_GIT_CLEAN="✔" | |
# POWERLINE_GIT_DIRTY="✘" | |
# POWERLINE_GIT_ADDED="%F{green}✚%F{black}" | |
# POWERLINE_GIT_MODIFIED="%F{blue}✹%F{black}" | |
# POWERLINE_GIT_DELETED="%F{red}✖%F{black}" | |
# POWERLINE_GIT_UNTRACKED="%F{yellow}✭%F{black}" | |
# POWERLINE_GIT_RENAMED="➜" | |
# POWERLINE_GIT_UNMERGED="═" | |
# 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. | |
plugins=(git bundler osx rake ruby) | |
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='mvim' | |
# 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" | |
export NVM_DIR="$HOME/.nvm" | |
export PATH="/usr/local/opt/icu4c/bin:$PATH" | |
export PATH="/usr/local/opt/icu4c/sbin:$PATH" | |
# alias mvim=/Users/mango/Workspace/tools/macvim/src/MacVim/mvim | |
export ANDROID_HOME=/usr/local/share/android-sdk | |
export PATH="$(brew --prefix homebrew/php/php70)/bin:$PATH" | |
# export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH" | |
# export PATH="$(brew --prefix homebrew/php/php55)/bin:$PATH" | |
alias tab_server='ssh [email protected] -p 2382' | |
export PATH=./node_modules/.bin:$PATH | |
alias staging_server='ssh -i ~/.ssh/cellihealth.pem [email protected]' | |
alias goy="adb shell input keyevent 82" | |
alias run_android="npm run android" | |
alias run_ios="npm run ios" | |
alias tab_start='bin/cake cache clear_all && bin/cake server' | |
alias test_all='npm run lint; npm run test-dot; npm run integration-test-dot' | |
alias pull_develop='git pull --rebase origin develop' | |
alias push_develop='git pull --rebase origin develop && git push origin develop' | |
alias push_master='git pull --rebase && git push' | |
alias reset_npm='watchman watch-del-all && rm -rf node_modules && rm -fr $TMPDIR/react-* && npm install' | |
alias integration="platform=android node app/loader-integration-test.js && node_modules/mocha/bin/mocha --opts test/mocha.opts --reporter dot --timeout 35000" | |
alias unittest="platform=android node app/loader-test.js && node_modules/mocha/bin/mocha --opts test/mocha.opts --reporter dot" | |
alias jslint="node node_modules/eslint/bin/eslint.js --format node_modules/eslint-friendly-formatter index*.js" | |
alias run_api="sh ~/start_server.sh" | |
alias reverse_adb="adb reverse tcp:8000 tcp:8000" | |
alias adb_restart="adb kill-server && adb devices && reverse_adb" | |
alias push_htmlview="git push -u cellihealth cellihealth; git push origin cellihealth" | |
alias bo_test="node test/loader-test.js && node_modules/mocha/bin/mocha --opts test/mocha.opts" | |
alias msfconsole="/opt/metasploit-framework/bin/msfconsole" | |
alias adb_logcat='adb logcat "AndroidRuntime" "ActivityRuntime" "ReactNativeJS" "*:S"' | |
alias python='python3' | |
alias pip='pip3' | |
alias run_packager="/Users/mango/Workspace/cellihealth/rnative/node_modules/react-native/packager/launchPackager.command ; exit;" | |
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change. | |
export PATH="$PATH:$HOME/.rvm/bin" | |
export PATH="/usr/local/opt/imagemagick@6/bin:$PATH" | |
export PATH="/usr/local/opt/[email protected]/bin:$PATH" | |
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 | |
export TF_CPP_MIN_LOG_LEVEL=2 | |
source "/usr/local/opt/nvm/nvm.sh" | |
codi() { | |
local syntax="${1:-python}" | |
shift | |
vim -c \ | |
"let g:startify_disable_at_vimenter = 1 |\ | |
set bt=nofile ls=0 noru nonu nornu |\ | |
hi ColorColumn ctermbg=NONE |\ | |
hi VertSplit ctermbg=NONE |\ | |
hi NonText ctermfg=0 |\ | |
Codi $syntax" "$@" | |
} | |
export NUMBERING_KEY=d9oWDwzu7aQDCNgETfuUg4udL9zFnkYhUJFrY4hG9x3f30uIKUkej9SPVEWv | |
export GOPATH=$HOME/go-workspace # don't forget to change your path correctly! | |
export GOROOT=/usr/local/opt/go/libexec | |
export PATH=$PATH:$GOPATH/bin | |
export PATH=$PATH:$GOROOT/bin | |
export LC_ALL=en_US.UTF-8 | |
export LANG=en_US.UTF-8 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Install oh-my-zsh: | |
https://github.com/robbyrussell/oh-my-zsh | |
Install Fonts: | |
brew tap caskroom/fonts | |
brew cask install font-hack-nerd-font | |
DOWNLOAD powerline font: | |
https://github.com/ryanoasis/powerline-extra-symbols | |
https://github.com/ryanoasis/nerd-fonts | |
In the file .zshrc change YOUR_COMPUTER_USER to your computer user. | |
PATH FILE: | |
~/.zshrc | |
~/.oh-my-zsh/themes/agnoster.zsh-theme | |
~/.vimrc | |
~/.gvimrc | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# vim:ft=zsh ts=2 sw=2 sts=2 | |
# | |
# agnoster's Theme - https://gist.github.com/3712874 | |
# A Powerline-inspired theme for ZSH | |
# | |
# # README | |
# | |
# In order for this theme to render correctly, you will need a | |
# [Powerline-patched font](https://github.com/Lokaltog/powerline-fonts). | |
# Make sure you have a recent version: the code points that Powerline | |
# uses changed in 2012, and older versions will display incorrectly, | |
# in confusing ways. | |
# | |
# In addition, I recommend the | |
# [Solarized theme](https://github.com/altercation/solarized/) and, if you're | |
# using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over Terminal.app - | |
# it has significantly better color fidelity. | |
# | |
# # Goals | |
# | |
# The aim of this theme is to only show you *relevant* information. Like most | |
# prompts, it will only show git information when in a git working directory. | |
# However, it goes a step further: everything from the current user and | |
# hostname to whether the last call exited with an error to whether background | |
# jobs are running in this shell will all be displayed automatically when | |
# appropriate. | |
### Segment drawing | |
# A few utility functions to make it easy and re-usable to draw segmented prompts | |
CURRENT_BG='NONE' | |
# Special Powerline characters | |
() { | |
local LC_ALL="" LC_CTYPE="en_US.UTF-8" | |
# NOTE: This segment separator character is correct. In 2012, Powerline changed | |
# the code points they use for their special characters. This is the new code point. | |
# If this is not working for you, you probably have an old version of the | |
# Powerline-patched fonts installed. Download and install the new version. | |
# Do not submit PRs to change this unless you have reviewed the Powerline code point | |
# history and have new information. | |
# This is defined using a Unicode escape sequence so it is unambiguously readable, regardless of | |
# what font the user is viewing this source code in. Do not replace the | |
# escape sequence with a single literal character. | |
# Do not change this! Do not make it '\u2b80'; that is the old, wrong code point. | |
SEGMENT_SEPARATOR=$'\ue0b0' | |
} | |
# Begin a segment | |
# Takes two arguments, background and foreground. Both can be omitted, | |
# rendering default background/foreground. | |
prompt_segment() { | |
local bg fg | |
[[ -n $1 ]] && bg="%K{$1}" || bg="%k" | |
[[ -n $2 ]] && fg="%F{$2}" || fg="%f" | |
if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then | |
echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} " | |
else | |
echo -n "%{$bg%}%{$fg%} " | |
fi | |
CURRENT_BG=$1 | |
[[ -n $3 ]] && echo -n $3 | |
} | |
# End the prompt, closing any open segments | |
prompt_end() { | |
if [[ -n $CURRENT_BG ]]; then | |
echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" | |
else | |
echo -n "%{%k%}" | |
fi | |
echo -n "%{%f%}" | |
CURRENT_BG='' | |
} | |
### Prompt components | |
# Each component will draw itself, and hide itself if no information needs to be shown | |
# Context: user@hostname (who am I and where am I) | |
prompt_context() { | |
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then | |
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER@%m" | |
fi | |
} | |
# Git: branch/detached head, dirty status | |
prompt_git() { | |
(( $+commands[git] )) || return | |
local PL_BRANCH_CHAR | |
() { | |
local LC_ALL="" LC_CTYPE="en_US.UTF-8" | |
PL_BRANCH_CHAR=$'\ue0a0' # | |
} | |
local ref dirty mode repo_path | |
repo_path=$(git rev-parse --git-dir 2>/dev/null) | |
if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then | |
dirty=$(parse_git_dirty) | |
ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git rev-parse --short HEAD 2> /dev/null)" | |
if [[ -n $dirty ]]; then | |
prompt_segment yellow black | |
else | |
prompt_segment green black | |
fi | |
if [[ -e "${repo_path}/BISECT_LOG" ]]; then | |
mode=" <B>" | |
elif [[ -e "${repo_path}/MERGE_HEAD" ]]; then | |
mode=" >M<" | |
elif [[ -e "${repo_path}/rebase" || -e "${repo_path}/rebase-apply" || -e "${repo_path}/rebase-merge" || -e "${repo_path}/../.dotest" ]]; then | |
mode=" >R>" | |
fi | |
setopt promptsubst | |
autoload -Uz vcs_info | |
zstyle ':vcs_info:*' enable git | |
zstyle ':vcs_info:*' get-revision true | |
zstyle ':vcs_info:*' check-for-changes true | |
zstyle ':vcs_info:*' stagedstr '✚' | |
zstyle ':vcs_info:*' unstagedstr '●' | |
zstyle ':vcs_info:*' formats ' %u%c' | |
zstyle ':vcs_info:*' actionformats ' %u%c' | |
vcs_info | |
echo -n "${ref/refs\/heads\//$PL_BRANCH_CHAR }${vcs_info_msg_0_%% }${mode}" | |
fi | |
} | |
prompt_bzr() { | |
(( $+commands[bzr] )) || return | |
if (bzr status >/dev/null 2>&1); then | |
status_mod=`bzr status | head -n1 | grep "modified" | wc -m` | |
status_all=`bzr status | head -n1 | wc -m` | |
revision=`bzr log | head -n2 | tail -n1 | sed 's/^revno: //'` | |
if [[ $status_mod -gt 0 ]] ; then | |
prompt_segment yellow black | |
echo -n "bzr@"$revision "✚ " | |
else | |
if [[ $status_all -gt 0 ]] ; then | |
prompt_segment yellow black | |
echo -n "bzr@"$revision | |
else | |
prompt_segment green black | |
echo -n "bzr@"$revision | |
fi | |
fi | |
fi | |
} | |
prompt_hg() { | |
(( $+commands[hg] )) || return | |
local rev status | |
if $(hg id >/dev/null 2>&1); then | |
if $(hg prompt >/dev/null 2>&1); then | |
if [[ $(hg prompt "{status|unknown}") = "?" ]]; then | |
# if files are not added | |
prompt_segment red white | |
st='±' | |
elif [[ -n $(hg prompt "{status|modified}") ]]; then | |
# if any modification | |
prompt_segment yellow black | |
st='±' | |
else | |
# if working copy is clean | |
prompt_segment green black | |
fi | |
echo -n $(hg prompt "☿ {rev}@{branch}") $st | |
else | |
st="" | |
rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g') | |
branch=$(hg id -b 2>/dev/null) | |
if `hg st | grep -q "^\?"`; then | |
prompt_segment red black | |
st='±' | |
elif `hg st | grep -q "^[MA]"`; then | |
prompt_segment yellow black | |
st='±' | |
else | |
prompt_segment green black | |
fi | |
echo -n "☿ $rev@$branch" $st | |
fi | |
fi | |
} | |
# Dir: current working directory | |
prompt_dir() { | |
prompt_segment blue black '%~' | |
} | |
# Virtualenv: current working virtualenv | |
prompt_virtualenv() { | |
local virtualenv_path="$VIRTUAL_ENV" | |
if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then | |
prompt_segment blue black "(`basename $virtualenv_path`)" | |
fi | |
} | |
# Status: | |
# - was there an error | |
# - am I root | |
# - are there background jobs? | |
prompt_status() { | |
local symbols | |
symbols=() | |
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘" | |
[[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" | |
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" | |
[[ -n "$symbols" ]] && prompt_segment black default "$symbols" | |
} | |
prompt_newline() { | |
if [[ -n $CURRENT_BG ]]; then | |
echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR \n$" | |
else | |
echo -n "%{%k%}" | |
fi | |
echo -n "%{%f%}" | |
CURRENT_BG='' | |
} | |
## Main prompt | |
build_prompt() { | |
RETVAL=$? | |
prompt_status | |
prompt_virtualenv | |
prompt_context | |
prompt_dir | |
prompt_git | |
prompt_bzr | |
prompt_hg | |
prompt_newline | |
prompt_end | |
} | |
PROMPT='%{%f%b%k%}$(build_prompt) ' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
setxkbmap -option caps:swapescape |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment