I'm having problems using tmux-fzf in my shell. I decided to try to open tmux-fzf in zsh and bash. It worked perfectly in bash, but it didn't work on zsh. I have no idea why this happens, could it be my custom fzf config on my .zshrc ?
set-option -sa terminal-overrides ",xterm*:Tc"
set -g mouse on
set -g set-clipboard on
unbind C-b
set -g prefix C-Space
bind C-Space send-prefix
# Start windows and panes at 1, not 0
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
#List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'sainnhe/tmux-fzf'
# set vi-mode
set-window-option -g mode-keys vi
# keybindings
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
my zshrc fzf config
# fzf
FZF_BIN_PATH="$HOME/.fzf/bin"
if [[ ! "$PATH" == *"$FZF_BIN_PATH"* ]]; then
PATH="${PATH:+${PATH}:}$FZF_BIN_PATH"
fi
eval "$(fzf --zsh)"
export FZF_DEFAULT_OPTS=" \
--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \
--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \
--color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8"
export FZF_DEFAULT_COMMAND="fd --hidden --strip-cwd-prefix --exclude .git"
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND="fd --type=d --hidden --strip-cwd-prefix --exclude .git"
# Use fd (https://github.com/sharkdp/fd) for listing path candidates.
# - The first argument to the function ($1) is the base path to start traversal
# - See the source code (completion.{bash,zsh}) for the details.
_fzf_compgen_path() {
fd --hidden --exclude .git . "$1"
}
# Use fd to generate the list for directory completion
_fzf_compgen_dir() {
fd --type=d --hidden --exclude .git . "$1"
}
show_file_or_dir_preview="if [ -d {} ]; then if [[ {} != */.ssh/* && {} != */.aws/* ]]; then eza --tree --color=always {} | head -200; fi; else if [[ {} != *.ssh/* && {} != *.aws/* ]]; then bat -n --color=always --line-range :500 {}; fi; fi"
export FZF_CTRL_T_OPTS="--preview '$show_file_or_dir_preview'"
export FZF_ALT_C_OPTS="--preview 'eza --tree --color=always {} | head -200'"
# Advanced customization of fzf options via _fzf_comprun function
# - The first argument to the function is the name of the command.
# - You should make sure to pass the rest of the arguments to fzf.
_fzf_comprun() {
local command=$1
shift
case "$command" in
cd) fzf --preview 'eza --tree --color=always {} | head -200' "$@" ;;
export|unset) fzf --preview "eval 'echo ${}'" "$@" ;;
ssh) fzf --preview 'dig {}' "$@" ;;
*) fzf --preview "$show_file_or_dir_preview" "$@" ;;
esac
}
I'm having problems using tmux-fzf in my shell. I decided to try to open tmux-fzf in zsh and bash. It worked perfectly in bash, but it didn't work on zsh. I have no idea why this happens, could it be my custom fzf config on my .zshrc ?
tmux version: 3.2a zsh version: zsh 5.8.1 (x86_64-ubuntu-linux-gnu) terminal: wezterm
my tmux.conf
my zshrc fzf config