最近在 linux shell 终端上调试一些项目,要经常切换目录路径,频繁 cd 。 使用 C++和 shell 编写了一工具,该工具在 linux shell 终端上管理目录路径,自定义的 pa 命令方便快捷地到达某一指定的目录中,从此告别频繁枯燥地来回 cd 。
代码仓库在评论区。欢迎提出各种问题。
![]() | 1 k9982874 2023-08-09 12:07:10 +08:00 via Android z??? |
![]() | 2 lixiang2017 2023-08-09 12:08:57 +08:00 via Android auto-jump, j? |
3 sunhang09 OP 不是的,是自己写的命令。pa 命令。paths-mgr 的缩写 @lixiang2017 |
![]() | 6 chotow 2023-08-09 12:31:06 +08:00 via iPhone ![]() 这个 pa ,我第一眼以为是…… 啪的一下就切换目录了,很快啊! |
7 lyyQAQ 2023-08-09 12:32:01 +08:00 @sunhang09 #4 zsh 的一个自带插件,它会记录所有你去过的路径,下次再去的时候输入 `z [你去过的路径的一部分]`就可以直接过去 比如我有一个目录 `/home/ubuntu/tools/clash/` 我 cd 进去过一次之后,下次不管我在哪里,我直接输入`z cl`就会跳过去。 @lixiang2017 说的 autojump 也是一个 zsh 插件,功能和 z 类似 |
8 nightwitch 2023-08-09 12:32:56 +08:00 via Android 虽然发明轮子的精神可嘉。但是社区太多类似的久经考验的项目了。z.sh ,autojump 等等太有名了 |
9 yarnom 2023-08-09 12:33:53 +08:00 via Android 挺好的,相当于常用路径,但是我可能会更倾向直接使用 ln 命令,或者 nnn 或 ranger 这类终端文件管理器 |
![]() | 10 israinbow 2023-08-09 12:38:27 +08:00 ![]() @sunhang09 #4 zoxide, 全平台的, 我在 windows 和 mac 上也在用. https://github.com/ajeetdsouza/zoxide |
11 deplivesb 2023-08-09 12:43:50 +08:00 重复造轮子 |
![]() | 12 tool2d 2023-08-09 12:54:15 +08:00 挺好的,搞的我也想写一个了。 主要是人懒,不想打字,就想用上下左右箭头。 我发现自己的服务器上,bash_history 里重复的命令,能占到 80%,但是每次 ssh 后,都要重复输入一次。做成快捷方式就快多了。 |
13 NessajCN 2023-08-09 13:13:00 +08:00 alias zcl='cd ~/tools/clash' ? |
14 Alias4ck 2023-08-09 13:24:30 +08:00 重复造轮子精神可嘉 但是有可能别人的轮子,功能更多更好 比如 zoxide 哈哈哈 |
![]() | 16 fxxkgw 2023-08-09 13:37:03 +08:00 via Android pushd popd ? |
![]() | 17 mineralsalt 2023-08-09 13:43:35 +08:00 zsh 有个 autojump 的插件, 和你的功能应该是一样的吧 |
19 66z 2023-08-09 15:02:38 +08:00 学到了 zoxide 很好用 |
![]() | 23 wildman9527 2023-08-09 20:33:21 +08:00 @chotow #6 趁路径不注意, 偷袭~, 不讲武德! |
![]() | 24 acerphoenix 2023-08-09 23:23:08 +08:00 我最早用 autojump ,然后用 z.lua, 现在用 zoxide ,主要是配合 lf 就它跑通了。 |
![]() | 25 proxytoworld 2023-08-10 02:17:24 +08:00 @eggt 手动安装 |
26 james122333 2023-08-10 07:18:38 +08:00 via Android 这种东西特地用其它语言写是不好的 两种方法是不错的 一种是将目录位置存为变量 不论是命令呼叫还是参数补全皆可用(目录下目录或档案) 因为有 glob bash 通常用这种方式 虽然不是太好但可以接受 也可以使用 shopt -s direxpand 按下 tab 后将变量转为位置 另一种是 zsh 有提供的 非常好的功能 hash -d abc=/etc (将位置 hash 起来) hash -d (列出所有位置希哈过的) cd ~abc (这行与 bash 变量类似 命另呼叫参数皆可 自带 direxpand bash 无此功能因~指向/home) 一堆搞 plugin 其实都做的太过头了 我也一直觉得那些 plugin 很烂 |
27 james122333 2023-08-10 07:35:30 +08:00 via Android |
28 eggt 2023-08-10 08:33:30 +08:00 @proxytoworld 名字叫啥? |
![]() | 30 proxytoworld 2023-08-10 14:38:26 +08:00 |
31 koebehshian 2023-08-10 23:38:47 +08:00 不会多开几个 tab ? |
32 xddddx 2023-08-10 23:42:47 +08:00 zinit+zoxide 或者 ranger 之类的终端文件管理器 |
33 wizardyhnr 2023-08-11 04:11:19 +08:00 快速跳转目录执行命令还是用 ranger 吧,一步到位。另外如果要频繁在几个目录间切换执行命令,我更愿意多开几个 tab 。 |
34 ihackevin 2023-08-19 22:46:37 +08:00 ctrl+r ? |