Go Roff Shell Other
Switch branches/tags
Clone or download
Latest commit 0b8de7c Aug 1, 2018
Permalink
Failed to load latest commit information.
etc add 'doc' command to view documentation Jul 7, 2018
gen cleanup Jul 7, 2018
.gitignore use dep for dependency management Jun 25, 2018
.travis.yml use tag for release name Mar 22, 2018
Gopkg.lock use dep for dependency management Jun 25, 2018
Gopkg.toml use dep for dependency management Jun 25, 2018
LICENSE initial commit Aug 13, 2016
README.md update readme Jul 18, 2018
app.go export 'LF_LEVEL' variable for nested instances Jul 28, 2018
client.go try to reconnect after sleep Jul 26, 2018
colors.go fix confusion of 8-bit color codes and attributes May 6, 2018
colors_test.go add tests for colors May 6, 2018
complete.go handle non-existent directories during reload Jul 30, 2018
complete_test.go rename 'comp' to 'complete' May 15, 2018
doc.go add 'quit' command to server protocol Jul 22, 2018
docstring.go add 'quit' command to server protocol Jul 22, 2018
eval.go handle non-existent directories during reload Jul 30, 2018
eval_test.go add missing arguments to test cases Apr 12, 2018
lf.1 add 'quit' command to server protocol Jul 22, 2018
main.go detach server on windows Jul 31, 2018
misc.go cleanup May 20, 2018
misc_test.go add a 'B' suffix to files under a thousand bytes Jan 8, 2017
nav.go handle non-existent directories during reload Jul 30, 2018
opts.go add 'mark-save' and 'mark-load' commands for marks Jul 9, 2018
os.go detach server on windows Jul 31, 2018
os_windows.go detach server on windows Jul 31, 2018
parse.go cleanup May 20, 2018
scan.go add a new shell type displaying the output Mar 26, 2018
server.go add 'quit' command to server protocol Jul 22, 2018
ui.go add 'mark-save' and 'mark-load' commands for marks Jul 9, 2018

README.md

LF

Google Groups | Wiki | #lf (on Freenode) | #lf:matrix.org (with IRC bridge)

Build Status Go Report Card GoDoc Join the chat at https://gitter.im/lf-fm/Lobby

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 and tutorial for a gentle introduction with screencasts.

multicol-screenshot singlecol-screenshot

Features

  • 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
  • Configuration with shell commands
  • Customizable keybindings (vi and readline defaults)
  • Preview filtering (for source highlight, archives, pdfs/images as text etc.)

Non-Features

  • 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)

May-Futures

  • Mouse control

Installation

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.

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 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.

Contributing

See contributing for guidelines.