gpt4 book ai didi

shell - Z shell 中的 cd -1、-2、-3 等

转载 作者:行者123 更新时间:2023-12-03 11:31:52 24 4
gpt4 key购买 nike

您如何设置 Z shell,以便键入 cd - 为您提供以前访问过的路径列表,然后 cd -1、-2、-3 等将带您到目录?

最佳答案

如果您有 setopt AUTO_PUSHD在您的 .zshrc然后 cd会自动做一个 pushd您更改到的每个目录。以 ZyX 为例:

$ setopt AUTO_PUSHD
$ mkdir -p 1/2/3/4
$ cd 1
$ cd 2
$ cd 3
$ cd 4

您可以使用 dirs 查看目录列表。 :
$ dirs -v
0 ~/1/2/3/4
1 ~/1/2/3
2 ~/1/2
3 ~/1
4 ~

为了能够完成列表,您可以使用 +-cd 的参数( <TAB> 意味着您按下了 Tab 键):
$ cd +<TAB>
1 -- ~/1/2/3
2 -- ~/1/2
3 -- ~/1
4 -- ~

或者反过来:
$ cd -<TAB>
0 -- ~
1 -- ~/1
2 -- ~/1/2
3 -- ~/1/2/3

然后只需选择号码即可转到该目录:
$ cd +2
$ pwd
~/1/2

选项卡完整目录

我总是忘记执行以下操作的魔术序列,因此我更新了答案以解释这部分。
+-只会带你到目录,你不能用tab键完成堆栈中的路径(即 cd -2/<TAB>什么都不给你)。要使这项工作正常进行,您可以使用波浪号 ( ~ )。

3 中创建一些目录使这个例子更好。
$ mkdir 3/foo 3/bar 3/baz

然后在堆栈中找到目录。
$ cd ~+<TAB>
1 -- ~/1/2/3/4
2 -- ~/1/2/3
3 -- ~/1
4 -- ~

然后在条目上使用制表符完成。
$ cd ~+2/<TAB>
4/ bar/ baz/ foo/

关于shell - Z shell 中的 cd -1、-2、-3 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3986760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com