Terminal file manager inspired by ranger, written in Go for speed and simplicity.
lf (short for "list files") is a terminal file manager written in Go that draws heavy inspiration from the popular ranger file manager. It provides a fast, lightweight alternative for navigating and managing files directly from the command line, featuring a clean interface with customizable keybindings that default to vi-style navigation.
The tool stands out for its performance characteristics, offering fast startup times and low memory usage thanks to its native Go implementation and static binary distribution. It supports asynchronous I/O operations to prevent UI freezing and includes a unique server/client architecture that allows managing multiple instances with remote commands. The file manager is highly extensible through shell command integration and supports comprehensive customization options.
lf is designed for users who prefer terminal-based workflows and want a powerful yet lightweight file management solution. It's particularly appealing to developers, system administrators, and power users who value efficiency and customization. The tool deliberately avoids feature bloat by excluding tabs, built-in editors, and redundant file operations, instead relying on external tools and the underlying system for these functions.
# via Go Install
env CGO_ENABLED=0 go install -ldflags="-s -w" github.com/gokcehan/lf@latest