一直在用下面这样的方式在 .profile
中定义一些 alias
,可以用于快速跳转到一些经常会用到的目录。
alias p='cd /Users/user/Documents/Projects/example'
很好奇还没有其他也很方便的方式?
1 Mithril 2019-05-07 13:37:04 +08:00 ![]() 你可以试试 autojump https://github.com/wting/autojump |
![]() | 2 reus 2019-05-07 13:37:23 +08:00 cd - pushd autojump |
![]() | 3 alexfu 2019-05-07 13:37:50 +08:00 div class="reply_content">zsh 里的 z |
![]() | 4 LokiSharp 2019-05-07 13:41:05 +08:00 zsh+oh-my-zsh+autojump |
![]() | 5 Luckyray 2019-05-07 13:42:22 +08:00 via iPhone zsh 的 z 命令 |
![]() | 6 okampfer 2019-05-07 13:43:17 +08:00 via Android 试试 z 吧,oh-my-zsh 和 oh-my-fish 都有插件。 |
![]() | 7 xiaket 2019-05-07 13:46:00 +08:00 纯 bash 的解决方案, 设置 CDPATH |
![]() | 8 est 2019-05-07 13:49:56 +08:00 ln -s /Users/user/Documents/Projects/example ~/1 cd ~/1 |
9 MeteorCat 2019-05-07 13:54:09 +08:00 via Android autojump+1 |
![]() | 10 tomychen 2019-05-07 13:56:19 +08:00 z ? |
11 lampxiongdi 2019-05-07 13:58:07 +08:00 via iPhone z 值得拥有 |
![]() | 12 lanjz 2019-05-07 14:00:02 +08:00 ![]() |
![]() | 13 Rsl 2019-05-07 14:09:17 +08:00 autojump + 1 |
![]() | 14 lycbug666 2019-05-07 14:18:27 +08:00 z/autojump 跳转目录很方便,autojump 可以为目录设置权重 fasd 可以快速跳转 /模糊查找 /操作文件 fasd 提供了 -e 参数可以指定使用什么编辑器操作选定的路径 例如设置 ’ alias v='f -e vim', 就可以使用 v zsh 直接编辑 ~/.zsh 文件 |
![]() | 15 xlsepiphone 2019-05-07 14:22:27 +08:00 借楼问一下 mac 下面的 fish shell 有类似的命令行工具吗 |
16 pp3182429 2019-05-07 14:27:57 +08:00 我一般软连接 ```sh > ln -s /Users/user/Documents/Projects/example ~/example-works > cd ~/ex<tab> ``` |
17 quinoa42 2019-05-07 14:28:33 +08:00 via Android fzf cd ** |
![]() | 18 qgy18 2019-05-07 14:28:47 +08:00 oh my zsh 中的 j 命令,背后是 autojump 这个 plugin |
![]() | 19 lonelygo 2019-05-07 14:30:42 +08:00 z 和 j 都用,再来个 fzf 还是很爽的。 |
![]() | 20 CSM 2019-05-07 14:30:46 +08:00 via Android 我一般是手动跳转一次,以后再输入 cd /U 这样开头的几个就会有提示 |
![]() | 21 orzjerry 2019-05-07 14:42:58 +08:00 autojump + 1 |
22 myth PRO 用 screen,常用的目录一直开着对应的 windows (title 自动设置成目录名) 想去哪个目录,快捷键跳到对应的 windows 就好。 |
23 cuminflea 2019-05-07 14:53:57 +08:00 |
![]() | 24 Cooky 2019-05-07 14:54:52 +08:00 via Android 按住左 shift,右键“ 在此处打开 Linux shell ” |
![]() | 25 kevinroot 2019-05-07 14:55:31 +08:00 autojump + 1, j 目录名 |
26 iceiceice 2019-05-07 14:57:35 +08:00 autojump +1 |
![]() | 27 mcfog 2019-05-07 15:09:08 +08:00 @xlsepiphone 可以参(抄)考下我的 https://github.com/mcfog/dotfiles-fish, 纯 fasd 可以用最老的这个 https://github.com/mcfog/dotfiles-fish/blob/3eefb2c37a70e08062252328638714b36b38691e/custom/fasd.fish, 但强烈建议整合 fzf 用,就是这个 https://github.com/mcfog/dotfiles-fish/blob/master/functions/j.fish 另外这几个 autojump j z fasd 都是老古董了,新一点的有个 rust 的 autojump-rs 和一个作者好像在本站的 z.lua |
![]() | 28 lululau 2019-05-07 15:12:13 +08:00 我用的 autojump + fzf 和自定义的一些 zle widget 可以实现这些目录跳转方式: 1. alt-a -> cd .. | alt-p -> cd $OLD_PWD | alt-P -> project root dir 2. alt-c -> recursive subdirectories tree using fzf 3. alt-C -> non-recursive subdirectories list using fzf 4. alt-j -> autojump historical dir list using fzf 5. SPC-d-d -> cd ~/Downloads 6. SPC-d-m -> cd ~/Movies 7. SPC-d-c -> cd ~/.config ... ... |
![]() | 29 lc4t 2019-05-07 15:32:32 +08:00 一直使用 autojump,然后其他命令会用一个 shell 来调用,相当于一个控制台 |
![]() | 30 mcfog 2019-05-07 15:34:04 +08:00 @Livid fzf 配合简单的文本文件就能实现非常流畅“书签收藏”功能,和大家讲的基于历史的 autojump 系列不一样,完全自己控制, 灵感来自这个 https://dmitryfrank.com/articles/shell_shortcuts,后来我自己移植(重写)了 fish 的,直接在指定目录下 fav <别名> 收藏,favdel 取消收藏,jf <query>跳转,然后绑定一下 jf,幸福指数特别高 https://github.com/mcfog/dotfiles-fish/commit/98ac3048296f7523ffec4fdadae45a8f440b0efe |
31 wednesdayco 2019-05-07 15:45:29 +08:00 zsh plugins=( git zsh-autosuggestions autojump ) |
![]() | 32 3CH0 2019-05-07 15:46:51 +08:00 |
33 yulewg 2019-05-07 15:47:47 +08:00 我一直用 zsh 的 wd |
34 L3au 2019-05-07 15:54:33 +08:00 oh-my-zsh z [regex1 regex2...] 跳转到最近最匹配的目录 d 命令展示最近访问的目录,再通过数字跳转 |
![]() | 35 yzlnew 2019-05-07 17:06:22 +08:00 via Android 虽然 z.lua 很快,但是还是习惯 autojump 了 |
36 mr2xd 2019-05-07 17:10:20 +08:00 服务器装 ohmyzsh 有没有什么风险 |
![]() | 37 CivAx 2019-05-07 17:21:43 +08:00 实际上如果你的目录真的很常用,那么你一定至少在 1000 行 History 里输入过至少 1 次完整路径 那么问题就已经解决了。Ctrl+R 打开搜索,敲入关键字就能补全你的 CD 命令,回车完事 完全不需要任何调配和额外软件 |
![]() | 38 ingin 2019-05-07 17:25:38 +08:00 人家都说了 bash !!! |
![]() | 39 Mithrandir 2019-05-07 17:31:09 +08:00 z |
40 alkene 2019-05-07 18:26:09 +08:00 |
![]() | 41 charles2java 2019-05-07 18:28:54 +08:00 via Android 一个 source cdDir.sh 即可,不需要安装其他 |
![]() | 42 kevinhwang 2019-05-07 19:41:54 +08:00 [z.lua]( https://github.com/skywind3000/z.lua ),支持 bash,支持常用目录跳转,支持快捷键,配合 fzf 使用。 |
![]() | 44 ynyounuo 2019-05-07 20:06:10 +08:00 推荐 z.lua ,好处在于作者在意产品的速度和表现,并且持续维护并增加一些新的功能。虽然很多功能比较 niche,但可以稳定改善切换目录的习惯,比如说 `-b`。 |
45 RaymondYip 2019-05-07 21:20:51 +08:00 autojump +1 |
46 huxiaohaiyang 2019-05-07 21:42:47 +08:00 iTerm2->Profiles-> add one |
47 ifaii 2019-05-07 21:51:47 +08:00 ctrl+r 反向搜索 特别好用 |
![]() | 48 itechify PRO zsh/oh-my-zsh/autojump,谁用谁知道 |
![]() | 49 tinywhale 2019-05-07 22:26:39 +08:00 一个 script 搞定 https://github.com/rupa/z |
50 Kobayashi 2019-05-07 22:47:02 +08:00 ![]() autojump 又慢( Python 性能问题)功能又差(通过 cd 命令次数计算使用频率),为什么不用点好的? 速度快选 zsh-z, z-lua。功能强选 fasd。这几位速度都比 autojump 好,而且基于目录下执行命令的次数做使用频率统计,比 autojump 好很多。 方案二是做书签,跳到书签后根据情况再用 cd 跳。ZSH 插件 urbainvaes/fzf-marks 专门来干这个的。 方案三,配合 TUI 文件管理器,利用文件管理内置书签功能,跳转。配置为退出文件管理器切换目录即可。参考 ranger 和 vifm。 从问题来看,说的是 Bash,恐怕只能方案三。 参考链接: 1. autojump, z, z.lua, fasd 实现方案和速度对比,https://sjc.v2ex.com/t/528858 2. fuzzy finder 做书签,https://github.com/urbainvaes/fzf-marks 3. ranger 退出文件管理器自动切换路径,https://github.com/ranger/ranger/blob/master/examples/bash_automatic_cd.sh 4. vifm 退出文件管理器自动切换路径,https://wiki.vifm.info/index.php/How_to_set_Vifm_current_directory_after_leaving_sub-shell |
![]() | 51 Oneneuuu 2019-05-07 23:02:58 +08:00 习惯 ctrl +r & zsh-autosuggestions |
52 yim7 2019-05-07 23:09:42 +08:00 实用方式 z 还有简单的 pushd popd |
![]() | 53 Tink PRO z |
54 cuminflea 2019-05-07 23:24:48 +08:00 via iPad https://jeoygin.org/2018/01/20/customize-macOS-5/ 这篇文章里梳理了一下类似的东东 |
![]() | 55 vHypnos 2019-05-08 01:47:27 +08:00 autojump +1 |
56 SharkIng 2019-05-08 01:59:19 +08:00 autojump 或者 z 我个人更喜欢 autojump 一些 前往以前去过的 directory 的时候可以 j dir_name 这样直接跳转 |
![]() | 57 lilpig 2019-05-08 07:37:44 +08:00 via Android autojump |
58 ytlm 2019-05-08 07:51:34 +08:00 via Android autojump + fzf |
59 zhouzm 2019-05-08 07:53:31 +08:00 |
![]() | 60 jianzong 2019-05-08 11:43:26 +08:00 因为不喜欢工具上的依赖,所以一直避免使用 zsh 和 第三方工具,我的办法是用 alfred 联想到目录之后,拖拽过去 terminal。很好奇有没有其他人也是这么做的。 |
![]() | 61 SenLief 2019-05-08 12:21:56 +08:00 via Android z? |
![]() | 62 henryhu 2019-05-08 12:24:03 +08:00 |
![]() | 63 IanPeverell 2019-05-08 12:33:42 +08:00 .bash_profile 里面定义一些变量,比如 nvm 就是通过 export NVM_DIR="$HOME/.nvm",就可以直接 cd $NVM_DIR 了 |
64 blueswhisper 2019-05-08 14:50:02 +08:00 z +1 |
65 NB40B938mff85mtq 2019-05-08 14:57:17 +08:00 我觉得软链和别名就挺方便啊.....(手动狗头 |
66 dodo2012 2019-05-08 15:02:06 +08:00 z,一直在用 |
![]() | 67 kzzhr 2019-05-08 16:58:17 +08:00 via iPhone 没有人用 hash -d 么。 再加 ctrl r 的模糊匹配,感觉还可以 |
![]() | 68 Lumuy 2019-05-08 18:27:03 +08:00 via Android z,很智能 |
![]() | 69 ngn999 2019-05-08 18:29:46 +08:00 autojump +10086. 还看到 hacer news 上有讨论一个[z.lua]( https://github.com/skywind3000/z.lua), 没用过,不评价 |
![]() | 70 MrUser 2019-05-08 20:04:36 +08:00 |
![]() | 71 ech0x 2019-05-08 20:05:24 +08:00 试试 z.lua |
![]() | 72 Imr 2019-05-09 08:24:25 +08:00 via iPhone 1. 常用目录 ln -s 放常用目录下,比如 ~ 2. alias 挺好用啊,有什么不妥吗 |
73 quinoa42 2019-05-10 02:58:08 +08:00 c() { cd $(fd --absolute-path -L -t d . $1 | fzf) } |