1

试图了解来自哪里pastebdeleteb来自哪里?

我希望如果我手动打开 tmux,那么 pasteb 和 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\"'"
}
4

1 回答 1

1

这些是内部 tmux 命令。

tmux 手册页

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

(别名:删除b)

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


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

(别名:pasteb)

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

于 2019-04-01T15:04:43.277 回答