Using lla

Navigation

Jump to bookmarked and recent directories from your shell, and find and open files in the fuzzy view.

↓ on this page

lla has two interactive tools. j moves your shell to a directory you've bookmarked or visited, and the fuzzy view finds files under the current directory and acts on them.

Jump

Add the shell function once:

lla jump --setup

This detects Bash, Zsh or Fish and appends a function named j to the shell's config file. Use lla jump --setup --shell fish to choose the shell yourself. Restart your terminal or source the file, then run j and pick a directory.

lla jump, the picker behind j.

A child process can't change its parent shell's directory, so lla jump only prints the path you picked. The j function does the cd.

your shell
jgenerated shell function
cd /path/you/picked

starts it, then reads back the path

lla jump, a child process
  • ★src
  • ★plugins
  • lla
How a jump reaches your shell.

Bookmarks and history

lla jump --add ~/projects/my-app
lla jump --remove ~/projects/my-app
lla jump --list
lla jump --clear-history

Bookmarks appear above recent directories. lla adds a directory to your history whenever you list it, keeps each one only once, and skips paths in exclude_paths.

Fuzzy view

Type part of a name to narrow the list. Select one or more files, then open them, copy their paths or rename them.

lla -F --respect-gitignore
lla -F --respect-gitignore, searching for format with two files selected.

Keys

KeyAction
↑ ↓, Ctrl+K Ctrl+J, Ctrl+P Ctrl+NMove up or down
Ctrl+U Ctrl+DMove half a page up or down
Ctrl+Shift+G Ctrl+GGo to the start or end
SpaceSelect or deselect the highlighted file
EnterFinish, returning the highlighted or selected files
Ctrl+EOpen in your editor
Ctrl+OOpen with the system's default app
Ctrl+YCopy paths to the clipboard
F2Rename the highlighted file. Enter confirms and Esc cancels
Esc, Ctrl+CQuit

While typing a query, Ctrl+W deletes a word, Ctrl+H is backspace, Ctrl+A or Home goes to the start, and End goes to the end.

Choose the editor

Ctrl+E uses the first of these that's set:

  1. listers.fuzzy.editor in your config
  2. $EDITOR
  3. $VISUAL
  4. nano, or notepad on Windows
[listers.fuzzy]
editor = "code --wait"

Your config's ignore_patterns also applies here. See Limits.