Vim 将多个vi复制模式命令合并为一个命令
我希望在tmux vi copy模式下有一个命令,它将以下三个步骤合并为一个步骤:Vim 将多个vi复制模式命令合并为一个命令,vim,vi,tmux,Vim,Vi,Tmux,我希望在tmux vi copy模式下有一个命令,它将以下三个步骤合并为一个步骤: 选择当前行 复制在步骤1中所做的选择 将复制的选择复制到xargs 它会像这样吗 bind key-t vi copy o选择行;拷贝选择;复制管道“xargs-I{}tmux选择窗格-t1” 我的最后一部分是这样运行的: bind-t vi拷贝'y'拷贝选择 绑定-t vi复制y复制管道“xclip-sel clip-i” bind-t vi copy y y copy pipe“xargs-I{}tmux发
bind key-t vi copy o选择行;拷贝选择;复制管道“xargs-I{}tmux选择窗格-t1”
我的最后一部分是这样运行的:
bind-t vi拷贝'y'拷贝选择
绑定-t vi复制y复制管道“xclip-sel clip-i”
bind-t vi copy y y copy pipe“xargs-I{}tmux发送键-t1';调用OpenTestFile(\“{}\”)Enter”
如果我在复制模式下使用上述选项选择某个内容,则tmux为:
;调用OpenTestFile(“SELECTION”)
到1号窗格(我在那里打开了vim)OpenTestFile(input)
中,我意识到vim从tmux行选择中提取一个文件路径,并打开它进行编辑
但是我不想使用y
键,而是想使用o
键,这样做可以避免之前必须选择行
更新1
似乎不可能在一个模式中绑定多个命令 我没有测试这个特定的配置,但是一般来说,通过反斜杠转义
,您应该能够在一个绑定内执行多个命令代码>分隔符。您还可以使用反斜杠转义换行符,因此类似的方法应该有效(假设您引用的示例有效):
bind-t vi拷贝y\
复制选择\\
复制管道“xclip-sel clip-i”\\
复制管道“xargs-I{}tmux发送键-t1';调用OpenTestFile(\“{}\”)Enter”
原始tmux不允许为“模式”按键绑定多个命令
幸运的是,有一个mod允许这样做:
例如:
bind-key -t vi-copy o tcl { select-line; copy-selection; copy-pipe "xargs -I{} tmux select-pane -t 1" }
嘿,谢谢你的回复。但我需要这样:bind-t vi copy o select line\;复制选择
如果我这样写,我会收到一条消息:.tmux.conf:132:参数不够