zoukankan      html  css  js  c++  java
  • 在命令行快速切换目录(转载)

    今天在微博上看到一个用命令行快速切换目录的文章,比之前自己的解决方案好了非常多,必须记录下来分享下。

    每天在命令行下,一大部分的工作都是一遍又一遍的输入 cd ~/some/very/deep/often-used/directory这样来切换目录,现在利用一个简单的配置可以实现如下效果:

    首先进入我的日常工作目录,标记一个书签mark sanguo

    cd /Users/kimi/work/123guo/sanguo
    mark sanguo

    以后我再进入这个目录只需要g sanguo即可

    g sanguo

    通过输入gs指令来浏览所有的标签

    gs
    #app -> /Applications
    #sanguo -> /Users/kimi/work/123guo/sanguo
    #web -> /Library/WebServer/Documents


    实现原理如下

    sudo vim /etc/profile


    编辑/etc/profile文件并在尾部添加以下内容后强制保存 wq!

     1 # mark
     2 export MARKPATH=$HOME/.marks
     3 export MARKDEFAULT=sanguo#设置你的默认书签,可以直接输入g跳转
     4  
     5 function g {
     6     local m=$1
     7     if [ "$m" = "" ]; then m=$MARKDEFAULT; fi
     8     cd -P "$MARKPATH/$m" 2>/dev/null || echo "No such mark: $m"
     9 }
    10 function mark {
    11     mkdir -p "$MARKPATH"
    12     local m=$1
    13     if [ "$m" = "" ]; then m=$MARKDEFAULT; fi
    14     rm -f "$MARKPATH/$m"
    15     ln -s "$(pwd)" "$MARKPATH/$m"
    16 }
    17 function unmark {
    18     local m=$1
    19     if [ "$m" = "" ]; then m=$MARKDEFAULT; fi
    20     rm -i "$MARKPATH/$m"
    21 }
    22 function gs {
    23     ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f 13-
    24 }
    25  
    26 _completemarks() {
    27     local curw=${COMP_WORDS[COMP_CWORD]}
    28     local wordlist=$(ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f 13)
    29     COMPREPLY=($(compgen -W '${wordlist[@]}' -- "$curw"))
    30     return 0
    31 }
    32 
    33 complete -F _completemarks g unmark

    文章路径找不到,等找到之后添

  • 相关阅读:
    IIS网站应用偶尔出现"服务不可用"或者显示乱码字体
    mac os下切换pip3国内源并安装requests库
    mysql5.6运行一段时间之后网站页面出现乱码解决办法
    mac pro下安装安装 SymPy 和 matplotlib报错解决方案
    python3汉诺塔简单实现代码
    用python提取xml里面的链接源码
    Mac环境下 jieba 配置记录
    AngularJS 整理学习
    Java有关List的stream基本操作
    Callable的简单使用
  • 原文地址:https://www.cnblogs.com/CHEUNGKAMING/p/4080773.html
Copyright © 2011-2022 走看看