转自: 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. 微信get post请求到微信服务器 模版 素材操作

    1:素材管理 官方文档 package org.konghao.weixin.media; import java.io.File; import java.io.IOException; impor ...

  2. 微信分享朋友圈监听(PHP)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Php最近1个月总结

    1.数据库方面太薄弱. 2.对于Php性能的调优也没有用到很专业的工具. 3.大型网站的架构也没有一个概念,需要细致的了解.

  4. ARM&Linux 下驱动开发第三节

    后台驱动代码如下:比较昨天的,添加了读写指针位置移动操作 #include<linux/init.h> #include<linux/module.h> #include< ...

  5. Apache-系统-网络部分配置

    参考了很多东西,但有些理解可能会有错误的地方,希望看到错误的地方可以即使纠正. 参考的内容. http://netsecurity.51cto.com/art/200608/30428.htm htt ...

  6. codeforces Gym 100187B B. A Lot of Joy

    B. A Lot of Joy Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/proble ...

  7. Android图片适配,drawable文件夹,低分辨率图片是否必要

    我们知道,Android提供了几种不同分辨率的bitmap,来对应不同手机屏幕的密度.对应关系如下: xxhdpi:3.0 xhdpi: 2.0 hdpi: 1.5 mdpi: 1.0 ldpi: 0 ...

  8. 死锁相关 变量 与 PURGE 线程停止

    http://www.tuicool.com/articles/NzAFZn https://github.com/percona/percona-server/pull/83/commits/091 ...

  9. paip.android 手机输入法制造大法

    paip.android 手机输入法制造大法 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/at ...

  10. 常见hash算法的原理

    散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法.顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙. 散列表(Hash table,也叫 ...