Best Free and Open Source Navigation Tools

cdwe – cd wrapper with per-directory environment settings

cdwe is a configurable cd wrapper that changes shell environment settings as you move between directories.

Its configuration associates paths with environment variables and other shell behaviour, making it useful when different projects require different settings. Rules can apply to a directory and its descendants, while environment files can be loaded for exact directory matches. cdwe can also define directory-specific aliases and execute commands automatically when a matching location is entered.

This is free and open source software.

Key Features

  • Sets environment variables automatically when entering configured directories and removes them again when leaving their scope.
  • Rules can apply to a directory and its subdirectories rather than requiring a separate configuration entry for every path.
  • Loads variables from selected .env files when entering matching directories.
  • Supports assigning a single environment variable to several directories from one configuration block.
  • Defines aliases that exist only while the shell is within selected directory trees.
  • Can associate an alias with a sequence of commands rather than a single command.
  • Automatically executes configured commands when entering particular directories.
  • Directory paths in configuration can contain environment-variable references, making rules portable across machines and user accounts.
  • Supports local configuration files as well as the main configuration.
  • Can be used with Bash, Zsh and Fish.
  • Designed to work with other cd-like commands rather than forcing one fixed navigation workflow.
  • Uses TOML for readable, structured configuration.

Website: github.com/synoet/cdwe
Support:
Developer: synoet
License: MIT License

cdwe in action
Click image for full size

cdwe is written in Rust. Learn Rust with our recommended free books and free tutorials


Related Software

Shell tools
fzfCommand-line fuzzy finder for your shell
zoxideSmarter cd command, inspired by z and autojump
brootReviewed under our Excellent Utilities series
McFlyAlso reviewed under our Excellent Utilities series
zMaintains a jump-list of the directories you actually use
autojumpOffers a fast way to navigate your filesystem
z.luaHelps you navigate faster by learning your habits
HSTRBash and zsh shell history suggest box
Zsh-zFast directory jumping based on frecency
enhancdNext-generation cd command
fzySimple, fast fuzzy finder for the terminal
NavitaRapid directory traversal
JumpQuick and fuzzy directory jumper
walkSimple and minimalistic terminal navigator
lacycd alternative that makes navigating much more efficient
DF-SHOWDirectory File Show
fzAdds fuzzy search to tab completion of z
paziFast autojump helper
jumperFiles/directories jumper
cdhistLinux shell cd history directory stack
icdShell utility that makes changing directories quicker and more convenient
SDDynamic directory navigation from the command line
DongleMove around deep directory trees
cdwecd with env vars
fastdiractQuick shell navigation and command execution
zmcd for lazy people
slingshotLightweight tool to browse files in the terminal
qcdQuickly change directory
navQuickly navigate through directories
menucdDirectory browser and changer
knNavigate folders quickly
jmpThe superior cd
gumpSmarter cd command

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted