lf
File manager with terminal-like navigation
SYNOPSIS
lf [options] [path]
PARAMETERS
path
The directory to start in. If omitted, defaults to the current working directory.
-command {cmd}
Execute a single command instead of starting the file manager.
-cpuprofile {file}
Write cpu profile to the given file for debugging purposes.
-debug
Enable debug mode (verbose logging).
-find {path}
Run in 'find' mode. Find files under the given path and exit.
-config {file}
Use a specific configuration file.
-last-dir-path {file}
File to save the last used directory
-log {file}
Write log output to the given file.
-no-msgport
Do not use the message port to prevent blocking.
-version
Print the version number and exit.
-w
Wait for all commands to finish before exiting. Used to launch lf from gui.
DESCRIPTION
lf is a fast, fully customizable terminal file manager written in Go. It's inspired by Ranger but aims for a simpler, more lightweight approach. Rather than including many built-in features, lf focuses on providing a robust and flexible platform for users to define their own workflows through shell commands. It allows users to quickly navigate directories, preview files (using external programs defined in the configuration), and execute shell commands directly from the file manager. lf supports vi-like keybindings for navigation, making it familiar to experienced terminal users. Its minimalist interface and reliance on external programs make it highly configurable and extensible.
The primary focus of lf is navigation of directories, file preview and selection of files to piped to further commands.
CAVEATS
lf relies heavily on external programs for file previews and other functionality. Configuration is essential for customizing its behavior.
CONFIGURATION
lf's behaviour is configured via the '~/.config/lf/lfrc.sh' file. This script is executed at startup and can be used to define keybindings, commands, filetype associations, and other customizations. The file format is POSIX shell to ensure full power and customisability.
PIPING AND SELECTION
One of lf's strengths is its ability to pipe selected files to external commands. You can select multiple files, then execute a shell command that operates on those files. This makes it easy to perform batch operations on files.
HISTORY
lf was created to provide a simpler and more lightweight alternative to existing terminal file managers like Ranger. Development focused on a core set of features with a strong emphasis on extensibility through user-defined commands.