我在有限的企业环境中工作。我通过 Putty 在 ssh 中执行操作(不能使用任何其他终端),在我的 Linux 环境中,当我执行 vim 复制或 tmux 复制时,我添加了将复制内容放入“~/.copy-buffer”中的行为。
然后我在Windows上创建了以下bat脚本:
type \\path\to\linux\shared\drive\home\.copy-buffer | clip
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%{TAB}"
运行时,此脚本会将 .copy-buffer 文件的内容放入我的 Windows 剪贴板。然后我创建了此脚本的快捷方式,并在快捷方式属性中将Ctrl+Alt+C
其绑定。
这可行,但有两个问题:
Ctrl+Alt+C
当我按下执行脚本时需要几秒钟- 一旦执行,我将失去当前窗口的焦点,我必须再次单击它
我的问题是:有没有办法替代第二步(bat 脚本)并快速复制文件内容而不会失去焦点?该文件可以被视为普通的 Windows 文件,因为它可以通过网络透明地访问。
答案1
您可以使用免费自动热键。
如果我正确理解了您的脚本,则以下 AutoHotkey 脚本将由 ++Ctrl触发并将 您的文件复制到剪贴板,然后 向活动窗口发出++ :AltCCtrlAltTab
^!c::
FileRead, Clipboard, \\path\to\linux\shared\drive\home\.copy-buffer
Send, ^!{Tab}
安装 AutoHotKey 后,将上述文本放入一个.ahk
文件中并双击进行测试。您可以通过右键单击托盘栏中的绿色 H 图标并选择退出来停止脚本。要让它在登录时运行,请将其放在 的启动组中
C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
。
有用的 AutoHotkey 文档: