首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  程序员

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

  •  
  •   loveshouhu · 2016-11-22 16:34:55 +08:00 · 4899 次点击
    这是一个创建于 1118 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    保留 cd 的所有特性

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

    cd . 当前目录

    cd .. 上层目录

    cd ... 上上层目录

    cd .... 上上上层目录

    https://github.com/kaidiren/smartcd

    第 1 条附言  ·  2016-11-23 13:23:01 +08:00
    评论里有很多种方法。
    根据需求自取。:)
    49 回复  |  直到 2016-11-24 16:44:59 +08:00
        1
    yangg   2016-11-22 16:37:13 +08:00
    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)"
    }
        2
    langmoe   2016-11-22 16:42:46 +08:00
        3
    knightdf   2016-11-22 16:44:04 +08:00
    d
        4
    loveshouhu   2016-11-22 16:47:00 +08:00   ♥ 1
    @langmoe 这个在用的 autojump 有权重的概念。陌生的路径跳起来会有问题。
        5
    loveshouhu   2016-11-22 16:48:34 +08:00
    @yangg 实现的方式可以有很多种,但是我这边用的思路是尽量和 bash 原来的方式靠近,另外用的也不是穷举的方法 可以 CD .............. 很长的。虽然意义不太大 。_(:з」∠)_
        6
    aristotll   2016-11-22 16:54:28 +08:00   ♥ 1
    zsh 是不是支持类似的东西的..
        7
    loveshouhu   2016-11-22 17:17:54 +08:00
    @aristotll 不知道,不喜欢 zsh 。所以一直没太用。_(:з」∠)_
        8
    iamleung   2016-11-22 17:50:52 +08:00
    alias cd2='cd ../../'
    alias cd3='cd ../../../'
    alias cd4='cd ../../../../'
    一直是这么搞的,再偶尔搭配 autojump ,也足够用了
        9
    Osk   2016-11-22 18:06:14 +08:00 via Android   ♥ 2
    cd -
    popd
    pushd
        10
    Sasasu   2016-11-22 18:22:53 +08:00 via Android
    不支持 tab (:-0)TL
        11
    aheadlead   2016-11-22 18:25:11 +08:00
    以前弄了个这个玩意

    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}
    }
        12
    zhangxiao   2016-11-22 19:19:05 +08:00
    zsh, 用的 bindkey -s '\eu' '^Ucd ..; ls^M'
    meta-u 就回上一层, meta-u,u,u,u,u,u,u... 十分迅捷
        13
    xcodebuild   2016-11-22 21:32:46 +08:00
    fasd 直接 z 回来就行了
        14
    panda1001   2016-11-22 21:54:21 +08:00
        15
    fortunezhang   2016-11-22 22:06:19 +08:00
    cd -
        16
    4641585   2016-11-22 22:09:07 +08:00
    zsh 还是 oh my zsh 就带有这个功能…
        17
    mingyun   2016-11-22 22:46:46 +08:00
    @fortunezhang 这个常用
        18
    qyz0123321   2016-11-22 23:20:01 +08:00
    @Osk +1
        19
    jin5354   2016-11-23 01:00:33 +08:00
    zsh 自带这功能,配上 z.sh 真是实现光速文件夹切换
        20
    cxbig   2016-11-23 02:48:40 +08:00
    zsh 支持不带 cd 命令,只输入正确的路径即跳转的功能
    oh-my-zsh 提供了一堆点的 alias
    于是只需要用点就够了
        21
    msg7086   2016-11-23 05:47:41 +08:00
    嗯,一直用自带的…… zsh 。
        22
    wuwuyun   2016-11-23 07:58:06 +08:00
    oh-my-zsh 自带了一堆的 alias
    看下就知道了
        23
    wobuhuicode   2016-11-23 08:10:42 +08:00 via iPhone
    Jump
        24
    rashawn   2016-11-23 08:26:22 +08:00 via iPhone
    这功能 prezto 里面有啊
        25
    hei1000   2016-11-23 09:38:24 +08:00
    这个还要新建个 project ?随便新建几个 aliases 不就行了

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

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

    至于别的方案,自己机子上用用可以,换机器的时候就不好适应了…
        48
    jiedreambuilder   2016-11-24 16:40:23 +08:00
    cd ../ 回车
    ↑ 回车
    ↑ 回车
    ↑ 回车。。。
        49
    jiedreambuilder   2016-11-24 16:44:59 +08:00
    ↑ 跟 回车 距离那么近。。。感觉等你算好要敲多少个 . 你都出来了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   875 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 19:12 · PVG 03:12 · LAX 11:12 · JFK 14:12
    ♥ Do have faith in what you're doing.