go west - bakkeby/dusk GitHub Wiki

As someone who works a lot on the terminal go has been a major time saver for me over the last decade.

go is a small tool that allows me to quickly jump to any given directory that I deem important enough to bookmark.

As an example I may open a terminal and type go dwmf, and I will be brought to the project directory for dwm-flexipatch and it will automatically run ls for me as that is typically the command one runs when navigating to a directory.

[21:50][sbakkeby@sero:~]
$ go dwmf
.git                   dwm.desktop
.github                dwm.png
patch                  libraries.txt
.gitignore             LICENSE
config.def.h           Makefile
config.h               patches.def.h
config.h.bak           patches.h
config.h.sbakkeby      patches.h.423
config.h.text          patches.h.bak
config.h.vertigo.bak   patches.h.sbakkeby
config.h.vertigo.bak2  README
config.mk              README.md
config.mk.sbakkeby     requirements.txt
drw.c                  setup_xephyr.sh
drw.h                  transient
dwm-msg-xephyr         transient.c
dwm.1                  util.c
dwm.c                  util.h
[21:50][sbakkeby@sero:~/Projects/dwm-flexipatch]
$

By "bookmarking" directories I navigate to often, and giving them an alias to remember them by, I can get to them extremely fast.

This has proved especially helpful at work as well where I frequently have to navigate to directory structures that are 8 levels deep.

There are a lot of projects like this and a many of them aim to work dynamically in that they rely on fzf or search through the bash history to work out what directories you may have navigated to in the past.

Personally I find it a lot more convenient to bookmark directories manually as using meaningful aliases like project names or acronyms makes them easy to remember; even when having over a hundred bookmarks. Tab complete of course also adds to the experience.

I am not going to go into more details here. The basic demonstration above should be sufficient to convey what this tool is about and more information can be found on the project page if there is further interest.


Setup

Dependencies:

  • bash or zsh

To set this up you will need:

  • go-west (follow installation instructions on the project page)

Back to Other scripts and life hacks.

⚠️ **GitHub.com Fallback** ⚠️