lf Gökçehan Kara
winget install --id=gokcehan.lf -e
lf (as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger file manager.
lf is a terminal file manager written in Go, inspired by ranger. It provides an efficient and intuitive way to navigate and manage files within the command line interface.
Key Features:
- Cross-platform support for Linux, macOS, BSDs, Windows, and more.
- Asynchronous IO operations ensure smooth UI performance without locking.
- Server/client architecture enabling remote management of multiple instances.
- Customizable keybindings with default modes inspired by vi and readline.
- Fast startup and low memory footprint due to native code execution and static binaries.
Audience & Benefit:
Ideal for developers, system administrators, and power users who require a fast, lightweight, and highly customizable terminal file manager. lf empowers users to enhance their workflow with minimal runtime dependencies and maximum flexibility.
lf can be installed via winget on Windows or built from source using Go.
README
LF
Google Groups | Doc | Wiki | #lf (on Libera.Chat) | #lf:matrix.org (with IRC bridge)
lf
(as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger
file manager.
See faq for more information and tutorial for a gentle introduction with screencasts.
Features
- Cross-platform (Linux, macOS, BSDs, Windows)
- Single binary without any runtime dependencies
- Fast startup and low memory footprint due to native code and static binaries
- Asynchronous IO operations to avoid UI locking
- Server/client architecture and remote commands to manage multiple instances
- Extendable and configurable with shell commands
- Customizable keybindings (vi and readline defaults)
- A reasonable set of other features (see the documentation)
Non-Features
- Tabs or windows (better handled by window manager or terminal multiplexer)
- Builtin pager/editor (better handled by your pager/editor of choice)
- Builtin commands for file operations (better handled by the underlying shell tools including but not limited to
mkdir
,touch
,chmod
,chown
,chgrp
, andln
)
Installation
See packages for community maintained packages.
See releases for pre-built binaries.
Building from the source requires Go.
On Unix:
env CGO_ENABLED=0 go install -ldflags="-s -w" github.com/gokcehan/lf@latest
On Windows cmd
:
set CGO_ENABLED=0
go install -ldflags="-s -w" github.com/gokcehan/lf@latest
On Windows powershell
:
$env:CGO_ENABLED = '0'
go install -ldflags="-s -w" github.com/gokcehan/lf@latest
Usage
After the installation lf
command should start the application in the current directory.
Run lf -help
to see command line options.
Run lf -doc
to see the documentation.
See etc directory to integrate lf
to your shell and/or editor.
Example configuration files along with example colors and icons files can also be found in this directory.
See integrations to integrate lf
to other tools.
See tips for more examples.
Contributing
See contributing for guidelines.