osx终端在同一目录中的新选项卡

时间:2015-05-04 11:35:59

标签: macos tabs terminal

我不会是第一个问这个但我一直在努力解决这个googleing并且没有任何资源有用。我的问题很简单(解释),我想在终端应用程序的同一目录中打开一个新选项卡。现在,我打开的每个标签都在我的〜目录中打开。我也试过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

非常感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

所以,我遇到了这个问题,实际上已经解决了。我知道这篇文章已经过时了,但是如果对其他人有帮助,我会很高兴的。

我发现,如果主机名中包含空格,它将破坏终端随附的New tab in the same directory功能。

这里有几个例子。我的.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$ 

如果您已经检查过Terminal > Preferences > General中的设置正确。请看下面链接中的图片(我的代表不够高,无法嵌入图片)。您希望将New tabs open with:部分设置为Same ProfileSame Working Directory

Correct Terminal Settings

如果终端主机名中有空格,我认为您的问题与我的相同,这就是我解决的方法。在终端中输入以下命令,其中"Name-With-No-Spaces"部分位于其中,并带有您选择的名称不带空格!

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。希望最后,您将解决您的问题。我经历了数月的挖掘工作,并多次浏览了这篇文章,我觉得这个问题最准确地描述了我正在经历的事情。

答案 1 :(得分:1)

我遇到了这个问题,发现问题出在我在.zshrc中设置的随机zsh主题中。将主题设置为特定值后,将在同一目录中打开新选项卡。

答案 2 :(得分:0)

PS1的引用部分仅供我在同一文件夹中打开标签。 grgarside在 How to open a new Terminal tab in current working directory? 中的回答表明某些内容可能已经改变PROMPT_COMMAND;例如在virtualenvwrapper.sh脚本中。

解决此问题的一种简单方法是从更简单 .bash_profile开始(首先为空,以验证open-with-same-pwd功能是否有效),然后添加部件以查看是什么打破了它。