我花了很多时间在航站楼里闲逛。由于您不敢公开这个故事,所以您也很有可能。我的日常活动使我为各种项目(专业,个人和开源)做出了贡献。为了我的理智,我倾向于遵循严格的规则来组织我的工作空间,这有助于我整理事物并易于访问。大概我想。
我决定按照Gophilosophy的原则来安排我的项目:使树状结构镜像可到达的URL。例如〜/ Workspace / src / github.com / aymericbeaumet / dotfiles将包含@aymericbeaumet拥有的项目dotfile,可在github.com上访问。很好,但是我现在面临着一个复杂的目录结构,难以快速导航。最后,这使得访问我所需的资源更加困难。
记住并键入每个项目的位置(即使在利用自动完成功能的情况下)也很耗时。创建shell别名是不可扩展的,相反,我想依靠每个项目名称的伪唯一性来在我计算机的所有目录中找到它。
存在几种解决该问题的工具。我最喜欢的是z。它遵循Unix原则,体积小,专注且可互操作。 z允许快速跳来跳去,自动从您的习惯中学习。条目根据您访问目录的频率进行排名。
让我们逐步了解该工具的基础知识。以下是我建议在macOS上为Zsh安装installit的方式(对于其他Shell和操作系统,安装过程应与此类似):
请注意,安装z不足以开始使用z。您必须在每个Shell会话的开始时将z.sh源化以激活它。 〜/ .zshenv配置文件非常适合,因为Zsh在大多数情况下都将其加载,从而使该工具可以在多种上下文(终端,编辑器,IDE,脚本等)中访问。
一旦安装和设置完成,请执行以下操作:启动一个新的Shell会话,通过一些文件夹cd并执行z以确认它已正确跟踪了您的活动:
如上所示,我花了很多时间浏览Brigad项目,但似乎我也经常访问我的dotfile进行微妙的配置。排名分数是易变的,并且可以在短时间内观察到重大变化。
现在z已经积累了一些知识,可以通过导航到一个跟踪的文件夹来尝试。导航和执行z命令以及目录名称一样简单:
事实上,我确实更喜欢利用部分匹配(想像**围绕您的搜索模式)来键入更少的字符。因此,z点是有效的,并且应产生与z点文件类似的行为(取模可能的名称冲突,但是您知道了)。之所以有效,是因为z依赖于正则表达式。例如,下面的代码段将导航到以字母“ tmp”(得分最高)结尾的目录:
整洁吧?我猜您开始看到此工具的可能性。而且,我们仅涉及其功能的表面。我建议您仔细阅读其文档以充分发挥其潜能。自动完成,子目录匹配,连续匹配等功能可以改变游戏规则。
z很大。这个工具每天都为我节省了大量的时间。当人们开始依赖它时,就没有回头路可走了。我希望它也适合您的工作流程。
听到您节省时间的窍门,我将不胜感激。随时分享您的经验!