https://github.com/antonmedv/walk
Terminal file manager
https://github.com/antonmedv/walk
cli file-manager terminal
Last synced: 7 months ago
JSON representation
Terminal file manager
- Host: GitHub
- URL: https://github.com/antonmedv/walk
- Owner: antonmedv
- License: mit
- Created: 2021-12-08T22:50:51.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-04-25T12:52:00.000Z (8 months ago)
- Last Synced: 2025-05-08T00:04:08.598Z (7 months ago)
- Topics: cli, file-manager, terminal
- Language: Go
- Homepage:
- Size: 3.72 MB
- Stars: 3,368
- Watchers: 12
- Forks: 102
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-repos - antonmedv/walk - Terminal file manager (Go)
- awesome-repositories - antonmedv/walk - Terminal file manager (Go)
- awesome-starred - antonmedv/walk - Terminal file manager (Go)
- my-awesome - antonmedv/walk - manager,terminal pushed_at:2025-04 star:3.5k fork:0.1k Terminal file manager (Go)
- awesome-cli-apps-in-a-csv - walk - Terminal file manager. (<a name="file-manager"></a>File manager)
- charm-in-the-wild - walk - A terminal navigator. (_built with Bubble Tea_) (Applications / File Management)
- awesome-cli-apps - walk - Terminal file manager. (<a name="file-manager"></a>File manager)
README
# 🥾 walk
**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](https://github.com/antonmedv/walk/releases).
### Setup
Put the next function into the **.bashrc** or a similar config:
Bash/Zsh
Fish
PowerShell
```bash
function lk {
cd "$(walk "$@")"
}
```
```fish
function lk
set loc (walk $argv); and cd $loc;
end
```
```powershell
function lk() {
cd $(walk $args)
}
```
Now use `lk` command to start walking.
## Features
### Preview mode
Press `Space` to toggle preview mode.

### Delete file or directory
Press `dd` to delete file or directory. Press `u` to undo.

### Display icons
Install [Nerd Fonts](https://www.nerdfonts.com) and add `--icons` flag.

### Image preview
No additional setup is required.

## 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.
```bash
export EDITOR=vim
```
To specify a command to be used to open files per extension, use the `WALK_OPEN_WITH` environment variable.
```bash
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`.
```bash
export WALK_REMOVE_CMD=trash
```
Change main color with `WALK_MAIN_COLOR` environment variable. Available colors
are [here](https://github.com/charmbracelet/lipgloss#colors).
```bash
export WALK_MAIN_COLOR="#0000FF"
```
Use `WALK_STATUS_BAR` environment variable to specify a [status bar](STATUS_BAR.md) program.
```bash
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 |
## Related
- [fx](https://github.com/antonmedv/fx) – terminal JSON viewer
- [howto](https://github.com/antonmedv/howto) – terminal command LLM helper
- [countdown](https://github.com/antonmedv/countdown) – terminal countdown timer
## License
[MIT](LICENSE)