Mac 在命令行快速切换目录 mark
转自: 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的更多相关文章
- windows下安装python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录
1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 ...
- [Java] cmd命令行如何切换目录
cmd.exe是微软Windows系统基于WINDOWS上的命令解释程序,类似于微软的DOS操作系统.cmd.exe是一个32位的命令行程序,运行在Windows NT/2000/XP/2003/vi ...
- cygwin下命令行下切换目录
比我们正常切换目录多个挂载的文件夹 cygdrive
- windows 命令行下 切换目录
cd D:\ 没啥用,直接D:就可以切换了,D,D:\都不行
- linux shell 脚本攻略学习15--如何只列出目录,如何快速切换目录
工作中经常遇到关于目录方面的问题,例如,如何只列出当前目录下的所有目录,以及如何快速高效的切换目录,而不需要使用鼠标,下面将简单介绍关于这两方面的解决方案: 一.如何只列出目录? 看似简单的任务,其实 ...
- Linux中命令行终端切换工具screen
screen命令 本文转自:http://man.linuxde.net/screen Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接多个本地或远程的命令 ...
- linux/mac下命令行rm回收站--rmtrash
Linux.mac的命令行下没有回收站功能,很多时候手一抖就把重要文件给 rm -fr * 了,虽然linux下有可能通过lost +found/debugfs找回,但难度也比较大,不能保证一定能够找 ...
- Mac 在命令行中获得Root权限
Mac 在命令行中获得Root权限 作者 firedragonpzy 13 九月, 2012 2条评论 本文为firedragonpzy原创,转载务必在明显处注明:转载自[Softeware MyZo ...
- virtualbox命令行共享CentOS目录
virtualbox命令行共享CentOS目录 1. 安装virtualbox增强工具 "右ctrl+c" 显示和隐藏virtualbox虚拟机的菜单栏. 在VirtualBo ...
随机推荐
- Objective-C运行时编程 - 实现自动化description方法的思路及代码示例
发布自米高 | Michael - 博客园,源地址:http://www.cnblogs.com/michaellfx/p/4232205.html,转载请注明. 本文结构 基础实现 性能优化 参考 ...
- Java数据结构之树和二叉树(2)
从这里始将要继续进行Java数据结构的相关讲解,Are you ready?Let's go~~ Java中的数据结构模型可以分为一下几部分: 1.线性结构 2.树形结构 3.图形或者网状结构 接下来 ...
- CentOS 6.5 源码安装MySQL5.6
1:下载安装cmake (mysql5.5以后是通过cmake来编译的) #http://download.csdn.net/detail/csxuedn/7976005 #wget http://w ...
- jquery 预览提交的表单
预览表单,查看后确认提交或者返回重填 演示 XML/HTML Code <form class="mform" id="myform" method=&q ...
- Methods throughout the lifespan of a view controller
Method DescriptionloadView Creates or re ...
- HTML5 自动聚焦 属性
原文 : HTML5 autofocus Attribut 原文发布时间: 2012年08月27日 翻译时间: 2013年8月6日 HTML5 推出了一大堆精彩的东西给我们. 过去我们要用JavaSc ...
- ORA-01489: result of string concatenation is too long
ORA-01489: result of string concatenation is too long Cause: String concatenation result is more tha ...
- Android开发 Unity3D基础 Android Development
开发环境 Window 7 Unity3D 3.3.0 MB525 defy Android 2.1-update1 本次学习: 1.认识Unity 2.Unity3D环境搭建与Android软件生成 ...
- 都是类型惹的祸——小心unsigned
正如我们所知道的,编程语句都有很多的基本数据类型,如char,inf,float等等,而在C和C++中还有一个特殊的类型就是无符号数,它由unsigned修饰,如unsigned int等.大家有没想 ...
- QT核心编程之Qt线程 (c)
QT核心编程之Qt线程是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt对线程提供了支持,它引入了一些基本与平台无关的线程类 ...