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