转自: http://www.ccvita.com/520.html ,略修改。

每天在命令行下,一大部分的工作都是一遍又一遍的输入 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!

# mark
export MARKPATH=$HOME/.marks
export MARKDEFAULT=sanguo#设置你的默认书签,可以直接输入g跳转 function g {
local m=$
if [ "$m" = "" ]; then m=$MARKDEFAULT; fi
cd -P "$MARKPATH/$m" >/dev/null || echo "No such mark: $m"
}
function mark {
mkdir -p "$MARKPATH"
local m=$
if [ "$m" = "" ]; then m=$MARKDEFAULT; fi
rm -f "$MARKPATH/$m"
ln -s "$(pwd)" "$MARKPATH/$m"
}
function unmark {
local m=$
if [ "$m" = "" ]; then m=$MARKDEFAULT; fi
rm -i "$MARKPATH/$m"
}
function gs {
ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f -
} _completemarks() {
local curw=${COMP_WORDS[COMP_CWORD]}
local wordlist=$(ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f )
COMPREPLY=($(compgen -W '${wordlist[@]}' -- "$curw"))
return
} complete -F _completemarks g unmark

Mac 在命令行快速切换目录 mark的更多相关文章

  1. windows下安装python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录

    1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 ...

  2. [Java] cmd命令行如何切换目录

    cmd.exe是微软Windows系统基于WINDOWS上的命令解释程序,类似于微软的DOS操作系统.cmd.exe是一个32位的命令行程序,运行在Windows NT/2000/XP/2003/vi ...

  3. cygwin下命令行下切换目录

    比我们正常切换目录多个挂载的文件夹 cygdrive

  4. windows 命令行下 切换目录

    cd D:\ 没啥用,直接D:就可以切换了,D,D:\都不行

  5. linux shell 脚本攻略学习15--如何只列出目录,如何快速切换目录

    工作中经常遇到关于目录方面的问题,例如,如何只列出当前目录下的所有目录,以及如何快速高效的切换目录,而不需要使用鼠标,下面将简单介绍关于这两方面的解决方案: 一.如何只列出目录? 看似简单的任务,其实 ...

  6. Linux中命令行终端切换工具screen

    screen命令 本文转自:http://man.linuxde.net/screen Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接多个本地或远程的命令 ...

  7. linux/mac下命令行rm回收站--rmtrash

    Linux.mac的命令行下没有回收站功能,很多时候手一抖就把重要文件给 rm -fr * 了,虽然linux下有可能通过lost +found/debugfs找回,但难度也比较大,不能保证一定能够找 ...

  8. Mac 在命令行中获得Root权限

    Mac 在命令行中获得Root权限 作者 firedragonpzy 13 九月, 2012 2条评论 本文为firedragonpzy原创,转载务必在明显处注明:转载自[Softeware MyZo ...

  9. virtualbox命令行共享CentOS目录

    virtualbox命令行共享CentOS目录   1. 安装virtualbox增强工具 "右ctrl+c" 显示和隐藏virtualbox虚拟机的菜单栏. 在VirtualBo ...

随机推荐

  1. plsql配置连接远程数据库

    一.首先安装PL/SQL Developer 下载地址:https://yunpan.cn/cM3njKpfK8MnT 访问密码 996a 二.再安装instantclient_11_2 下载地址:h ...

  2. 记录一点自己写的Php代码(1)取得任意种类,无限级下线

    //获取所有下线 function get_all_heeler($user_id,$user_rank = 0){ $user_id_array = $user_id; while (true) { ...

  3. mvc api odata 查询选项之 $inlinecount ,$format 选项

    网上百度“odata 语法”会出来很多结果,其中有一项是比较一致的,那就是odata支持一下几种语法: $filter  条件表达式 -- 对应sql语句的where条件查询,如:/Categorie ...

  4. 全代码实现ios-1

    第一次接触ios开发时,就决定用代码开发,而不用ib.因为被ib的各种控件的联线弄得一头雾水,而且ib和storyboard变动太快了. 开始的时候真是麻烦,因为网上关于全代码开发的例子太少了,大多数 ...

  5. IC开短路测试(open_short_test),编程器测试接触不良、开短路

    http://kitebee.meibu.com/forum.php?mod=viewthread&tid=69654&extra=page%3D5 IC开短路测试(open_shor ...

  6. Codeforces Round #311 (Div. 2)B. Pasha and Tea 水题

    B. Pasha and Tea Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/557/prob ...

  7. volley开源库乱码问题总结(持续更新)

    之前Android开发一直用的是多层封装的Final框架.最近开始学习使用小巧的volley. 在使用该框架的过程中,出现了数次乱码问题,再次做以总结. 分别是返回数据乱码和提交参数乱码两个问题: 一 ...

  8. [Angular2 Router] CanActivate Route Guard - An Example of An Asynchronous Route Guard

    In this tutorial we are going to learn how we can to configure an can activate route guard in the An ...

  9. [Angular2 Router] CanDeactivate Route Guard - How To Confirm If The User Wants To Exit A Route

    In this tutorial we are going to learn how we can to configure an exit guard in the Angular 2 Router ...

  10. Python 初学笔记(转)

    >>> print "isn't that grand"isn't that grand #不需要转义的#为了让文字符扩展到多行,可以在一行的末尾使用反斜线符号, ...