有一次我在培训时说「程序员要善于使用 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
即可。
有任何问题,欢迎留言。
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 3
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 3
预感楼主要打我了
我就 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 7
昨天见个不用 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 1
我还以为要来推 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 7
明天会不会发一篇“别再用浏览器逛论坛了,来 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 1
文本三巨头: 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 1
这个 history 的自带电池也是好用到爆啊!!!
|
39
vietor 2016-01-01 13:31:40 +08:00 via Android 1
楼主是来钓鱼的,哈哈
|
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 1
我觉得终端是神器
|
50
BOYPT 2016-01-01 17:28:19 +08:00 1
没人吐槽 CD 是切换不了目录的?必须 cd
|
51
tuimaochang 2016-01-01 17:51:21 +08:00
@Quaintjade 哈哈哈,这台词抢得好啊
|
52
guoziyan 2016-01-01 18:00:53 +08:00 1
什么? 大清亡了
|
53
nsa 2016-01-01 18:28:00 +08:00 via iPad 1
楼主脸肿了😂
|
55
wizardforcel 2016-01-01 18:51:08 +08:00 via Android
wtf 真心好用。
|
56
s12j 2016-01-01 18:57:02 +08:00 1
用 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 2016-01-01 21:32:48 +08:00
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 1
|
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 1
gui/cli 各有好处,结合就更好了,比方说 spotlight 搜索式的 cd 、方向键导航的 cd
|
85
Tetsuchou 2016-01-01 23:57:53 +08:00 1
嘛,我觉得任何一个工具,要是学习成本太高,都会被其他易用性更好的同类产品替代掉。总之什么时候 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 1
@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 也可以设置提示吗?
|