V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
loveshouhu
V2EX  ›  程序员

cd 路径深的时候,可以回来方便点

  •  
  •   loveshouhu · Nov 22, 2016 · 6941 views
    This topic created in 3451 days ago, the information mentioned may be changed or developed.

    写了个小工具不改变默认 cd 的行为下

    可以使用 cd .... 来代替 cd ../../..

    保留 cd 的所有特性

    额外支持 用 cd .... 代替 cd ../../..

    cd . 当前目录

    cd .. 上层目录

    cd ... 上上层目录

    cd .... 上上上层目录

    https://github.com/kaidiren/smartcd

    Supplement 1  ·  Nov 23, 2016
    评论里有很多种方法。
    根据需求自取。:)
    49 replies    2016-11-24 16:44:59 +08:00
    yangg
        1
    yangg  
       Nov 22, 2016
    shopt -s autocd 2> /dev/null
    alias -- -="cd -"
    alias ..='cd ..'
    alias ...='cd ../../'
    alias .3='cd ../../../'
    alias .4='cd ../../../../'
    alias .5='cd ../../../../../'
    .0() {
    cd "$(git rev-parse --show-toplevel)"
    }
    langmoe
        2
    langmoe  
       Nov 22, 2016
    knightdf
        3
    knightdf  
       Nov 22, 2016
    d
    loveshouhu
        4
    loveshouhu  
    OP
       Nov 22, 2016   ❤️ 1
    @langmoe 这个在用的 autojump 有权重的概念。陌生的路径跳起来会有问题。
    loveshouhu
        5
    loveshouhu  
    OP
       Nov 22, 2016
    @yangg 实现的方式可以有很多种,但是我这边用的思路是尽量和 bash 原来的方式靠近,另外用的也不是穷举的方法 可以 CD .............. 很长的。虽然意义不太大 。_(:з」∠)_
    aristotll
        6
    aristotll  
       Nov 22, 2016   ❤️ 1
    zsh 是不是支持类似的东西的..
    loveshouhu
        7
    loveshouhu  
    OP
       Nov 22, 2016
    @aristotll 不知道,不喜欢 zsh 。所以一直没太用。_(:з」∠)_
    iamleung
        8
    iamleung  
       Nov 22, 2016
    alias cd2='cd ../../'
    alias cd3='cd ../../../'
    alias cd4='cd ../../../../'
    一直是这么搞的,再偶尔搭配 autojump ,也足够用了
    Osk
        9
    Osk  
       Nov 22, 2016 via Android   ❤️ 2
    cd -
    popd
    pushd
    Sasasu
        10
    Sasasu  
       Nov 22, 2016 via Android
    不支持 tab (:-0)TL
    aheadlead
        11
    aheadlead  
       Nov 22, 2016
    以前弄了个这个玩意

    function cdjump {
    CDJUMP_LAST_PWD=`pwd`
    for (( i=0; i<$1; i++ ))
    do
    cd ..
    echo "Jump to `pwd`"
    done
    }

    function cdjump_fuck {
    cd ${CDJUMP_LAST_PWD}
    }
    zhangxiao
        12
    zhangxiao  
       Nov 22, 2016
    zsh, 用的 bindkey -s '\eu' '^Ucd ..; ls^M'
    meta-u 就回上一层, meta-u,u,u,u,u,u,u... 十分迅捷
    xcodebuild
        13
    xcodebuild  
       Nov 22, 2016
    fasd 直接 z 回来就行了
    fortunezhang
        15
    fortunezhang  
       Nov 22, 2016
    cd -
    4641585
        16
    4641585  
       Nov 22, 2016
    zsh 还是 oh my zsh 就带有这个功能…
    mingyun
        17
    mingyun  
       Nov 22, 2016
    @fortunezhang 这个常用
    qyz0123321
        18
    qyz0123321  
       Nov 22, 2016
    @Osk +1
    jin5354
        19
    jin5354  
       Nov 23, 2016
    zsh 自带这功能,配上 z.sh 真是实现光速文件夹切换
    cxbig
        20
    cxbig  
       Nov 23, 2016
    zsh 支持不带 cd 命令,只输入正确的路径即跳转的功能
    oh-my-zsh 提供了一堆点的 alias
    于是只需要用点就够了
    msg7086
        21
    msg7086  
       Nov 23, 2016
    嗯,一直用自带的…… zsh 。
    wuwuyun
        22
    wuwuyun  
       Nov 23, 2016
    oh-my-zsh 自带了一堆的 alias
    看下就知道了
    wobuhuicode
        23
    wobuhuicode  
       Nov 23, 2016 via iPhone
    Jump
    rashawn
        24
    rashawn  
       Nov 23, 2016 via iPhone
    这功能 prezto 里面有啊
    hei1000
        25
    hei1000  
       Nov 23, 2016
    这个还要新建个 project ?随便新建几个 aliases 不就行了

    另外推荐个自己写的快速跳转自己访问目录的命令
    https://github.com/c02y/dotfiles/blob/master/fish/.config/fish/config.fish#L442
    GeekCat
        26
    GeekCat  
       Nov 23, 2016
    还不如 pushd popd......
    lusyoe
        27
    lusyoe  
       Nov 23, 2016 via iPhone
    难道只有我用 ranger?
    sampeng
        28
    sampeng  
       Nov 23, 2016
    oh-my-zsh 的 d 命令。。不要太好用
    hei1000
        29
    hei1000  
       Nov 23, 2016 via Android
    @lusyoe ranger 是个好东西,我也在用
    v2014
        30
    v2014  
       Nov 23, 2016
    oh-my-zsh 启用 z 命令
    springz
        32
    springz  
       Nov 23, 2016
    autojump+zsh+ohmyzsh 你值得拥有
    Felldeadbird
        33
    Felldeadbird  
       Nov 23, 2016
    学习了,我一直都是手动打 cd Σヽ(゚Д ゚; )ノ
    unknownservice
        34
    unknownservice  
       Nov 23, 2016
    一直用 cd ~ 习惯问题?
    sunsmooth
        35
    sunsmooth  
       Nov 23, 2016
    valkjsaaa
        36
    valkjsaaa  
       Nov 23, 2016
    oh-my-zsh 再开启 z plugin ,路径问题就基本解决咯
    hackpro
        37
    hackpro  
       Nov 23, 2016
    cd -
    grzhan
        38
    grzhan  
       Nov 23, 2016
    感觉这个用习惯了会经常在 cd 以外的地方用

    比如 cp .../foo.txt . 这样的
    thomaspaine
        39
    thomaspaine  
       Nov 23, 2016
    @loveshouhu 小守护~
    loveshouhu
        40
    loveshouhu  
    OP
       Nov 23, 2016
    @thomaspaine 我的天。是 XD 么?
    loveshouhu
        41
    loveshouhu  
    OP
       Nov 23, 2016
    @unknownservice 这个是直接跳回 用户的根目录。 跟 ... 的初衷不一样的。
    loveshouhu
        42
    loveshouhu  
    OP
       Nov 23, 2016
    @Sasasu tab 还是 ../.. 补全吧 _(:з」∠)_
    loveshouhu
        43
    loveshouhu  
    OP
       Nov 23, 2016
    @zhangxiao 快捷键什么的直接就高了一个层级。缺点是要记住这个快捷键。😂
    loveshouhu
        44
    loveshouhu  
    OP
       Nov 23, 2016
    @grzhan 😂 所以慎用。
    mcfog
        45
    mcfog  
       Nov 23, 2016 via Android
    fish 用户飘过
    loveshouhu
        46
    loveshouhu  
    OP
       Nov 23, 2016
    @mcfog 😂 今天风不错,飘好,不送。
    Arnie97
        47
    Arnie97  
       Nov 24, 2016 via Android
    alias p=pushd
    alias po=popd

    至于别的方案,自己机子上用用可以,换机器的时候就不好适应了…
    jiedreambuilder
        48
    jiedreambuilder  
       Nov 24, 2016
    cd ../ 回车
    ↑ 回车
    ↑ 回车
    ↑ 回车。。。
    jiedreambuilder
        49
    jiedreambuilder  
       Nov 24, 2016
    ↑ 跟 回车 距离那么近。。。感觉等你算好要敲多少个 . 你都出来了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2802 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 123ms · UTC 13:55 · PVG 21:55 · LAX 06:55 · JFK 09:55
    ♥ Do have faith in what you're doing.