我正在远程计算机上执行所有代码。我在笔记本电脑上使用 sshfs 安装了远程文件系统,因此我可以使用自己喜欢的文本编辑器等。即在我的终端窗口中,我运行一个 ssh 会话,在其中输入命令,并在本地编辑器中打开一个已安装的文件。
唯一乏味的是,每次我想打开文件或目录时,我都必须在新的终端窗口中一路导航到本地安装的目录。
有没有一种巧妙的方法可以定义命令/键盘快捷键,以便我可以立即从 ssh 会话打开本地文件/目录?
我想到:
- 一个通过 ssh 从远程向我自己的笔记本电脑发送命令的脚本
- 以某种方式使用粘贴板(在远程执行 pwd,将其复制到粘贴板,将其转换为本地安装文件系统的路径)
- 使用 applescript (因为我在 Mac 上工作)并为 Terminal.app 提供新服务
但到目前为止我还没有能够解决这个问题。
答案1
如果遥控器上有 X11 并且您使用 来连接它,ssh -X
那么您已经有一个返回本地计算机的反向通道。在遥控器上给自己写一个小脚本,例如fff
:
#!/bin/bash
mountpoint=/mnt/remote
case $1 in
/*) file="$1" ;;
*) file="$PWD/$1" ;;
esac
echo "$mountpoint/$file" | xsel -p
然后,当您想要传回文件名时,在远程类型fff
和要使用制表符补全等进行编辑的文件名上。脚本将在文件名前面添加挂载点,并将 X11 主选择设置为结果。
在本地计算机上,您现在只需键入vi
并按鼠标粘贴按钮即可将正确的本地等效文件名添加到命令中。