【发布时间】:2013-04-14 15:15:00
【问题描述】:
在我的桌面管理器中,我已将fish 绑定到键盘快捷键Ctrl + ~。在启动时,fish 打开目录/usr/lib/lightdm/lightdm。这很烦人,因为我与 lightdm 没有任何业务往来,我通常在我的 $HOME 目录中处理代码。
如何更改鱼的启动目录?我想把启动目录改成~/
【问题讨论】:
在我的桌面管理器中,我已将fish 绑定到键盘快捷键Ctrl + ~。在启动时,fish 打开目录/usr/lib/lightdm/lightdm。这很烦人,因为我与 lightdm 没有任何业务往来,我通常在我的 $HOME 目录中处理代码。
如何更改鱼的启动目录?我想把启动目录改成~/
【问题讨论】:
我发现在启动时运行的config.fish 文件一直在更改我的默认工作目录。
设置我的PATH 的错误尝试在我的config.fish 中留下了一个目录列表,其中第一个是/usr/lib/lightdm/lightdm。 Fish 自动假定没有命令的目录应该是 cd`d 进入,所以我的 shell 在启动时是 cd`进入该目录。
我删除了杂散线,一切都很好。
要更改您的 fish 启动目录:
将cd /path/to/new/startup/directory 添加到您的~/.config/fish/config.fish 文件中,如果不存在则创建它。
【讨论】:
cd 添加到您的config.fish,它将适用于日常使用,但fish 也会在您运行任何Fish shell 脚本之前运行cd。因此,如果您尝试使用相对于当前目录的路径运行脚本,例如 fish hello.fish 或 ./hello.fish,那么除非您已经在您指定的自定义目录。
正如@nathaniel-waisbrot 在this answer 中所说,您只能在交互式运行fish 时cd(shell 而非脚本):
# ~/.config/fish/config.fish
if status is-interactive
cd $HOME
end
使用fish的status命令
如果这不适合您,那可能是您的鱼主题。我使用具有a bookmarking feature 的dangerous theme。从我的启动目录中删除书签为我解决了这个问题。
【讨论】:
虽然与 OP 的问题没有直接关系,但它足够接近,以至于我的搜索出现了这个线程。所以我将这个答案分享给其他搜索者。
iTerm 将在其“排列”选项卡下存储路径(连同选项卡、选项卡标题和窗口布局)。显然,当我设置默认排列时,我打开了一个选项卡到 /。
我可以通过cding 到我的主目录并更改我的默认窗口排列来将其更改为我想要的任何内容。
我想如果您没有默认安排,“重用以前会话的目录”选项将适用于新会话,但不适用于恢复的安排。
【讨论】: