fzf tmux pasteb deleteb



试图了解pastebdeleteb来自哪里?

我希望如果我手动打开 tmux,粘贴和 deleteb 是内置的命令或其他东西,但据我所知,它们是否尝试在 tmux 会话中键入它们?

https://github.com/junegunn/fzf/blob/master/shell/key-bindings.bash#L34

__fzf_select_tmux__() {
  local height
  height=${FZF_TMUX_HEIGHT:-40%}
  if [[ $height =~ %$ ]]; then
    height="-p ${height%%}"
  else
    height="-l $height"
  fi
  tmux split-window $height "cd $(printf %q "$PWD"); FZF_DEFAULT_OPTS=$(printf %q "$FZF_DEFAULT_OPTS") PATH=$(printf %q "$PATH") FZF_CTRL_T_COMMAND=$(printf %q "$FZF_CTRL_T_COMMAND") FZF_CTRL_T_OPTS=$(printf %q "$FZF_CTRL_T_OPTS") bash -c 'source "${BASH_SOURCE[0]}"; RESULT="$(__fzf_select__ --no-height)"; tmux setb -b fzf "$RESULT" \; pasteb -b fzf -t $TMUX_PANE \; deleteb -b fzf || tmux send-keys -t $TMUX_PANE "$RESULT"'"
}

这些是内部 tmux 命令。

tmux手册页:

删除缓冲区 [−b 缓冲区名称]

(别名:删除b(

删除

名为缓冲区名称的缓冲区,如果未指定,则删除最近添加的自动命名缓冲区。

<小时 />

粘贴缓冲区 [−dpr] [−b 缓冲区名称] [−s 分隔符] [−t 目标窗格]

(别名:粘贴(

将粘贴缓冲区的内容插入到指定的窗格中。如果未指定,请粘贴到当前版本中。使用 −d,同时删除粘贴缓冲区。输出时,粘贴缓冲区中的任何换行 (LF( 字符都将替换为分隔符,默认情况下为回车符 (CR(。可以使用 −s 标志指定自定义分隔符。−r 标志表示不执行替换(相当于 LF 的分隔符(。如果指定了 −p,则在应用程序请求括号粘贴模式时,将在缓冲区周围插入粘贴括号控制代码。

最新更新