Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsz.lua is a command-line directory jumper that learns which folders you use and takes you back to them with short queries. It maintains a database of visited paths, then ranks matches with “frecency”—a score that combines how often and how recently each directory was used.
The project is a Lua script for shells including Bash, zsh, Fish, Nushell, PowerShell and Windows command-line environments. See the official README for platform-specific setup.
How z.lua chooses a directory
Every time you work in a directory, z.lua can record that path. When you run z with a query, it searches the recorded database and selects the highest-ranked matching path. A directory visited recently can beat one visited many times in the past, because recency and frequency are combined rather than treated as separate lists.
For example, after visiting /work/projects/foo/bar, the query z foo bar matches components in that order. The default query language uses Lua-pattern expressions, so the order matters: a path containing foo before bar matches, while /bar/foo does not satisfy that ordered query.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- Intel Core i5-1335U Processor (12M Cache, 12 Threads, up to 4.6 GHz) - 256GB Solid State Drive - 16GB DDR4 SDRAM
- 15.6" FHD (1920x1080) Non-Touch Anti-Glare Display - Intel UHD 620 Integrated Graphics - Stereo Speakers
- 720p HD Webcam with Privacy Shutter. Integrated Microphone - Intel Dual Band Wireless-AC (2x2) 8265, Bluetooth Version 4.2
- I/O Ports: 2x USB 3.0, 1x USB 3.1 Type-C 3.1, Headphone/Mic Combo Port, 4-in-1 Card Reader, HDMI, Kensington Mini-Lock Slot
- Linux Mint (Cinnamon) 64-Bit - Keyboard with Full NumberPad - Fast Charging
The project describes itself as “A command line tool which helps you navigate faster by learning your habits.”
Default and enhanced matching
Default mode
Default behavior is similar to z.sh: query terms are matched against recorded paths as ordered Lua patterns. This is predictable when your directory names provide distinctive fragments, but it may return several candidates when names overlap.
Enhanced mode
Enhanced matching changes how candidates are selected and can allow z to enter a matching local directory even when that directory has not yet been recorded. Because this mode changes the matching behavior, enable it only after checking the current syntax in the project README.
Rank #2
- Intel Core i5-10210U (up to 4.2GHz) - 1TB PCIe NVMe + 1TB HDD - 32GB DDR4 SDRAM
- 17.3" HD+ (1600x900) Display, Intel UHD Graphics 620
- Built in HD 720p Webcam with Microphone - Bluetooth Version4.2
- I/O Ports: 2x USB 3.1 (Data Only), 1x USB 2.0, 1x HDMI, 1x Headphone/Microphone Combo Jack
- Linux Mint Cinnamon 64-Bit - 6-Row Keyboard w/ Full Numberpad
Useful commands and flags
| Command | What it does |
|---|---|
z query |
Jump to the highest-ranked matching directory. |
z -l query |
List matching directories instead of changing directories. |
z -i query |
Show an interactive list so you can choose a match. |
z -I query |
Use fzf when multiple matches exist. |
z -t query |
Order results by most recent access. |
z -r query |
Order results by frequency. |
z -b query |
Search backward toward a parent directory or project root. |
Flags can be combined where the installed version supports the combination. If a command behaves differently from the README, check the version-specific documentation before changing your shell configuration.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallInstall and initialize z.lua
Installation consists of obtaining the script, ensuring Lua is callable, and evaluating shell-specific initialization code. The exact integration differs by shell.
Bash
- Place
z.luaat a stable path. - Add the initialization command to your Bash startup file, usually
~/.bashrc:eval "$(lua /path/to/z.lua --init bash)" - Open a new shell or source the file, then visit a few directories before trying a query.
The README also documents enhanced and once initialization options; use its current form if you need those behaviors.
Rank #3
- [ULTRA-RUGGED DESIGN] MIL-STD-810G and IP65 certified. Built to survive 6-foot drops, heavy rain, and extreme vibrations. Features a magnesium alloy chassis with an integrated carry handle for maximum portability
- [4G LTE - WORK ANYWHERE] Integrated 4G LTE Multi-Carrier Mobile Broadband. Stay connected to the internet in remote areas or on the road without relying on Wi-Fi or phone hotspots. True mobile freedom for field professionals
- [1200-NIT SUNLIGHT READABLE] 13.1" XGA Touchscreen with CircuLumin technology. At 1200 nits, it is nearly 4x brighter than a standard laptop, ensuring perfect visibility under direct, intense sunlight
- [LINUX UBUNTU PRE-INSTALLED] Fast, secure, and bloatware-free. Optimized for developers, network engineers, and diagnostic software that thrives in a stable, open-source environment
- [LEGACY SERIAL PORT] Features a native RS-232 Serial Port, HDMI, and USB 3.0. Essential for connecting directly to industrial machinery, CNCs, and automotive diagnostic tools without unreliable adapter
zsh
- Add the zsh initialization form to
~/.zshrc:eval "$(lua /path/to/z.lua --init zsh)" - Reload zsh with
source ~/.zshrcor start a new session.
Fish
Fish uses generated initialization piped to source. Follow the Fish section of the README rather than copying Bash or zsh syntax.
Nushell
Nushell setup generates a file that you source from your Nushell configuration. The project documents support for Nushell 0.96 and newer and notes a lua-filesystem requirement for WSL 1.
PowerShell
PowerShell evaluates generated initialization in the PowerShell profile. Add the documented command to the profile, then restart PowerShell or reload that profile.
Rank #4
- THE POWER TO STAY PRODUCTIVE – Looking to make your everyday work and home life more manageable without breaking the bank? The Lenovo V15 Gen 4 offers long-term reliability with top-of-the-line features to make you your most productive self.
- CRUSH YOUR TO-DO LIST – The AMD Ryzen CPU pairs quiet performance and enhanced operating power to crush your high-demand workday. It optimizes performance and allows for seamless multitasking.
- TRUE-TO-LIFE VISUALS – The 15.6” FHD IPS display is anti-glare with 300 nits brightness to see your best outside or in. Its 88% screen-to-body ratio makes viewing detailed applications like spreadsheets a breeze.
- SEAMLESS COLLABORATION – Lenovo Smart Appearance enhances your camera effects to protect your privacy and to make you the focus of every video conference. Intelligent noise cancelation minimizes distraction and Dolby Audio provides an elegantly sonorous experience.
- BUILT TO WITHSTAND – Built for military-grade toughness, the V15 Gen 4 is tested to withstand harsh temperatures, pressure, humidity, vibrations and more. Keep your work safe from the board room to your living room and everywhere in between.
Windows command-line shells
The project documents clink and cmder integrations. Lua must be available on PATH; use the Windows instructions in the README for the shell you actually run.
Using fzf for ambiguous matches
fzf is optional. Install it separately, then use z -I query when you want an interactive fuzzy finder for multiple matches. Without fzf, z -i query provides z.lua’s interactive selection instead. Neither option changes the underlying directory database.
Configuration that matters
$_ZL_CMD: changes the command name from its default,z.$_ZL_DATA: changes the database file location; the default is~/.zlua.$_ZL_EXCLUDE_DIRS: excludes paths you do not want recorded.$_ZL_ADD_ONCE=1: updates the database only after the working directory changes, reducing repeated writes during a session.
z.lua also ages its data: when the total rank exceeds the default threshold of 5,000, ranks are scaled down. This keeps old activity from growing without limit while preserving relative usage patterns.
Recommended Free Tools
Best Value
- Powerful Linux Laptop: This IdeaPad Slim 3 Laptop comes pre-installed with Ubuntu Linux, offering fast performance, robust security, and a clean, user-friendly experience. Enjoy full customization, seamless hardware compatibility, and access to thousands of open-source apps. Whether you're working, creating, or coding, it's built to keep up with everything you do.
- A Multitasking Master: The latest AMD Ryzen 7 5825U processor (up to 4.5 GHz) delivers powerful performance with 8 cores and 16 threads for smooth multitasking. Integrated AMD Radeon Graphics provide crisp visuals for streaming, browsing, photo editing, and casual gaming. With smart machine intelligence, it adapts to your needs for a fast, responsive experience.
- 15.6" Full HD Display: The IdeaPad Slim 3 boasts an 88% screen-to-body ratio for a floating, edge-to-edge visual experience. TÜV Low Blue Light certification reduces eye strain, making it perfect for long work or study sessions.
- Military-Grade Durability: The smart IdeaPad Slim 3 combines portability and durability, letting you work, study, and play on the go. With a profile 10% slimmer than the previous generation, it's lightweight yet military-grade rugged, ready for anything, anywhere.
- Versatile Connectivity: Enjoy the security of a built-in webcam with a privacy shutter. Connect effortlessly with multiple ports: 2x USB A, 1x USB C, 1x HDMI, 1x SD Card Reader, 1x Headphone/Microphone combo. Bundle comes with Stylus Pen, 256GB Portable SSD and 5-in-1 Docking Station.
Troubleshooting common problems
z: command not found
- Confirm that Lua runs from the shell with
lua -v. - Check that the initialization line is in the startup file used by your current shell.
- Reload the file or open a new terminal.
No directories are returned
Use several directories normally so they can be recorded, then try a distinctive ordered query. If you deliberately excluded a parent path with $_ZL_EXCLUDE_DIRS, it will not appear in results.
The wrong directory wins
Use z -l query to inspect candidates. Choose -t when recency is what matters, -r when frequency is more important, or -i/-I to select manually. Remember that default matching is ordered.
fzf selection fails
Verify that the fzf executable is installed and on PATH. Use z -i as a built-in alternative.
Project status, license and realistic expectations
The official releases page lists v1.8.26, released August 10, 2026; its note mentions a Nushell completion fix and disabled sorting in Nushell completion: https://github.com/skywind3000/z.lua/releases.
z.lua is distributed under the MIT License. The README also makes speed comparisons with fasd, autojump and z.sh, but it does not provide a benchmark setup or methodology on the reviewed page. Treat those multipliers as project claims rather than independently established performance results.
Compared with other directory jumpers, evaluate the shell and operating-system support, ordered versus enhanced matching, database aging, interactive and fzf workflows, and installation dependencies. z.lua’s main advantage is the combination of frecency ranking, multiple shell integrations and selectable matching modes; its main learning cost is understanding shell initialization and ordered Lua-pattern queries.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

