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.
Dependencies:
-
bash
orzsh
To set this up you will need:
- go-west (follow installation instructions on the project page)
Back to Other scripts and life hacks.