explore

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2025 License: MIT, MIT Imports: 39 Imported by: 0

README

🥾 walk


walk demo

Walk — a terminal navigator; a cd and ls replacement.

Run lk, navigate using arrows or hjkl. Press, esc to jump to a new location; or ctrl+c to stay.

Install

brew install walk
pkg_add walk
go install github.com/antonmedv/walk@latest
curl https://raw.githubusercontent.com/antonmedv/walk/master/install.sh | sh

Or download prebuild binaries.

Setup

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.

Features

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

To specify a command to be used to open files per extension, use the WALK_OPEN_WITH environment variable.

export WALK_OPEN_WITH="txt:less -N;go:vim;md:glow -p"

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

Change main color with WALK_MAIN_COLOR environment variable. Available colors are here.

export WALK_MAIN_COLOR="#0000FF"

Use WALK_STATUS_BAR environment variable to specify a status bar program.

export WALK_STATUS_BAR="Size() + ' ' + Mode()"
Flags

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

Flag Description
--icons Show icons
--dir-only Show dirs only
--hide-hidden Hide hidden files
--preview Start with preview mode on
--with-border Show border in preview mode
--fuzzy Start with fuzzy search on
  • fx – terminal JSON viewer
  • howto – terminal command LLM helper
  • countdown – terminal countdown timer

License

MIT

Documentation

Index

Constants

View Source
const (
	SortByName = iota
	SortByModTime
	SortBySize
)

Variables

View Source
var Version = "v1.13.0"

Functions

func Explore

func Explore(cfg *Config) (string, error)

Types

type Config

type Config struct {
	OpenWith      string
	MainColor     string
	WithHighlight bool
	StatusBar     string

	ShowIcons  bool
	DirOnly    bool
	Preview    bool
	HideHidden bool
	WithBorder bool
	Fuzzy      bool

	SortBy  int
	Reverse bool

	Roots []string
}

type Env

type Env struct {
	Files       []fs.DirEntry `expr:"files"`
	CurrentFile fs.DirEntry   `expr:"current_file"`
}

func (Env) ModTime

func (e Env) ModTime() string

func (Env) Mode

func (e Env) Mode() string

func (Env) Owner

func (e Env) Owner() (string, error)

func (Env) PadLeft

func (e Env) PadLeft(s string, n int) string

func (Env) PadRight

func (e Env) PadRight(s string, n int) string

func (Env) Size

func (e Env) Size() string

func (Env) Sprintf

func (e Env) Sprintf(format string, a ...any) string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL