目录间的瞬间转移术(土遁): dtags

诗书塞外 Python程序员
目录间的瞬间转移术(土遁): dtags

长长的文件路径是最讨厌的东西了。

我要为自己的项目编码,所以我需要切换到

/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

快去试试吧~

更多相关文章

  1. 开发者必备Docker命令
  2. 开发者必备Linux命令
  3. 开发者必备Mysql命令
  4. 在python中执行shell命令的6种方法
  5. CCNP(ISCW)实验:用命令行配置GRE OVER IPSEC ***
  6. 设计模式之命令模式
  7. 03 Linux的常用命令
  8. 你可能不知道的15个 Git 命令[每日前端夜话0xF5]
  9. vtp基本命令

随机推荐

  1. 如何在WebBrowser控件中注入Javascript ?
  2. 探讨FantasySoft遇到的有关Javascript的
  3. javascript数组和对象是否有设置顺序?
  4. 从另一个数组中删除数组的内容。
  5. 使用Jquery Ajax更改按钮的颜色(从外部PHP
  6. HTML5音频播放,歌词同步,及视频播放功能(JPl
  7. JS获取文件名的方法
  8. Google Maps API v3:如何设置缩放级别和地
  9. 深入理解JavaScript 中为什么没有重载?
  10. 输入类型=日期的日期显示为dd-mm-yyyy格