美文网首页
命令行下快速跳转目录的四种好方法

命令行下快速跳转目录的四种好方法

作者: district10 | 来源:发表于2017-11-14 22:15 被阅读778次

0: native (naive)

cd + <TAB> 补全来切换目录, 或者用通配符如 cd g*i 来切换目录. 这都是最原始的方法, 很累很费脑.

pushdpopd 来切换... 也很费脑子. 我是没有学会.

1. zsh

zsh 的 cd + <TAB> 可以切换选择目录, 这是第一个优势 (oh-my-zsh 的功劳?). 还可以用 d 输出当前 shell 进过的目录, 然后通过数字选择进入:

$ d
0   ~/git/misc/knitr
1   ~/git/Basic-Single-Module-SSM/doc
2   /tmp

$ 0
$ pwd
~/git/misc/knitr

已经很友好, 不过这里只会是你前面 cd 过的文件夹. 退出当前 shell 后, 这些记录就没有了.

2. autojump

autojump 是另一个工具, 可以从你的 zsh_history 拿到你常入的文件夹, 通过 fuzzy 匹配来跳转, 比如:

$ j bff
/Users/zxtang/git/OTR-AS/service-bff

很方便就进入了 service-bff 文件夹. autojump 还提供 jo (open in Finder), jc (open child folder) 以及 jco (open child folder in Finder), 但实话说 jc / jco 可用性很差, 因为你要到相应的父目录才能用它跳转到子目录.

3. zsh-interactive-cd

zsh-interactive-cd: Fish like interactive tab completion for cd in zsh.

点我看录屏

可以一级一级地搜索过滤, 然后进入.

4. fzf

fzf: A command-line fuzzy finder.

fzf 可以搜索自己的 zsh_history (绑定在 C-r 上), 还可以输入当前文件夹下的文件 (绑定在 C-t 上), 还可以把过滤当前文件夹下所有的子目录, 选中并进入 (绑定在 M-c (或者 Escape c) 上).

这里是一个演示视频:

点我看录屏

fzf 的 wiki 里面还有各种跳转目录的 膜法, 如果你觉得 C-t 和 M-c 不够用, 可以一个个试试.


参考资料:


吐槽: 简书越来越捉急, 图片链接都不支持了?
就现在, 图片链接只能在 caption 上点, 图片上无效. 昨天都不是这样!

相关文章

网友评论

      本文标题:命令行下快速跳转目录的四种好方法

      本文链接:https://www.haomeiwen.com/subject/tkhqvxtx.html