This is a work in progress. Use at your own risk.
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 omitted since they are better handled by external tools. See faq for more information.
- Cross-platform (Linux, OSX, BSDs, Windows (partial))
- Single binary without any runtime dependencies (except for terminfo database)
- Fast startup and low memory footprint (due to native code and static binaries)
- Server/client architecture to share file selection between multiple instances
- Configurable with shell commands (sync or async)
- Customizable keybindings (vi and readline defaults)
- Preview filtering (for source highlight, archives, pdfs/images as text etc.)
- Tabs or windows (handled by window manager or terminal multiplexer)
- Builtin pager/editor (handled by your pager/editor of choice)
- Image previews (cool but no standard available)
See releases for pre-built binaries.
If you like to build from the source:
go get -u github.com/gokcehan/lf
See packages for community maintained packages.
After the installation
lf command should start the application in the current directory.
lf -help to see command line options.
lf -doc to see the documentation.
See etc directory to integrate
lf to your shell or editor. An example configuration file can also be found in this directory.
See integrations to integrate
lf to other tools.
See tips for more examples.
See contributing for guidelines.