在命令行快速切换目录
2014-04-24 14:22
204 查看
今天在微博上看到一个用命令行快速切换目录的文章,比之前自己的解决方案好了非常多,必须记录下来分享下。
每天在命令行下,一大部分的工作都是一遍又一遍的输入 cd ~/some/very/deep/often-used/directory这样来切换目录,现在利用一个简单的配置可以实现如下效果:
首先进入我的日常工作目录,标记一个书签mark sanguo
以后我再进入这个目录只需要g sanguo即可
通过输入gs指令来浏览所有的标签
实现原理如下
编辑/etc/profile文件并在尾部添加以下内容后强制保存 wq!
文章路径找不到,等找到之后添加
原文地址: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=$1 |
if [ "$m" = "" ]; then m=$MARKDEFAULT; fi |
cd -P "$MARKPATH/$m" 2>/dev/null || echo "No such mark: $m" |
} |
function mark { |
mkdir -p "$MARKPATH" |
local m=$1 |
if [ "$m" = "" ]; then m=$MARKDEFAULT; fi |
rm -f "$MARKPATH/$m" |
ln -s "$(pwd)" "$MARKPATH/$m" |
} |
function unmark { |
local m=$1 |
if [ "$m" = "" ]; then m=$MARKDEFAULT; fi |
rm -i "$MARKPATH/$m" |
} |
function gs { |
ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f 13- |
} |
_completemarks() { |
local curw=${COMP_WORDS[COMP_CWORD]} |
local wordlist=$(ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f 13) |
COMPREPLY=($(compgen -W '${wordlist[@]}' -- "$curw")) |
return 0 |
} |
complete -F _completemarks g unmark |
文章路径找不到,等找到之后添加
原文地址:http://www.ccvita.com/520.html
相关文章推荐
- linux用命令行快速切换目录
- 在命令行快速切换目录(转载)
- Alfred 在命令行快速切换目录
- 命令行快速切换目录
- 用命令行快速切换目录
- 切换列表Linux快速目录切换
- cmd命令行 切换目录
- linux下快速切换目录的方法
- 安装autojump:在命令行下快速更改目录
- 命令行快速访问远程目录
- Windows 10快速在指定目录打开命令行
- 命令行如何切换目录?
- windows系统下通过命令行切换到其他盘下的目录
- shell技巧之快速切换目录z命令
- linux命令行下快速进入任意目录工具 fastcd
- [原创]命令行快速切换IP
- 管理员权限在当前目录快速打开cmd(命令行)窗口
- 如何在Shell中快速切换目录?
- cmd命令行切换目录
- cd及目录快速切换