https://github.com/antonmedv/walk
Terminal file manager
https://github.com/antonmedv/walk
cli file-manager terminal
Last synced: 7 days 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 (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-02-23T10:53:04.000Z (about 2 months ago)
- Last Synced: 2025-04-01T23:43:33.313Z (14 days ago)
- Topics: cli, file-manager, terminal
- Language: Go
- Homepage:
- Size: 3.7 MB
- Stars: 3,364
- Watchers: 12
- Forks: 102
- Open Issues: 3
-
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)
- charm-in-the-wild - walk - A terminal navigator. (_built with Bubble Tea_) (Applications / File Management)
- my-awesome - antonmedv/walk - manager,terminal pushed_at:2025-02 star:3.4k fork:0.1k Terminal file manager (Go)
- awesome-starred - antonmedv/walk - Terminal file manager (Go)
- awesome-starred - antonmedv/walk - Terminal file manager (Go)
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
```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)