带有指定窗口的Mac OS X / Open终端

时间:2009-07-19 17:28:08

标签: macos terminal

是否可以打开带有3个标签的终端窗口。每个标签应该有不同的路径。

示例:

Tab1: /etc
Tab2: /bin
Tab3: /www/ tail -f file.txt

9 个答案:

答案 0 :(得分:42)

这绝对是可能的,但您需要做一些工作。您需要的第一件事是在设置中设置您想要的每个窗口/选项卡:

Settings

每次打开终端时,我都会自动打开4个选项卡。 DB ShellEditorServerShell。这些都在Sasquatch(不要问)项目中,因此命名。然后,每个应该具有与它们相关联的唯一命令:

startup cmd

在这种情况下,我正在执行vim。如果您碰巧有一个特定的目录,那么您可以使用vim ~/projects/main/之类的内容。真正想要进入的是shell打开时将执行的命令。现在您需要打开所有窗口/标签:

  1. 关闭所有内容。
  2. 为每个配置文件打开一个新窗口。
    • 转到Shell菜单=> New Tab / New Window =>选择您在上面创建的配置文件。
    • 对所需的每个窗口或标签重复此操作。
  3. 打开所有窗口和/或标签后,将其另存为窗口组。
    • 转到Window菜单=> Save Window As Group...
    • 为您的窗口组命名(稍后会有所帮助)。
    • 如果您希望每次打开终端时都打开此组,请选中此屏幕底部的框,然后点击“保存”。
  4. 关闭所有Windows / Tabs(测试时间!)。
  5. 打开新的窗口组。
    • 转到Window菜单=> Open Window Group =>选择您刚刚制作的组。
  6. 这应该弹出你刚才拥有的所有窗户,处于同一位置。您在Settings中设置的每个命令都应在各自的选项卡中启动。

答案 1 :(得分:12)

从Mac OS X Lion 10.7开始,无需为每个命令创建新配置文件,终端便可轻松完成。

  1. 默认情况下,终端将记住并恢复窗口组中每个终端的当前工作目录。 (如果使用转义序列将工作目录传递给终端。默认shell bash将在每个命令提示符处执行此操作。对于其他shell,您需要调整/etc/bashrc中的代码。)

  2. 如果使用 Shell>创建终端新命令,终端将在打开窗口组时自动运行该命令。终端将自动运行一组有限的“安全”命令†,当保存一个窗口组时,可以选择运行该组中的所有命令。

  3. 当启用Resume重启终端时,终端也会自动为所有窗口执行这些操作。因此,您甚至可能不必创建一个窗口组,具体取决于您的具体情况。

    对于您的示例案例:

    1. 使用 Shell>新命令运行“tail -f /www/file.txt”。
    2. 创建一个新标签和“cd / etc”。
    3. 创建一个新标签和“cd / bin”。
    4. 使用窗口>保存它们将Windows保存为组。请务必选中“恢复所有命令”复选框。
    5. 每次打开该窗口组时,它都会重新创建这些窗口并运行命令。如果需要运行命令指定起始目录,请在“新建命令”对话框中选中“在shell中运行命令”复选框并输入命令“cd;”。

      另请注意,您可以通过终端>告诉终端在启动时打开您的窗口组。偏好>启动>在启动时,打开>窗口组。保存新的窗口组时,甚至还有一个复选框来设置它。

      †“安全”命令包括/ etc / shells中列出的任何内容,以及:screen,tmux,emacs,vi / vim,nano,pico和top。您可以使用“defaults write com.apple.Terminal RestorableCommands”自定义列表。将其设置为包含命令名称或完整路径的字符串数组。某些命令具有“不安全”的参数,无需用户干预即可自动运行,因此默认情况下,如果这些命令没有任何参数,则这些命令仅被视为“安全”。要使命令安全地使用参数运行,请添加一个星号,例如,“top *”是此首选项的默认值。

答案 2 :(得分:6)

你可以在终端内做你想做的事。

如果在终端首选项(设置选项卡)中创建新配置文件(或复制具有重复设置的配置文件),则可以将每个配置文件设置为在启动时运行命令(配置文件中的“Shell”子组)。

然后使用Shell>设置标签。 “新建选项卡”菜单,用于为您为三种不同的可执行文件创建的每个特定配置文件创建新选项卡。

然后执行保存窗口组以保存选项卡组(并且它也将保存其配置文件)。

答案 3 :(得分:5)

我建议使用iTerm代替终端。如果只是因为它更具可配置性。您可以编写脚本,但更重要的是您可以创建书签文件夹(每个选项卡一个),然后“在标签中打开”,这将为您提供所寻找的行为。

答案 4 :(得分:1)

我怀疑你也可以控制要执行的命令。我使用的程序之一创建了一个单选项卡终端窗口并安排在继续执行命令提示符之前执行配置文件设置脚本 - 对于多选项卡终端也是如此。该文件是MacOS X属性XML文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandString</key>
    <string>. /Applications/IBM/informix/demo/server/profile_settings</string>
    <key>FontAntialias</key>
    <false/>
    <key>RunCommandAsShell</key>
    <false/>
    <key>ShowShellCommandInTitle</key>
    <true/>
    <key>TerminalType</key>
    <string>xterm</string>
    <key>WindowTitle</key>
    <string>IDS Command Window</string>
    <key>name</key>
    <string>IDS Command Window</string>
    <key>type</key>
    <string>Window Settings</string>
</dict>
</plist>

您可以单击它并启动终端窗口,设置配置文件设置,然后您有一个命令提示符键入。据推测,将'dot'命令更改为问题的'tail'命令会起作用;可能是设置为'RunCommandAsShell'的'<true\>'键会用命令替换普通的shell - 这可能更适合这个问题。

答案 5 :(得分:1)

另一种方法是使用Elscripto ruby​​ gem:https://github.com/Achillefs/elscripto。它允许yuo使用YAML文件轻松指定终端选项卡

答案 6 :(得分:0)

打开所需的标签,然后根据需要设置每个标签,例如在标签1,cd /etc,标签2 cd /bin等等。现在转到Window&gt;将Windows保存为组。单击“终端启动时使用窗口组”复选框,然后单击它!

答案 7 :(得分:0)

http://www.iterm2.com/#/section/features/split_panes

“将一个标签分成多个窗格,每个窗格显示不同的会话。您可以垂直和水平切片,并以任何可想象的排列创建任意数量的窗格。”

答案 8 :(得分:0)

如何创建自定义iTerm2窗口排列

创建一个自定义键盘快捷键,以自动生成一组窗口并在进程运行时拆分。

使用快捷键cmd + shift + w transform将您的窗口排列拆分为3个面板

https://www.youtube.com/watch?v=Rg8AT-nds1Q