My build of lf
Go to file
2017-09-08 23:46:31 +03:00
etc cleanup 2017-09-08 23:46:31 +03:00
gen add missing platforms 2017-08-05 19:41:39 +03:00
.gitignore add lf.exe to gitignore 2017-07-23 17:15:30 +03:00
.travis.yml replace /x/text package with mattn/go-runewidth 2016-11-14 01:35:34 +03:00
app.go use conditional compilation for windows 2017-08-05 19:23:55 +03:00
client.go use newlines in communication protocol 2017-07-24 23:55:44 +03:00
comp_test.go cleanup 2016-12-18 21:34:41 +03:00
comp.go handle user variables on all platforms 2017-08-06 11:05:46 +03:00
doc.go cleanup 2017-09-08 23:46:31 +03:00
docstring.go cleanup 2017-09-08 23:46:31 +03:00
eval_test.go change default file separator to newline 2017-09-07 23:01:57 +03:00
eval.go handle user variables on all platforms 2017-08-06 11:05:46 +03:00
LICENSE initial commit 2016-08-13 15:49:04 +03:00
main.go fix init order of sockets for remote commands 2017-08-06 18:26:38 +03:00
misc_test.go add a 'B' suffix to files under a thousand bytes 2017-01-08 19:24:28 +03:00
misc.go add a 'B' suffix to files under a thousand bytes 2017-01-08 19:24:28 +03:00
nav.go handle user variables on all platforms 2017-08-06 11:05:46 +03:00
opts.go change default file separator to newline 2017-09-07 23:01:57 +03:00
os_windows.go handle user variables on all platforms 2017-08-06 11:05:46 +03:00
os.go handle user variables on all platforms 2017-08-06 11:05:46 +03:00
parse_test.go cleanup 2016-12-18 21:34:41 +03:00
parse.go implement cmap for command line mapping 2017-03-10 18:53:21 +03:00
README.md cleanup 2017-09-08 23:46:31 +03:00
scan_test.go cleanup 2016-12-18 21:34:41 +03:00
scan.go implement octal escapes in double quotes 2017-03-16 00:13:26 +03:00
server.go use newlines in communication protocol 2017-07-24 23:55:44 +03:00
ui.go handle user variables on all platforms 2017-08-06 11:05:46 +03:00

LF

Google Groups | Wiki

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

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.

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
  • Configurable with shell commands (sync or async)
  • 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

  • Bookmarks
  • Colorschemes

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 tips for more examples.

Contributing

See contributing for guidelines.