好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

目录间的瞬间转移术(土遁): 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测试数据/joowani/dtags

快去试试吧~

查看更多关于目录间的瞬间转移术(土遁): dtags的详细内容...

  阅读:25次