CDPATH replacements
after reading this post I figured I might as well bite the bullet and improve on my CDPATH-related setup, especially because it does not work with Emacs. so i looked around for autojump-related alternatives that do.
What I use now
I currently have this in my .shenv
(sourced by .bashrc
):
export CDPATH=".:~:~/src:~/dist:~/wikis:~/go/src:~/src/tor"
This allows me to quickly jump into projects from my home dir, or the
"source code" (~/src
), "work" (src/tor
), or wiki checkouts
(~/wikis
) directories. It works well from the shell, but
unfortunately it's very static: if I want a new directory, I need to
edit my config file, restart shells, etc. It also doesn't work from my
text editor.
Shell jumpers
Those are commandline tools that can be used from a shell, generally
with built-in shell integration so that a shell alias will find the
right directory magically, usually by keeping track of the directories
visited with cd
.
Some of those may or may not have integration in Emacs.
autojump
- home page
- not in emacs, but works in eshell
- this might work though
fasd
- home page
- upstream packaged in Debian
- emacs extensions, not in Debian:
- helm integration (not in melpa?)
- more direct
z
- home page
- ungooglable
- not in Debian
- helm integration
- eshell integration
fzf
- home page
- the original "fuzzer". uses
find
by default, so no notion of frequency. - emacs integration
- similar projects
- rust implementation
Emacs plugins not integrated with the shell
Those projects can be used to track files inside a project or find files around directories, but do not offer the equivalent functionality in the shell.
projectile
- home page
- supports ido, ivy, or helm.
elpy
- home page
- elpy has a notion of projects, so, by default, will find files in the current "project" with C-c C-f which is useful
bookmarks.el
- built-in
- home page
- "Bookmarks record locations so you can return to them later"
recentf
- built-in
- home page
- "builds a list of recently opened files. This list is is automatically saved across sessions on exiting Emacs - you can then access this list through a command or the menu"
references
https://www.emacswiki.org/emacs/LocateFilesAnywhere