目录间的瞬间转移术(土遁): dtags
目录间的瞬间转移术(土遁): dtags
诗书塞外 Python程序员
长长的文件路径是最讨厌的东西了。
我要为自己的项目编码,所以我需要切换到
/home/woailuo/somecompany/somegroup/projectname/src/
路径下,这时我要为我的项目添加一张图片,图片存储在
/home/woailuo/Picture/somecompany/somegroup/
路径下,所以我通过cd切换到该路径,然后将我想要的图片拷贝到项目路径下的static/img文件夹下,使用到cp命令
cp /home/woailuo/Picture/somecompany/somegroup/goodpic.jpg /home/woailuo/somecompany/somegroup/projectname/src/static/img/
哦,My God! 只是简简单单的3个命令,但是由于这该死的路径,执行这三条命令花了我整整一分钟!
我急需一个能够在路径间快速转移,而不需要输入那长长的路径的办法!越简单越好!
有了,dtags可以帮我实现愿望,它简直就像是火影里的土遁之术(一个在土地中瞬间转移的忍术)。
如何使用dtags
dtags的核心是为文件路径起一个别名,也就是打一个标签(结印)。
打标签
像这样打标签
~$ tag ~/web dev work
这样给~/web这个路径打了两个标签,一个是dev,一个是work.
如果你恰好想用路径的最后一部分作为标签的话,你可以省略后面的标签名参数,像这样
~$ tag ~/app
这样dtags就为~/app这个路径打了一个标签app。
切换目录
打好了标签,你就可以通过标签来切换目录了。
~$ d app
这样就切换到了目录~/app。另外,d这个命令被设计用来完全替代cd命令,所以d命令也可以接受普通的路径作为参数,并切换当前路径到对应的位置。所以,完全忘掉cd吧,以后只用d就可以了:
~$ d /home/woailuo/Workspace/
执行命令
更加快捷的是,你可以指定在某个目录中执行命令。语法是
e 标签名/路径 要运行的命令
如
~$ e app git status
这条命令在~/app下执行git status命令。
更牛的是,e可以同时在多个目录执行同一条命令,只要用逗号分割这些路径就可以了
~$ e app,~/tmp/direct ls
这条命令同时在~/app, ~/tmp/dirct两个目录中执行ls命令,并打印了结果。
管理标签
标签越来越多之后,我们就需要管理我们的标签了。我们可以通过命令
~$ dtags list
来查看都有哪些标签。通过命令
~$ untag ~/app app
来取消路径对应的某个标签。
是不是很方便?那如何安装呢?
安装
~$ pip install --upgrade dtags
然后在.bashrc(Mac OS X是.bash_profile)中添加一句话
command -v dtags > /dev/null 2>&1 && . <(dtags shell bash)
之后重启终端,就可以使用了。
项目地址
https://github.com/joowani/dtags
快去试试吧~
更多相关文章
- 开发者必备Docker命令
- 开发者必备Linux命令
- 开发者必备Mysql命令
- 在python中执行shell命令的6种方法
- CCNP(ISCW)实验:用命令行配置GRE OVER IPSEC ***
- 设计模式之命令模式
- 03 Linux的常用命令
- 你可能不知道的15个 Git 命令[每日前端夜话0xF5]
- vtp基本命令