OSX终端:在同一目录下打开新标签页

6

我不会是第一个提出这个问题的人,但我已经尝试通过谷歌搜索解决了很多次,但没有一个资源是有用的。我的问题很简单(解释起来),我想在终端应用程序中打开同一目录下的新选项卡。现在,我打开的每个选项卡都在我的〜目录中打开。我还尝试过iTerm2,但问题仍然存在。这是我的.bash_profile:

# Git configuration
parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1) /'
}

# Command line prompt
PS1='[\t] \[\e[0;32m\]\u@\h\[\e[m\]:\w \[\e[0;34m\]$(parse_git_branch)\[\e[m\]> '

# virtualenvwrapper
source /usr/local/bin/virtualenvwrapper.sh

# alias for mysql
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop'

export PATH=$PATH:/usr/local/mysql/bin

Thank you very much for your help in advance.


1
http://apple.stackexchange.com/questions/148508/how-to-open-a-new-tab-in-iterm-in-the-same-folder-as-the-one-that-is-open - baf
我已经看过那篇文章,但是在偏好设置中并没有那个选项,这是因为我使用的是终端而不是iTerm。 - pypy
好的。但是你写道:“我也尝试过iTerm2,但问题仍然存在。” - baf
好吧,这并不完全是我要找的,因为我想解决终端的问题。但是感谢提供链接,iTerm 可以正常使用,所以我会使用 iTerm。让我们看看是否有人知道如何解决终端的问题。 - pypy
你好,我知道你几年前发布的内容了,但我有一个对我有效的解决方案。希望你已经解决了这个问题,如果没有,请试一下,让我知道是否适用于你! - Aaron Kippins
3个回答

5

因此,我遇到了这个问题,并且刚刚解决了它。我知道这篇文章很旧,但如果能帮助其他人,我会很高兴。

我发现,如果您的主机名中有空格,则会破坏终端配备的在同一目录下打开新标签页功能。

以下是两个示例。我的.bash_profile被编辑并稍微更改了我的提示,因此每个示例中都有两个示例。您应该关注Kippins MacBook Pro部分。这不应该有空格!!!

错误示例!

Last login: Sat Oct 19 22:59:36 on ttys004
kippins@Kippins MacBook Pro:~$

Last login: Sat Oct 19 23:06:32 on ttys000
Kippins MacBook Pro:~ kippins$ 

好的例子!

Last login: Sat Oct 19 22:59:36 on ttys004
kippins@Kippins-MacBook-Pro:~$

Last login: Sat Oct 19 23:06:32 on ttys000
Kippins-MacBook-Pro:~ kippins$ 

如果您已经检查了在终端 > 首选项 > 常规中的设置是否正确,请参阅下面链接中的图片(我的声望不足以嵌入图片)。您需要将新标签页打开方式:部分设置为相同配置文件相同工作目录正确的终端设置 如果您的终端主机名中有空格,我认为您的问题与我的相同,以下是我如何解决的方法。在终端中输入以下命令,并将"Name-With-No-Spaces"替换为您选择的名称没有空格!!!您需要具有root访问权限。
sudo scutil --set ComputerName "Name-With-No-Spaces"
sudo scutil --set LocalHostName "Name-With-No-Spaces"
sudo scutil --set HostName "Name-With-No-Spaces"
dscacheutil -flushcache

完成以上所有步骤后,您需要重新启动您的 Mac。希望最终您能够解决问题。我花了几个月的时间进行研究,多次查看此帖子,我认为这个问题最准确地描述了我的情况。


2
我遇到了这个问题,并发现问题出在我设置的随机zsh主题上。将主题设置为特定值后,新标签页会在同一目录中打开。"Original Answer"翻译成"最初的回答"。

2

只需将 PS1 的引用部分用于我在同一文件夹中打开选项卡。grgarside 在 如何在当前工作目录中打开新的终端选项卡? 中的答案表明,某些东西可能已经更改了 PROMPT_COMMAND; 例如在 virtualenvwrapper.sh 脚本中。

解决此问题的简单方法是从一个更简单.bash_profile 开始(首先为空,以验证打开具有相同 pwd 功能的有效性),然后添加部分以查看哪些内容会破坏它。


我已经尝试清空.bash_profile并添加内容。然而,由于iTerm正常工作,这意味着与.bash_profile文件无关。谢谢。 - pypy
1
我发现在我的.profile中包含export PROMPT_COMMAND='history -a'会导致终端停止为新选项卡设置正确的路径(即使设置了“新选项卡打开方式:相同的工作目录”,它也总是在主目录中打开)。这也防止了在终端重新启动并恢复以前的窗口时恢复目录位置。 - Matthias Fripp
感谢 @matthias-fripp 的提示。那也是我的情况。 - nataliastanko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接