将工作目录从一个终结器屏幕复制到另一个

Copy working directory from one terminator screen to another

如何使用键盘快捷键将一个终结器屏幕的工作目录复制到另一个?

比如我有两个split windows(感谢Ctrl+Shift+E)。其中一个将其工作目录 (wd) 设置为 ~,另一个将其 wd 设置为 ~/work/old/project/foo/bidule/version-2.6.7-a-beta/empty/test/latest。我想把第一个的wd改成第二个的wd。

第一种方法,在第一个拆分 window 上键入 cd ~/work/old/…。这可行,但这是一项艰巨的任务,因为目录名称很长且难以键入。

第二种方法,在第一个拆分 window 上输入 cd,然后从第二个终端的提示中复制并粘贴路径(如果提示没有,则从 pwd包含完整路径)。这行得通,但我们需要用鼠标从终端复制和粘贴文本,这对于手总是放在键盘上的人来说是一项艰巨的任务。 :)

有没有办法用快捷方式来做同样的事情?

我找到了一种基于 copy/paste 的方法,但它可以在键盘上使用。

在你的 .bashrc 中记录两个别名(或者到你的 shell 配置文件中,我不知道 zsh,csh...):

alias cywd='pwd | xclip -i' # CopY WD
alias pswd='cd "xclip -o"'  # PaSte WD

然后,您可以通过键入 cywd 从终端复制当前工作,并通过在另一个终端键入 pswd 转到此文件夹。

这个解决方案并不完美,主要是因为如果在要从中复制 WD 的终端上启动程序(例如 vimemacs -nw),则不容易获得。但是,它有效。等待更好的...

(我是 运行 BASH on Debian Jessie derived Bunsen Linux; terminator 0.97)

我的默认终止符将 Ctrl+Tab 定义为 'Focus the next terminal' 并且 似乎在拆分终端之间来回切换光标。

您可能还需要安装 xdotool:

$ sudo apt-get install xdotool

然后使用 X 选择保存当前工作目录并将其粘贴到另一个终端。

echo $PWD | xsel -i; xdotool key Ctrl+Tab; xdotool type 'cd $(xsel -o)'; xdotool key Return