Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Set Up

After you installed lacy, you have to add it’s shell configuration to your shell.

Shell Setup

For more shell options, see lacy init --help.

Zsh

# ~/.zshrc
eval "$(lacy init zsh)"

Bash

# ~/.bashrc
eval "$(lacy init bash)"

Fish

# ~/.config/fish/config.fish
lacy init fish | source

Nushell

If you’re running anything older than v0.112, you’ll need lacy init nu --cd-cmd=cd. If you’re running anything older than v0.113, you’ll also need a small hack to set lacy alias (--cmd) to cd. Check --cmd.

# $nu.config-path
mkdir ($nu.data-dir | path join "vendor/autoload")
lacy init nu | save -f ($nu.data-dir | path join "vendor/autoload/lacy.nu")

PowerShell

# $PROFILE
lacy init powershell | Out-String | iex

Other shells

Feel free to contribute the init script for your preferred shell.

Shell Options

You can customize the shell script that gets generated by using these options:

--cd-cmd

Define the command to be used instead of cd. (e.g. --cd-cmd=z)

Default:

  • Bash, ZSH, Fish: builtin cd
  • Nushell: %cd
  • PowerShell: Set-Location

--cmd

The name of the main lacy command you use for navigating. (e.g. --cmd=cd)

Default: y

Warning

Even though nushell has an analogue of builtin keyword - which is the % sigil, it was only added recently in v0.112 (and will break older versions!), and it was actually bugged to the point that --cmd=cd would still have caused infinite recursion, and that only got fixed in v0.113.

So if you’re running older versions, use this hack from the very nushell book:

alias core-cd = cd
mkdir ($nu.data-dir | path join "vendor/autoload")
lacy init nu --cd-cmd=core-cd --cmd=cd | save -f ($nu.data-dir | path join "vendor/autoload/lacy.nu")

--custom-fuzzy

Configure this to disable lacy’s built in UI selector and replace it with your own command. (e.g. --custom-fuzzy=fzf)

Default: none

Environment variables

$LACY_NO_ARGS_PATH

Controls where you will jump if you use the lacy command without extra arguments.

Default: ~

$LACY_FILTER_CWD

Controls whether current directory (or its parents) would be ignored when matching.

For example, say you’re in ~/git, you also have ~/Games, and you use y .. g.

  • 0 would prompt you to choose between ~/git and ~/Games.
  • 1 would just jump to Games.
  • 2 would exclude git even if you were in ~/git/lacy and used y ... g.

Default: 1