seabornlee

别再用 CD 切换目录了

  •  
  •   seabornlee · Jan 1, 2016 · 19003 views
    This topic created in 3962 days ago, the information mentioned may be changed or developed.

    引言

    有一次我在培训时说「程序员要善于使用 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即可。

    有任何问题,欢迎留言。

    94 replies  •  2019-08-15 15:24:07 +08:00
    loading
    loading
    Jan 1, 2016 via Android
    2
    建议看看 zsh
    aheadlead
    aheadlead
    Jan 1, 2016
    3
    写 java 的日子觉得目录比较麻烦,就写上面的代码到了 .bash_profile
    ryd994
    ryd994
    Jan 1, 2016❤️3
    4
    1 Tab 补全
    2 良好的目录结构实际上是高效的索引
    just1
    just1
    Jan 1, 2016 via Android
    5
    输目录其实并没有不好
    Explorare
    Explorare
    Jan 1, 2016
    6
    图床挂了。另外请使用支持 https 的图床
    lxy42
    lxy42
    Jan 1, 2016
    7
    GUI 还不是要一级一级目录点击,终端用 tab 补全也挺快的,常用目录可以用 alias
    nozama
    nozama
    Jan 1, 2016 via iPhone
    8
    好像 iterm 自带此功能
    azuginnen
    azuginnen
    Jan 1, 2016❤️3
    9
    预感楼主要打我了

    我就 po 两张图



    rashawn
    rashawn
    Jan 1, 2016
    10
    这个难道不是大家都在用的东西吗..
    azuginnen
    azuginnen
    Jan 1, 2016
    11
    进目录是如此高效,支持 fuzzy 名字
    tokki
    tokki
    Jan 1, 2016 via iPhone
    12
    用了好多年了 你现在才知道
    congeec
    congeec
    Jan 1, 2016
    13
    看来 V2EX 社区用户总体 shell 水平不高
    ryd994
    ryd994
    Jan 1, 2016❤️7
    14
    昨天见个不用 if 的
    今天见个不用 cd 的
    V2EX 上牛人真是越来越多了,呵呵
    nazhao
    nazhao
    Jan 1, 2016
    15
    azuginnen ,能告诉我用的是啥么
    phoneli
    phoneli
    Jan 1, 2016
    16
    @nazhao 我自己也写了一个类似的,但是很简单却实用。不过,后来我发觉,我同事很多都写了类似的东西。例如这个: https://github.com/dacez/dcd
    matrix67
    matrix67
    Jan 1, 2016 via Android
    17
    @nazhao fzf fasd
    zonghua
    zonghua
    Jan 1, 2016
    19
    @aheadlead 你在终端写 Java?
    Andiry
    Andiry
    Jan 1, 2016
    20
    这玩意有啥用处?多窗口+永不关机已经可以解决所有问题了。
    westup
    westup
    Jan 1, 2016
    21
    @azuginnen 这是啥工具
    wwek
    wwek
    Jan 1, 2016
    22
    感谢分享
    4everLoveU
    4everLoveU
    Jan 1, 2016
    23
    华而不实
    enotx
    enotx
    Jan 1, 2016❤️1
    24
    我还以为要来推 pushd&popd
    latyas
    latyas
    Jan 1, 2016
    25
    我一直 cd+tab+history
    fxxkgw
    fxxkgw
    Jan 1, 2016
    26
    @enotx 同感 特使是很长的 shell 脚本 这两个命令特别好用
    slixurd
    slixurd
    Jan 1, 2016
    27
    autojump 会越用越卡,尤其是在文件数量特别大的情况下。
    还不如自己手敲路径然后 tab 补全。
    Quaintjade
    Quaintjade
    Jan 1, 2016 via Android❤️7
    28
    明天会不会发一篇“别再用浏览器逛论坛了,来 telnetBBS 玩吧”。。。
    firefox12
    firefox12
    Jan 1, 2016
    29
    shell 类最大的好处是 可以自动化批处理文件。
    aec4d
    aec4d
    Jan 1, 2016
    30
    文笔不错。。。。可是-_-典型的装逼不成反被草 用命令行的多了去了
    br00k
    br00k
    Jan 1, 2016
    31
    城会玩😊
    noahlee
    noahlee
    Jan 1, 2016
    32
    alias 重命名 cd 目录!
    k9982874
    k9982874
    Jan 1, 2016 via iPhone
    33
    服务器上一般不会有这么花哨的玩意,当然自己摆弄摆弄还是极好的。

    @azuginnen z 命令是查看服务区负载的你造么
    tracyone
    tracyone
    Jan 1, 2016❤️1
    34
    文本三巨头: vim 、 zsh 和 tmux ,有了这三个让你远离鼠标,高效操作文本和命令。
    azuginnen
    azuginnen
    Jan 1, 2016
    35
    @k9982874 不知道,求普及~

    服务器上缺失,什么 tmux , htop 都没有
    meunicorn
    meunicorn
    Jan 1, 2016
    36
    win 下。。我都是先输入 cd 然后空格,再把那个文件夹拖进去的。。。
    azuginnen
    azuginnen
    Jan 1, 2016
    37
    p.s


    azuginnen
    azuginnen
    Jan 1, 2016❤️1
    38
    这个 history 的自带电池也是好用到爆啊!!!
    vietor
    vietor
    Jan 1, 2016 via Android❤️1
    39
    楼主是来钓鱼的,哈哈
    kikyous
    kikyous
    Jan 1, 2016
    40
    别再用电脑了
    2owe
    2owe
    Jan 1, 2016 via iPhone
    41
    嗯 用过都说好!
    kn007
    kn007
    Jan 1, 2016
    42
    老生常谈的东西了。。
    redsonic
    redsonic
    Jan 1, 2016
    43
    popd , pushd
    slfmessi
    slfmessi
    Jan 1, 2016
    44
    @azuginnen 之前好像看到过自带电池指代什么,但忘记,请不吝赐教
    SonicY
    SonicY
    Jan 1, 2016 via Android
    45
    @k9982874 z 不是 ohmyzsh 自带的插件吗,跟 Autojump 一样。
    qian19876025
    qian19876025
    Jan 1, 2016
    46
    额 不都是用 tab 么?
    EzVoodoo
    EzVoodoo
    Jan 1, 2016
    47
    Fish terminal 路过
    azuginnen
    azuginnen
    Jan 1, 2016❤️1
    48
    ykqmain
    ykqmain
    Jan 1, 2016❤️1
    49
    我觉得终端是神器
    BOYPT
    BOYPT
    Jan 1, 2016❤️1
    50
    没人吐槽 CD 是切换不了目录的?必须 cd
    suntoryliqu
    suntoryliqu
    Jan 1, 2016
    51
    @Quaintjade 哈哈哈,这台词抢得好啊
    guoziyan
    guoziyan
    Jan 1, 2016❤️1
    52
    什么? 大清亡了
    nsa
    nsa
    Jan 1, 2016 via iPad❤️1
    53
    楼主脸肿了😂
    wxm4ever
    wxm4ever
    Jan 1, 2016
    54
    @azuginnen 你用的那两个图里的工具是什么,分享下。。。 thx
    wizardforcel
    wizardforcel
    Jan 1, 2016 via Android
    55
    wtf 真心好用。
    s12j
    s12j
    Jan 1, 2016❤️1
    56
    用 terminal 来贬低 GUI 的基本都是刚入行的菜鸟,有本事工作机用纯命令行。
    把 terminal 和脚本混为一谈到也是透换概念,谁说 GUI 下就不能用脚本了?
    举个例子,你有几十台 linux 要经常 ssh 过去,两个方案:
    1. GUI 的: 一台 windows 做跳板机,通过 SecureCRT 管理
    2. 无 GUI 的:一台 linux 做跳板机。。。;
    Lonely
    Lonely
    Jan 1, 2016
    57
    目前未见楼主回复
    azuginnen
    azuginnen
    Jan 1, 2016 via Android
    58
    @wxm4ever 分享了,就在我留的帖子里
    wxm4ever
    wxm4ever
    Jan 1, 2016
    59
    @azuginnen 收到。多谢多谢
    CheungKe
    CheungKe
    Jan 1, 2016
    60
    @seabornlee http://www.codingstyle.cn 很多东西加载不到
    kingwkb
    kingwkb
    Jan 1, 2016
    61
    @azuginnen 这个就是 autojump 么? 看着不像哈
    TangMonk
    TangMonk
    Jan 1, 2016
    62
    fasd 完爆 autojump
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    63
    @azuginnen 出来就是交流的,抛砖引玉,请问这个是什么工具啊?
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    64
    @loading 以前用 zsh 的,现在用 fish 了。
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    65
    @aheadlead 挺有趣的。
    iaigcfun
    iaigcfun
    Jan 1, 2016
    66
    @azuginnen 大师又来安利了,看来猪厂学到了不少啊。
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    67
    @lxy42 Alias 也是一种方法。
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    68
    @Andiry 我尽量避免多窗口,多 Tab ,多应用...因为每次切换的成本太高,很难一次找到自己想要的。请教你有什么好的解决办法吗?
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    69
    @aec4d 多接触的很多传统企业的程序员用命令行的不多哦。
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    70
    @tokki 我是去年才知道的。您知道就知道了,我只是分享给不知道的人而已,也希望您多分享一些好用的工具。
    seabornlee
    seabornlee
    OP
    Jan 1, 2016❤️2
    71
    ```
    pushd&popd
    fzf
    fasd
    battery included
    ```
    谢谢推荐工具的朋友们!回头我研究一下。
    个人认为社区就是要鼓励积极分享,那些讽刺的朋友我都点开看了,好多一个主题帖都没有...
    如果分享的东西对你没用你不要看就好了,世界上信息量这么大,不是什么都对你有用的。而我分享的东西,总会对一些人有用。
    那些谩骂与讽刺的同学我都一一发送了感谢。还请你们千万不要来我的社区!
    springz
    springz
    Jan 1, 2016
    72
    @azuginnen 这是啥
    ferock
    ferock
    Jan 1, 2016
    73
    zsh 好东西
    TJT
    TJT
    Jan 1, 2016 via Android
    74
    从来不觉得按 tab 有多麻烦,常用路径设置成环境变量。
    pushd 和 popd 很好用~ 不过频繁切换还不如开多几个窗口。
    就像当初自己在 Windows 了弄了一堆插件和主题,最后还是回归简洁一样。
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    75
    @TJT 我在 浏览器, iTerm 里都习惯保持在 4 个 Tab 以内,这样就可以用 CMD + number 进行切换。常常见到很多人开几十个 Tab ,切换的时候要找很久。我发现这样做的原因通常是「打开成本太高」,所以我会用各种手段降低打开成本。用完立刻销毁。
    mcfog
    mcfog
    Jan 1, 2016❤️1
    76
    这种帖子下面难道不应该是大家各自贴各自的 dotfiles 么?

    https://github.com/mcfog/dotfiles-fish

    改用 fish 一个多月,感觉良好
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    77
    @s12j 并无贬低之意。只是想帮一些同学纠正 「 shell 是落后的」这种观念。
    tabris17
    tabris17
    Jan 1, 2016
    78
    好吧,又是个命令
    xianglifei
    xianglifei
    Jan 1, 2016
    79
    点赞。评论区收获不少。
    TJT
    TJT
    Jan 1, 2016 via Android
    80
    @seabornlee 我之前也是这么干的,是挺方便的。但是忙的时候 4 5 个 tab 根本不够用,所以用上了 Vimium ,然后就变成习惯了。

    说到底只是工具而已,主要目的是大部分人适用和提高工作效率。
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    81
    @TJT 我马上发一篇,再讨论 : )
    imdoge
    imdoge
    Jan 1, 2016
    82
    @meunicorn win 下我弄好几个 cmd ,然后分别修改起始位置为那几个常用目录的路径(也就 4,5 个),是不是很蠢!可是我觉得很方便诶~
    seabornlee
    seabornlee
    OP
    Jan 1, 2016
    83
    @imdoge 方便了就行了,结果最重要。
    ffffwh
    ffffwh
    Jan 1, 2016❤️1
    84
    gui/cli 各有好处,结合就更好了,比方说 spotlight 搜索式的 cd 、方向键导航的 cd
    Tetsuchou
    Tetsuchou
    Jan 1, 2016❤️1
    85
    嘛,我觉得任何一个工具,要是学习成本太高,都会被其他易用性更好的同类产品替代掉。总之什么时候 cli 好用就用 cli , gui 好用就用 gui 咯
    seabornlee
    seabornlee
    OP
    Jan 2, 2016
    86
    @azuginnen 谢谢!我记下来了,回头再写一篇分享给更多人。
    seabornlee
    seabornlee
    OP
    Jan 2, 2016
    87
    @Tetsuchou 工具都是手段,只要自己的目的达到了就成。
    Devin
    Devin
    Jan 2, 2016 via iPhone
    88
    @azuginnen 请问这种动图怎么弄的?
    seabornlee
    seabornlee
    OP
    Jan 2, 2016❤️1
    89
    @Devin 不知道他用的什么,我用的是 LICEapp 。
    azuginnen
    azuginnen
    Jan 2, 2016 via Android
    90
    @Devin 就是楼上这个
    likebeta
    likebeta
    Jan 2, 2016
    91
    敲 cd 命令会成为工作的瓶颈么
    hualuogeng
    hualuogeng
    Jan 5, 2016❤️1
    92
    @imdoge 推荐试试 cmder
    clino
    clino
    Jan 12, 2016
    93
    装了几天这个 autojump 觉得并没有什么 luan 用...
    chen2019
    chen2019
    Aug 15, 2019
    94
    @hualuogeng cmder 也可以设置提示吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2451 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 125ms · UTC 11:07 · PVG 19:07 · LAX 03:07 · JFK 06:07
    ♥ Do have faith in what you're doing.