/walk

Terminal file manager

Primary LanguageGoMIT LicenseMIT

🥾 walk


walk demo

Walk — a terminal navigator.

Why another terminal navigator? I wanted something simple and minimalistic. Something to help me with faster navigation in the filesystem; a cd and ls replacement. So I build walk. It allows for quick navigation with fuzzy searching, cd integration is quite simple. And you can open vim right from the walk. That's it.

Install

brew install walk
pkg_add walk
go install github.com/antonmedv/walk@latest

Or download prebuild binaries.

Put the next function into the .bashrc or a similar config:

Bash/Zsh Fish PowerShell
function lk {
  cd "$(walk "$@")"
}
function lk
  set loc (walk $argv); and cd $loc;
end
function lk() {
  cd $(walk $args)
}

Now use lk command to start walking.

Preview mode

Press Space to toggle preview mode.

Walk Preview Mode

Delete file or directory

Press dd to delete file or directory. Press u to undo.

Walk Deletes a File

Display icons

Install Nerd Fonts and add --icons flag.

Walk Icons Support

Image preview

No additional setup is required.

Walk Image Preview

Usage

Key binding Description
arrows, hjkl Move cursor
shift+arrows Jump to start/end
enter Enter directory
backspace Exit directory
space Toggle preview
esc, q Exit with cd
ctrl+c Exit without cd
/ Fuzzy search
d, delete Delete file or dir
y yank current dir
. Hide hidden files

Configuration

The EDITOR or WALK_EDITOR environment variable used for opening files from the walk.

export EDITOR=vim

The WALK_REMOVE_CMD environment variable can be used to specify a command to be used to remove files. This is useful if you want to use a different command to remove files than the default rm.

export WALK_REMOVE_CMD=trash

Flags can be used to change the default behavior of the program.

Flag Description
--icons Show icons
--dir-only Show dirs only
--preview Start with preview mode on
--fuzzy Start with fuzzy search on

License

MIT