gpt4 book ai didi

tmux - 将文件从 tmux Pane (或窗口)目录复制到另一个 Pane (或窗口)目录

转载 作者:行者123 更新时间:2023-12-02 18:34:28 25 4
gpt4 key购买 nike

示例:

2 个 Pane 。

Pane 1 当前目录:/a/b/c/d

Pane 2 当前目录:/a/f/g

我想将 Pane 1 的当前目录中的 file.csv 复制到 Pane 2 的当前目录。

我做什么:

在 Pane 1 中:

cp file.csv ../../../f/g

从 Pane 1 中的目录找到正确的相对路径既缓慢又烦人,我觉得我可以将文件从一个 Pane “拖放到”另一个 Pane 。

有没有办法做类似拖放的事情?

“好”解决方案的示例:

cp file.csv $pane2dir

谢谢

最佳答案

我的 tmux.conf 中有以下内容

# get directory from other pane using xsel
bind J run-shell -b -t bottom "echo -n #{pane_current_path} | xsel -i"
bind K run-shell -b -t top "echo -n #{pane_current_path} | xsel -i"
bind H run-shell -b -t left "echo -n #{pane_current_path} | xsel -i"
bind L run-shell -b -t right "echo -n #{pane_current_path} | xsel -i"

我想要复制到的 Pane 通常位于当前 Pane 的左侧或右侧。如果它在右边我会做 <prefix> shift-l将右侧 Pane 的当前目录放入剪贴板。

为了满足您的解决方案要求,人们可以修改它来创建一个命令,例如:

cp file.csv $(tmux run-shell -b -t right "echo -n #{pane_current_path} |xsel -i" && (sleep 0.01; xsel -o))

为了方便起见,将这些内容放入 shell 脚本中是有意义的。

给出答案后,我稍微思考了一下,得出了以下结论

bind L if-shell -b -t right "tmux set-buffer -b panedir #{pane_current_path}" "paste-buffer -db panedir"

它将“右” Pane 的当前目录直接放在命令行上。

关于tmux - 将文件从 tmux Pane (或窗口)目录复制到另一个 Pane (或窗口)目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33004816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com