
有一次我在培训时说「程序员要善于使用 Terminal 以提高开发效率」,一位程序员反驳道:「这是 21 世纪,我们为什么要用落后的命令行,而不是先进的 GUI ?」

是的,在一些人眼里,这个黑黑的终端窗口代表着确实代表着落后,装 B 。
而在另一些人手里,它却是一个高效的工具。
其实很多人觉得 Terminal 难用,他们认为:
可能这些印象都来自于「未经任何武装」的 Terminal ,实际上始终有一部分人是 Terminal 忠实用户,他们也在推动着 Terminal 与日俱增。
所以,接下来我准备分享一系列使用 Terminal 的技巧。
有了 tldr ,妈妈再也不用担心我记不住命令了
「 What the fuck 」妈妈再也不用担心我敲错命令了
我看到很多使用 Terminal 的同学,还在使用cd命令切换目录,每次打开一个新的窗口都要一连串的cd才能进入自己工作的目录。
今天我要介绍的工具叫 Autojump ,它就是来解决这个问题的。
打开 Autojump 的 Github 主页,可以看到它的介绍。

主要有几点:
安装很简单,主页上有 Linux , Windows 和 Mac OS 上的安装方法。
以 Mac OS 为例,使用 Homebrew :
brew install autojump

取决于你使用 Zsh 或 Fish ,根据提示将一行代码添加到配置文件即可。
测试一下,先使用cd切换到某个目录xxx,再打开一个新窗口,这次就不用再一级一级cd进去了,直接j xxx即可。
有任何问题,欢迎留言。
2 loading Jan 1, 2016 via Android 建议看看 zsh |
3 aheadlead Jan 1, 2016 写 java 的日子觉得目录比较麻烦,就写上面的代码到了 .bash_profile |
4 ryd994 Jan 1, 2016 1 Tab 补全 2 良好的目录结构实际上是高效的索引 |
5 just1 Jan 1, 2016 via Android 输目录其实并没有不好 |
6 Explorare Jan 1, 2016 图床挂了。另外请使用支持 https 的图床 |
7 lxy42 Jan 1, 2016 GUI 还不是要一级一级目录点击,终端用 tab 补全也挺快的,常用目录可以用 alias |
8 nozama Jan 1, 2016 via iPhone 好像 iterm 自带此功能 |
9 azuginnen Jan 1, 2016 预感楼主要打我了 我就 po 两张图 |
10 rashawn Jan 1, 2016 这个难道不是大家都在用的东西吗.. |
11 azuginnen Jan 1, 2016 进目录是如此高效,支持 fuzzy 名字 |
12 tokki Jan 1, 2016 via iPhone 用了好多年了 你现在才知道 |
13 congeec Jan 1, 2016 看来 V2EX 社区用户总体 shell 水平不高 |
14 ryd994 Jan 1, 2016 昨天见个不用 if 的 今天见个不用 cd 的 V2EX 上牛人真是越来越多了,呵呵 |
15 nazhao Jan 1, 2016 azuginnen ,能告诉我用的是啥么 |
16 phoneli Jan 1, 2016 @nazhao 我自己也写了一个类似的,但是很简单却实用。不过,后来我发觉,我同事很多都写了类似的东西。例如这个: https://github.com/dacez/dcd |
18 azuginnen Jan 1, 2016 |
20 Andiry Jan 1, 2016 这玩意有啥用处?多窗口+永不关机已经可以解决所有问题了。 |
22 wwek Jan 1, 2016 感谢分享 |
23 4everLoveU Jan 1, 2016 华而不实 |
24 enotx Jan 1, 2016 我还以为要来推 pushd&popd |
25 latyas Jan 1, 2016 我一直 cd+tab+history |
27 slixurd Jan 1, 2016 autojump 会越用越卡,尤其是在文件数量特别大的情况下。 还不如自己手敲路径然后 tab 补全。 |
28 Quaintjade Jan 1, 2016 via Android 明天会不会发一篇“别再用浏览器逛论坛了,来 telnetBBS 玩吧”。。。 |
29 firefox12 Jan 1, 2016 shell 类最大的好处是 可以自动化批处理文件。 |
30 aec4d Jan 1, 2016 文笔不错。。。。可是-_-典型的装逼不成反被草 用命令行的多了去了 |
31 br00k Jan 1, 2016 城会玩 |
32 noahlee Jan 1, 2016 alias 重命名 cd 目录! |
34 tracyone Jan 1, 2016 文本三巨头: vim 、 zsh 和 tmux ,有了这三个让你远离鼠标,高效操作文本和命令。 |
36 meunicorn Jan 1, 2016 win 下。。我都是先输入 cd 然后空格,再把那个文件夹拖进去的。。。 |
37 azuginnen Jan 1, 2016 p.s |
38 azuginnen Jan 1, 2016 这个 history 的自带电池也是好用到爆啊!!! |
39 vietor Jan 1, 2016 via Android 楼主是来钓鱼的,哈哈 |
40 kikyous Jan 1, 2016 别再用电脑了 |
41 2owe Jan 1, 2016 via iPhone 嗯 用过都说好! |
42 kn007 Jan 1, 2016 老生常谈的东西了。。 |
43 redsonic Jan 1, 2016 popd , pushd |
46 qian19876025 Jan 1, 2016 额 不都是用 tab 么? |
47 EzVoodoo Jan 1, 2016 Fish terminal 路过 |
49 ykqmain Jan 1, 2016 我觉得终端是神器 |
50 BOYPT Jan 1, 2016 没人吐槽 CD 是切换不了目录的?必须 cd |
51 tuimaochang Jan 1, 2016 |
52 guoziyan Jan 1, 2016 什么? 大清亡了 |
53 nsa Jan 1, 2016 via iPad 楼主脸肿了 |
55 wizardforcel Jan 1, 2016 via Android wtf 真心好用。 |
56 s12j Jan 1, 2016 用 terminal 来贬低 GUI 的基本都是刚入行的菜鸟,有本事工作机用纯命令行。 把 terminal 和脚本混为一谈到也是透换概念,谁说 GUI 下就不能用脚本了? 举个例子,你有几十台 linux 要经常 ssh 过去,两个方案: 1. GUI 的: 一台 windows 做跳板机,通过 SecureCRT 管理 2. 无 GUI 的:一台 linux 做跳板机。。。; |
57 Lonely Jan 1, 2016 目前未见楼主回复 |
60 CheungKe Jan 1, 2016 @seabornlee http://www.codingstyle.cn 很多东西加载不到 |
62 TangMonk Jan 1, 2016 fasd 完爆 autojump |
63 seabornlee OP @azuginnen 出来就是交流的,抛砖引玉,请问这个是什么工具啊? |
64 seabornlee OP @loading 以前用 zsh 的,现在用 fish 了。 |
65 seabornlee OP @aheadlead 挺有趣的。 |
67 seabornlee OP @lxy42 Alias 也是一种方法。 |
68 seabornlee OP @Andiry 我尽量避免多窗口,多 Tab ,多应用...因为每次切换的成本太高,很难一次找到自己想要的。请教你有什么好的解决办法吗? |
69 seabornlee OP @aec4d 多接触的很多传统企业的程序员用命令行的不多哦。 |
70 seabornlee OP @tokki 我是去年才知道的。您知道就知道了,我只是分享给不知道的人而已,也希望您多分享一些好用的工具。 |
71 seabornlee OP ``` pushd&popd fzf fasd battery included ``` 谢谢推荐工具的朋友们!回头我研究一下。 个人认为社区就是要鼓励积极分享,那些讽刺的朋友我都点开看了,好多一个主题帖都没有... 如果分享的东西对你没用你不要看就好了,世界上信息量这么大,不是什么都对你有用的。而我分享的东西,总会对一些人有用。 那些谩骂与讽刺的同学我都一一发送了感谢。还请你们千万不要来我的社区! |
73 ferock PRO zsh 好东西 |
74 TJT Jan 1, 2016 via Android 从来不觉得按 tab 有多麻烦,常用路径设置成环境变量。 pushd 和 popd 很好用~ 不过频繁切换还不如开多几个窗口。 就像当初自己在 Windows 了弄了一堆插件和主题,最后还是回归简洁一样。 |
75 seabornlee OP @TJT 我在 浏览器, iTerm 里都习惯保持在 4 个 Tab 以内,这样就可以用 CMD + number 进行切换。常常见到很多人开几十个 Tab ,切换的时候要找很久。我发现这样做的原因通常是「打开成本太高」,所以我会用各种手段降低打开成本。用完立刻销毁。 |
76 mcfog Jan 1, 2016 |
77 seabornlee OP @s12j 并无贬低之意。只是想帮一些同学纠正 「 shell 是落后的」这种观念。 |
78 tabris17 Jan 1, 2016 好吧,又是个命令 |
79 xianglifei Jan 1, 2016 点赞。评论区收获不少。 |
80 TJT Jan 1, 2016 via Android @seabornlee 我之前也是这么干的,是挺方便的。但是忙的时候 4 5 个 tab 根本不够用,所以用上了 Vimium ,然后就变成习惯了。 说到底只是工具而已,主要目的是大部分人适用和提高工作效率。 |
81 seabornlee OP @TJT 我马上发一篇,再讨论 : ) |
83 seabornlee OP @imdoge 方便了就行了,结果最重要。 |
84 ffffwh Jan 1, 2016 gui/cli 各有好处,结合就更好了,比方说 spotlight 搜索式的 cd 、方向键导航的 cd |
85 Tetsuchou Jan 1, 2016 嘛,我觉得任何一个工具,要是学习成本太高,都会被其他易用性更好的同类产品替代掉。总之什么时候 cli 好用就用 cli , gui 好用就用 gui 咯 |
86 seabornlee OP @azuginnen 谢谢!我记下来了,回头再写一篇分享给更多人。 |
87 seabornlee OP @Tetsuchou 工具都是手段,只要自己的目的达到了就成。 |
89 seabornlee OP @Devin 不知道他用的什么,我用的是 LICEapp 。 |
91 likebeta Jan 2, 2016 敲 cd 命令会成为工作的瓶颈么 |
92 hualuogeng Jan 5, 2016 @imdoge 推荐试试 cmder |
93 clino Jan 12, 2016 装了几天这个 autojump 觉得并没有什么 luan 用... |
94 chen2019 Aug 15, 2019 @hualuogeng cmder 也可以设置提示吗? |