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

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

  • 相关阅读:
    intellij idea 将taskRequest.java文件识别为文本文档
    react 学习笔记2
    react 学习笔记1
    webpack4 配置笔记(转自掘金)
    音乐播放之进度条-自定义
    EBS
    Python 学习笔记
    Form 电子表格(JTF GRID)
    Form 中实现历史记录查询
    Form 去掉使用格式掩码带来的多余字符
  • 原文地址:https://www.cnblogs.com/CHEUNGKAMING/p/4080773.html
Copyright © 2011-2022 走看看