About this project

lf (as in "list files") is a terminal file manager written in Go, heavily inspired by the ranger file manager. It aims to provide a fast, lightweight, and highly configurable file management experience directly in the terminal. ## Features - **Cross-platform**: Works on Linux, macOS, BSDs, and Windows. - **Single binary**: No runtime dependencies, easy to distribute and install. - **Fast and lightweight**: Native code and static binaries ensure quick startup and low memory usage. - **Asynchronous I/O**: File operations do not block the UI. - **Server/client architecture**: Manage multiple instances and send remote commands. - **Extensible**: Configure and extend using shell commands. - **Customizable keybindings**: Defaults include vi and readline styles. - **Rich feature set**: Includes previews, icons, and more (see documentation). ## Non-Features - No tabs or windows (delegated to window managers or terminal multiplexers). - No built-in pager/editor (use your preferred tools). - No built-in file operation commands (rely on shell tools like `mkdir`, `touch`, `chmod`, etc.). ## Installation Community packages are available in the [wiki](https://github.com/gokcehan/lf/wiki/Packages). Pre-built binaries are on the [releases page](https://github.com/gokcehan/lf/releases). To build from source, you need [Go](https://go.dev/). On Unix: ```bash env CGO_ENABLED=0 go install -trimpath -ldflags="-s -w" github.com/gokcehan/lf@latest ``` On Windows `cmd`: ```cmd set CGO_ENABLED=0 go install -trimpath -ldflags="-s -w" github.com/gokcehan/lf@latest ``` On Windows `PowerShell`: ```powershell $env:CGO_ENABLED = '0' go install -trimpath -ldflags="-s -w" github.com/gokcehan/lf@latest ``` ## Usage After installation, run `lf` to start in the current directory. - `lf -help` shows command line options. - `lf -doc` displays the documentation. - The `etc` directory contains example configurations, colors, icons, and shell/editor integrations. - See the [wiki](https://github.com/gokcehan/lf/wiki) for integrations, tips, and tutorials. ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.