我想在 中使用剪贴板管理器tmux
。是的CopyQ
,但我想这并不重要。在~/.tmux.conf
我设置以下绑定:
set-window-option -g mode-keys vi
bind C-y run 'out=`tmux save-buffer - ` && copyq add "$out"'
当我按此快捷键时
PREFIX,Ctrl-y复制CopyQ
失败并出现以下消息
'out=`tmux save-buffer - ` && copyq add "$out"' returned 127
但是,如果我尝试手动输入这些命令,那么它们就会起作用,并将文本从tmux
缓冲区复制到copyq
所需的位置
$ out=`tmux save-buffer - `
$ copyq add "$out"
我需要说以下命令工作正常并将文本从tmux
缓冲区打印到屏幕:
bind C-w run 'out=`tmux save-buffer - ` && echo "$out"'
如何使原始装订工作正常?
答案1
值 127 是回当 bash 脚本中或 bash 命令行上的任何给定命令在 PATH 系统环境变量定义的任何路径中找不到时,由 shell /bin/bash 执行。
所以,tmux只是没有CopyQ
在它的$PATH
变量中,当开始绑定时。如果添加完整路径,CopyQ
则可以解决问题:
bind C-y run 'out=`tmux save-buffer - ` && /cygdrive/c/Program\ Files\ \(x86\)/CopyQ/copyq add "$out"'
其他方法是添加source ~/.bashrc
到~/bash_profile