Shell 如何将启动目录重置为Fish中的主页?

Shell 如何将启动目录重置为Fish中的主页?,shell,fish,Shell,Fish,在我的桌面管理器中,我已将fish绑定到键盘快捷键Ctrl+~。启动时,fish打开目录/usr/lib/lightdm/lightdm。这很烦人,因为我与lightdm没有业务往来,而且我通常在我的$HOME目录中处理代码 如何更改fish开始的目录?我只想将启动目录更改为~/我发现启动时运行的config.fish文件正在更改我的默认工作目录 设置我的路径的错误尝试在我的config.fish中留下了一个目录列表,第一个目录是/usr/lib/lightdm/lightdm。Fish自动假定

在我的桌面管理器中,我已将
fish
绑定到键盘快捷键Ctrl+~。启动时,
fish
打开目录
/usr/lib/lightdm/lightdm
。这很烦人,因为我与lightdm没有业务往来,而且我通常在我的
$HOME
目录中处理代码


如何更改fish开始的目录?我只想将启动目录更改为
~/

我发现启动时运行的
config.fish
文件正在更改我的默认工作目录

设置我的
路径的错误尝试在我的
config.fish
中留下了一个目录列表,第一个目录是
/usr/lib/lightdm/lightdm
。Fish自动假定没有命令的目录应该是
cd
`d-into,因此我的shell在启动时是
cd
`ing-into-into-into-into-into-into-into-into-into-into-into-into-into-into-into-into-into

我去掉了杂散的线路,一切都很好

更改fish启动目录:
cd/path/to/new/startup/directory
添加到您的
~/.config/fish/config.fish
文件中,或者在文件不存在时创建它。

正如@nathaniel waisbrot在中所说的,您只能在交互运行fish时使用
cd
(shell而不是脚本):

使用fish的
状态
命令

如果这不适合你,那可能是你的鱼主题。我用的是那个有。从我的启动目录中删除书签为我解决了这个问题。

虽然与OP的问题没有直接关系,但距离足够近,我的搜索结果显示了这个线程。所以我将这个答案分享给其他搜索者

iTerm将把路径(以及选项卡、选项卡标题和窗口布局)存储在其“安排”选项卡下。显然,当我设置默认排列时,有一个选项卡打开到
/

我可以通过
cd
ing进入我的主目录并更改默认窗口排列,将其更改为我想要的任何内容


我想,如果没有默认安排,“重用以前会话的目录”选项将适用于新会话,但不适用于恢复的安排。

不,不要这样做!如果将
cd
添加到
config.fish
中,它将适用于日常使用,但是
fish
也将在运行任何fish shell脚本之前运行
cd
。因此,如果您尝试使用相对于当前目录的路径运行脚本,如
fish hello.fish
/hello.fish
,则会出现类似“hello.fish:没有这样的文件或目录”的错误,除非您已经在指定的自定义目录中;通过将cd添加到config.fish,在每个shell命令之前执行cd会导致大量问题(例如,vifm变得非常糟糕)。我是通过艰苦的努力才学会的如果这个答案错了,有人能提供更好的答案吗?是正确答案,不会影响脚本或其他程序的任何shell命令调用。
# ~/.config/fish/config.fish

if status is-interactive
  cd $HOME
end