【发布时间】:2016-04-22 13:17:38
【问题描述】:
我想要一个tmux vi-copy模式的命令,将以下三步合二为一:
- 选择当前行
- 复制在步骤 1 中所做的选择
- 将复制的选择通过管道复制到 xargs
会是这个样子吗?
bind-key -t vi-copy o select-line; copy-selection; copy-pipe "xargs -I{} tmux select-pane -t 1"
我的最后一部分像this link一样运行:
bind -t vi-copy 'y' copy-selection
bind -t vi-copy y copy-pipe "xclip -sel clip -i"
bind -t vi-copy y copy-pipe "xargs -I{} tmux send-keys -t 1 ';call OpenTestFile(\"{}\")' Enter"
如果我在复制模式下选择了上面的东西,tmux 是:
- 复制选择
- 将密钥:
;call OpenTestFile("SELECTION")发送到 1 号窗格(我在那里打开了 vim) - 切换到该窗格
我意识到在 vim 函数 OpenTestFile(input) 中,vim 从 tmux-line-selection 中提取文件路径并将其打开以进行编辑。
但我不想使用y 键,而是想使用o 键来执行此操作并避免必须选择之前的行。
更新 1
看来,在一个模式下绑定多个命令是不可能的。 link
【问题讨论】: