使用预定义选项卡打开终端

使用预定义选项卡打开终端

有没有办法用预定义选项卡打开终端?我有 5 个最常用的路径,我想让终端在不同的选项卡中打开这些路径。我猜这应该是 AppleScript,但我没有足够的专业知识来编写它。你能帮助我吗?

谢谢。

答案1

nm,这是答案:

tell application "Terminal"
    activate
    do script "cd %path1%"
    tell application "Terminal" to set custom title of tab 1 of front window to "Name 1"
    tell application "System Events" to keystroke "t" using command down
    delay 0.05
    do script "cd %path2%" in window 1
    tell application "Terminal" to set custom title of tab 1 of front window to "Name 2"
end tell

这将打开带有路径 1 和选项卡名称 1 的终端,以及带有路径 2 和选项卡名称 2 的另一个选项卡

答案2

首先,关于 AppleScript 的几点仅供学习之用:

  • 如果两个命令都向同一个对象发送命令(telltell终端)。该tell块已足够;省略tell其中的语句以解决终端(但保留地址系统事件)命令将被发送到终端
  • 我不会系统事件创建新选项卡的快捷键。首先,快捷键可能会发生变化,或者应用程序可能会因某种原因失去焦点并错过按键事件。事实上,如果你没有do script瞄准窗口 1,而是让它不被定位,终端将继续自行创建新选项卡。这样就无需编写几行代码了。

因此,如果您需要做的只是在不同位置创建一堆标签,那么它会很简单:

    -- Launch terminal without creating any windows
    launch

    -- Create a bunch of tabs at desired path locations
    -- then clear the window to neaten its appearance
    do script "cd ~; clear"
    do script "cd /; clear"
    do script "cd /Applications; clear"

(您可以将所有这些放在一个tell块定位中终端;我只是设置脚本编辑器在导航栏中帮我完成此操作)。

要设置每个选项卡的标题(一次性创建所有选项卡),需要小心确保我们定位正确的窗户每个选项卡的对象。这些额外的代码行直接添加到上面的代码行之后,并命名选项卡“标签 1”、“标签 2”等,按照它们出现的顺序排列:

    -- Get window ("tab") id's and sort numerically
    -- with the help of bash functionality
    set IDs to id of every window
    set AppleScript's text item delimiters to " "
    do shell script ({¬
        "echo", ¬
        IDs, ¬
        "| tr ' ' '\n'", ¬
        "| sort -n", ¬
        "| tr '\n' ' '"} as string)
    set IDs to the words of result

    -- Give each tab a new custom title
    repeat with n from 1 to number of windows
        set custom title of tab 1 of ¬
            window id (item n in IDs) to ¬
            {"Tab", n} as string
    end repeat

窗口组

其次 - 最重要的是,因为这实际上直接回答了您的原始问题 - 根本不需要 AppleScript 来实现您想要的。 终端有内置方法来保存一组窗口(选项卡),然后在每次启动时重新启动这些窗口终端。 就是这样:

  1. 创建您想要的选项卡。将 cd每个选项卡放入您想要的位置(或在您希望的选项卡中运行任何命令)。
  2. 来自窗户菜单,选择将 Windows 另存为组...在弹出的对话框中,输入该组的名称,并选择是否希望每次启动时都打开这组窗口终端
  3. 现在他们可以了。您可以保存多个窗口组,然后从窗户菜单通过选择开窗集团
  4. 要管理这些已保存的组,请转至首选项 > 窗口组,您可以在其中删除不再需要的文件。

这样做的一个缺点是标签标题不会自动设置,尽管你可以在首选项 > 配置文件 > 窗口/选项卡

相关内容