iterm2 问题:使用与先前当前选项卡相同的路径创建新选项卡,但 2 个选项卡是克隆而不是独立的

iterm2 issue : create new tab with same path of previous current tab BUT 2 tabs are clones and not indepedent

我已经从 MacOS Mojave 上的默认终端切换到 iterm2。我有关于从当前选项卡打开新选项卡的问题。

确实,我希望与上一个当前选项卡处于同一路径。

为此,我执行了经典程序,即转到 iterm2 首选项和 Profile 并为新标签选择 Reuse previous session's directory :

然后,问题是一旦标签页打开,所有其他标签页都会受到影响并从它们的旧路径更改为新标签页的路径:我不明白会发生什么以及使用哪个选项来防止这种情况行为。

  1. 每个选项卡都与其他选项卡相同:如果我执行 cd ~/foo/,那么其他选项卡将进入 foo 目录。

  2. 结果更糟:如果我在一个选项卡中使用 vim 编辑文件,如果我在另一个选项卡中执行 cd ~/foo/,则与编辑文件关联的选项卡会消失正在清除此版本并显示与我所做的选项卡相同的 windows cd ~/foo/:非常奇怪。

我想保留所有其他选项卡的所有当前路径,但新选项卡除外,新选项卡必须与我从中执行 CMD+T 的前一个选项卡相同。

我在不同的论坛上看到有时会出现这个问题。

更新 1

据我所知,当我执行快捷方式 CMD+T 以获取独立于当前选项卡的另一个选项卡(我从中执行 CMD+T)时,似乎我必须找到一种创建新会话的方法).

但不幸的是,我没有找到如何在 iTerm2 中创建新会话(在 iTerm2 - Preferences - profile 中,我可以执行创建此新会话的脚本)。从此刻开始,您可以看到我在打开新选项卡时启动的命令(/bin/bash

我也尝试从源构建二进制 iTerm2,但问题仍然存在。

更新 2

我尝试使用一个小苹果脚本来强制从当前 window:

创建一个新会话
tell application "iTerm2"
    tell current window
        create tab with profile "Terminology2"
    end tell
end tell

(其中 Terminology2 是配置文件 Terminology(默认配置文件)的副本。

但总是同一个问题,这 2 个选项卡不是独立的:2 个选项卡中的每个命令都在另一个选项卡上执行。

更新 3

我继续尝试解决方案:为此,我删除了 macport 包以及隐藏文件和目录 ~/.iTerm2/

所以我从iTerm2官网下载了iTerm2 zip压缩包

这是我个人资料的屏幕截图:

此配置文件是否需要shortcut key才能打开新标签:问题似乎来自此选项,因为它可能与新标签的快捷方式无关? CMD+T已经是打开独立标签页的快捷方式了吧?

更新 4

终于找到了解决方案。来自经典的 MacOS 终端,我习惯于使用快捷方式 CMD+Shift+-> 或 CMD+Shift+<- 来更改选项卡。

但一个偶然的机会,我简单地尝试了快捷方式 CMD+-> 或 CMD+<-,因此能够在 2 个选项卡之间独立切换。

所以这是 iTerm2 世界初学者的一个错误,因为我习惯于应用默认终端的旧经典快捷方式。

如果其他人犯了同样的错误,他们就会知道这只是快捷方式的配置问题。

看到右上角的全屏输入图标了吗? Command-Shift-I 切换它。 (即大写 i)

听起来您启用了广播。要检查:

工具栏 > Shell > 广播输入 > 仅将输入发送到当前会话

OP 已经在 更新 4 中回答了这个问题,但如果有人直接跳到答案,解决方案是更新 Key Mappings 并创建两个新的条目 - CMD+SHIFT+LEFTCMD+SHIFT+RIGHT - 分别分配了 Previous TabNext Tab 的操作。

可以在 Preferences -> ${Your Profile} -> Keys 中创建这些条目,然后单击 Presets... 按钮附近的 + 图标。