LF
Please note that this is an experimental file manager.
One of the most dangerous pieces of software you can play with.
You may accidentally lose your files or worse so use at your own risk.
Likewise it is a work in progress.
You will most likely come across some shameful bugs.
Also some essentials may not have been implemented yet.
lf
(as in "list files") is a terminal file manager written in Go.
It is heavily inspired by ranger with some missing and extra features.
Some of the missing features are deliberately ommited
since it is better if they are handled by external tools.
Features
- no external runtime dependencies (except for terminfo database)
- fast startup and low memory footprint (due to native code and static binaries)
- server/client architecture to share selection between multiple instances
- custom commands as shell scripts (hence any other language as well)
- sync (waiting and skipping) and async commands
- fully customizable keybindings
Non-Features
- tabs or windows (handled by the window manager or the terminal multiplexer)
- built-in pager (handled by your pager of choice)
May-Futures
- enchanced previews (image, pdf etc.)
- bookmarks
- colorschemes
- periodic refresh
- progress bar for file yank/delete paste
Installation
You can build from the source using:
go get -u github.com/gokcehan/lf
Currently there are no prebuilt binaries provided.
Usage
After the installation lf
command should start the application in the current directory.
See tutorial for an introduction to the configuration.
See reference for the list of keys, options and variables with their default values.
See etc directory to integrate lf
to your shell or editor.
File Opener
lf
does not come bundled with a file opener.
By default it tries to call xdg-open
from xdg-utils
package.
You can change the file opener using the opener option (e.g. set opener mimeopen
).
Below are a few alternatives you can use:
- libfile-mimeinfo-perl (executable name is
mimeopen
)
- rifle (ranger's default file opener)
- mimeo
- custom (using file extensions and/or mimetypes with
file
command)