From 09f085c1c52251365de920abd5f154a9a2573a47 Mon Sep 17 00:00:00 2001 From: Rikuoh Date: Tue, 21 Nov 2023 21:52:37 +0900 Subject: [PATCH] =?UTF-8?q?fzf=E3=81=A8=E4=BB=B2=E8=89=AF=E3=81=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tmux.conf | 19 +++++++++++++++++-- .zshrc | 48 +++++++++++++++++++++++++----------------------- 2 files changed, 42 insertions(+), 25 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index e60a0c7..6e3d51a 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -12,7 +12,7 @@ set-option -g default-shell /bin/zsh set-option -g default-command /bin/zsh # キーストロークのディレイを減らす -set -sg escape-time 0 +set -sg escape-time 1 # ウィンドウのインデックスを1から始める set -g base-index 1 @@ -26,6 +26,19 @@ bind-key r source-file ~/.tmux.conf \; display "Reloaded." # M-a*2でtmux内のプログラムにM-aを送る bind-key M-a send-prefix +# セッション操作 +bind -n M-C new-session +bind -n M-L switch-client -n +bind -n M-H switch-client -p + +## tmux-fzf +TMUX_FZF_LAUNCH_KEY="a" +TMUX_FZF_OPTIONS="-p 50% --multi --ansi --no-separator --no-scrollbar --reverse --border=none \ +--color=bg+:#1c1e26,bg:#1c1e26,spinner:#ee64ac,hl:#e95678 \ +--color=fg:#d5d8da,header:#e95678,info:#e95678,pointer:#ee64ac \ +--color=marker:#ee64ac,fg+:#d5d8da,prompt:#e95678,hl+:#e95678" +TMUX_FZF_PREVIEW=0 + # ウインドウ操作 bind-key -n M-s split-window -v -c "#{pane_current_path}" bind-key -n M-v split-window -h -c "#{pane_current_path}" @@ -112,4 +125,6 @@ set -g focus-events on set-window-option -g monitor-activity on set -g visual-activity on -## Alcrittyでtmuxを有効にする +## TPM +set -g @plugin 'sainnhe/tmux-fzf' +run -b '/usr/share/tmux-plugin-manager/tpm' diff --git a/.zshrc b/.zshrc index 30165b5..9054504 100644 --- a/.zshrc +++ b/.zshrc @@ -3,6 +3,10 @@ if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" fi +# fzf.zsh縺ョ隱ュ縺ソ霎シ縺ソ +[ -f /usr/share/fzf/key-bindings.zsh ] && source /usr/share/fzf/key-bindings.zsh +[ -f /usr/share/fzf/completion.zsh ] && source /usr/share/fzf/completion.zsh + # 荳贋ス埼嚴螻、縺ォ遘サ蜍輔☆繧九さ繝槭Φ繝 alias a='cd ../' alias aa='cd ../../' @@ -43,14 +47,20 @@ alias tlsc='sudo tailscale up --exit-node-allow-lan-access --exit-node=mystech' alias tlscd='sudo tailscale down' # fzf髢「騾」 -export FZF_TMUX_OPTS="-p 40%" -export FZF_CTRL_R_OPTS="--reverse --preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'" -export FZF_DEFAULT_COMMAND='rg --files --hidden --follow --iglob "!.git/*"' -export FZF_DEFAULT_OPTS='--ansi --height 40% --reverse --border=none' -export FZF_CTRL_T_COMMAND='rg --files --hidden --follow --iglob "!.git/*"' -export FZF_CTRL_T_OPTS=" - --preview 'bat --color=always --style=header,grid {}' - --preview-window=right:40%" +export FZF_TMUX="1" +export FZF_TMUX_OPTS="-p 50%" +export FZF_CTRL_R_OPTS="--reverse --preview 'echo {}' --preview-window=border-sharp,down:3:hidden:wrap --bind '?:toggle-preview'" +export FZF_DEFAULT_COMMAND='rg --files --hidden --follow --iglob "!**/.git/*"' +export FZF_DEFAULT_OPTS="--ansi --no-separator --no-scrollbar --reverse --border=none \ +--color=bg+:#1c1e26,bg:#1c1e26,spinner:#ee64ac,hl:#e95678 \ +--color=fg:#d5d8da,header:#e95678,info:#e95678,pointer:#ee64ac \ +--color=marker:#ee64ac,fg+:#d5d8da,prompt:#e95678,hl+:#e95678" +export FZF_CTRL_T_COMMAND='rg --files --hidden --follow --iglob "!**.git/*"' +export FZF_CTRL_T_OPTS="--preview 'bat --color=always --style=plain --line-range :100 {}' --preview-window=border-sharp,down:70%" +export FZF_ALT_C_OPTS="--preview 'exa {} -h -T -F --no-user --no-time --no-filesize --no-permissions --long | head -200' --preview-window=border-sharp,hidden:down:70% --bind '?:toggle-preview'" +export RUNEWIDTH_EASTASIAN=0 +bindkey '^[t' fzf-file-widget +bindkey '^[r' fzf-history-widget fadd() { local out q n addfiles @@ -70,18 +80,13 @@ fadd() { done } -rga-fzf() { -RG_PREFIX="rga --files-with-matches" -local file -file="$( - FZF_DEFAULT_COMMAND="$RG_PREFIX '$1'" \ - fzf --sort --preview="[[ ! -z {} ]] && rga --pretty --context 5 {q} {}" \ - --phony -q "$1" \ - --bind "change:reload:$RG_PREFIX {q}" \ - --preview-window="70%:wrap" -)" && -echo "opening $file" && -xdg-open "$file" +fv() { + local file + file=$( + rg --files --hidden --follow --glob "!**/.git/*" | fzf-tmux -p 50% \ + --preview 'bat --color=always --style=plain {}' --preview-window=border-sharp,down:70% + ) + v "$file" } # tmux髢「騾」 @@ -103,6 +108,3 @@ SAVEHIST=10000 # 菫晏ュ倥&繧後k繝偵せ繝医Μ縺ョ莉カ謨ー setopt bang_hist # !繧剃スソ縺」縺溘ヲ繧ケ繝医Μ螻暮幕繧定。後≧(d) setopt extended_history # 繝偵せ繝医Μ縺ォ螳溯。梧凾髢薙b菫晏ュ倥☆繧 setopt hist_reduce_blanks # 菴吝縺ェ繧ケ繝壹シ繧ケ繧貞炎髯、縺励※繝偵せ繝医Μ縺ォ菫晏ュ倥☆繧 - -[ -f /usr/share/fzf/key-bindings.zsh ] && source /usr/share/fzf/key-bindings.zsh -[ -f /usr/share/fzf/completion.zsh ] && source /usr/share/fzf/completion.zsh