Last active
May 13, 2021 23:02
-
-
Save kotashiratsuka/89fad9fd3edd2bec96a78dbc71c8d99b to your computer and use it in GitHub Desktop.
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: set ff=unix tabstop=4 shiftwidth=0 softtabstop=-1 noexpandtab fileencoding=utf-8 fileformat=unix filetype=zsh :# | |
# https://gist.github.com/kotashiratsuka/89fad9fd3edd2bec96a78dbc71c8d99b | |
#/usr/local/binを優先 | |
PATH=/usr/local/bin:$PATH | |
#${HOME}/binをパスに追加 | |
PATH=${PATH}:~/bin | |
#MacPorsのvimを優先 | |
EDITOR=`which vim` | |
#only mac | |
if [ "`uname`" = 'Darwin' ]; then | |
#MacPorts | |
PATH=/opt/local/bin:/opt/local/sbin:$PATH | |
#Vagrant | |
VAGRANT_DEFAULT_PROVIDER=vmware_fusion | |
#lesspipe.sh | |
LESSOPEN="`which lesspipe.sh` %s" | |
fi | |
#ProjectDirに移動して新しくshell&source | |
function p { | |
( | |
PROJ_DIR=$HOME/Git | |
cd $PROJ_DIR | |
if [ $1 ]; then | |
cd $PROJ_DIR/$1 | |
else | |
cd `fd . -d 1 | fzf --height 40% --layout reverse-list --info inline --border --query "${1}"` | |
fi | |
PROJ_ROOT=`pwd` | |
exec $SHELL | |
) | |
} | |
# p コマンドでサブシェル、プロジェクト変数読み込み | |
if [ -f .git/hooks/project.sh ]; then | |
source .git/hooks/project.sh | |
fi | |
# iTerm2 | |
if [[ -e ~/.iterm2_shell_integration.zsh ]]; then | |
source ~/.iterm2_shell_integration.zsh | |
fi | |
# Tmuxが起動されてなかったら起動する | |
if [[ -z $TMUX_PANE && $SSH_AUTH_SOCK && $SSH_CONNECTION ]] ;then | |
ID="$( tmux ls | grep -vm1 attached | cut -d: -f1 )" | |
if [[ -z $ID ]] ;then | |
tmux new-session | |
else | |
tmux attach-session -t "$ID" | |
fi | |
fi | |
# 自分の端末とリモートを区別しやすくする | |
#if [[ -z $TMUX_PANE ]] ;then | |
# #prompt fade magenta | |
# PROMPT=$'%F{magenta}%B%K{magenta}█▓▒░%F{white}%K{magenta}%B%n@%m%b%F{magenta}%K{black}█▓▒░%F{white}%K{black}%B \n%{\C-M%}%F{magenta}%K{black}%B%~/%b%k%f %# ' | |
#else | |
# #prompt fade green | |
# PROMPT=$'%F{green}%B%K{green}█▓▒░%F{white}%K{green}%B%n@%m%b%F{green}%K{black}█▓▒░%F{white}%K{black}%B \n%{\C-M%}%F{green}%K{black}%B%~/%b%k%f %# ' | |
#fi | |
# eDEX-UI ならカラー無効 | |
#if [[ $TERM_PROGRAM == 'eDEX-UI' ]]; then | |
# TERM=vt220 | |
#fi | |
#LSD | |
if $(type lsd >> /dev/null 2>&1); then | |
alias ll='lsd -l' | |
alias lla='lsd -la' | |
fi | |
#fzf | |
if [[ -f ~/.fzf.zsh ]]; then | |
source ~/.fzf.zsh | |
if $(ls --color=always >> /dev/null 2>&1); then | |
lscmd="ls -lFhG --color=always" | |
else | |
lscmd="CLICOLOR_FORCE=1 ls -lFhG" | |
fi | |
if [[ $REPORTTIME ]]; then | |
prefix="unset REPORTTIME && " | |
fi | |
if $(type bat >> /dev/null 2>&1); then | |
FZF_CTRL_T_OPTS="--preview '[[ \$(file --mime {}) =~ directory ]] && $lscmd {} || bat --color=always --style=header,grid --line-range :100 {}'" | |
else | |
FZF_CTRL_T_OPTS="--preview '[[ \$(file --mime {}) =~ directory ]] && $lscmd {} || head -100 {} 2> /dev/null || $lscmd {}'" | |
fi | |
FZF_DEFAULT_COMMAND="${prefix}fd -H -E .git" | |
FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" | |
FZF_ALT_C_COMMAND="${prefix}fd --type d -H -E .git" | |
FZF_ALT_C_OPTS="--preview '$lscmd {}'" | |
bindkey '^[r' fzf-history-widget | |
bindkey '^R' history-incremental-pattern-search-backward | |
fi | |
#https://www.bigeekfan.com/post/20200705_z_in_zsh_with_cdr/ | |
function z () { | |
local lines=$(cdr -l | grep --ignore-case "${1}") | |
if [ -z "$lines" ]; then | |
return 1 | |
elif [ $(wc -l <<< "$lines") -eq 1 ]; then | |
cdr "${lines%% *}" | |
else | |
local selected_dir=$(cdr -l | fzf --height 40% --layout reverse-list --info inline --border --query "${1}") | |
if [ -n "$selected_dir" ]; then | |
cdr "${selected_dir%% *}" | |
fi | |
fi | |
} | |
# promptline | |
if [[ -e ~/.promptline.sh ]]; then | |
source ~/.promptline.sh | |
fi | |
# GnuPG | |
if [[ ! $GPG_TTY ]]; then | |
GPG_TTY=$(tty) | |
fi | |
# SSH Sockをtmux越しに動的に使う | |
if [[ "$SSH_AUTH_SOCK" && "$SSH_CONNECTION" ]]; then | |
ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment