My build of lf
Go to file
2016-08-26 23:25:40 +03:00
doc fix ifs option in the tutorial 2016-08-25 02:01:50 +03:00
etc fix ifs option in lfrc.example 2016-08-25 01:13:45 +03:00
.gitignore initial commit 2016-08-13 15:49:04 +03:00
app.go show completion menu for multiple match 2016-08-21 18:41:03 +03:00
client.go suppress error if configuration file not exists 2016-08-17 22:35:18 +03:00
comp.go follow directories for file name completion 2016-08-26 23:25:40 +03:00
eval.go use open-file command instead of opener option 2016-08-25 00:51:52 +03:00
LICENSE initial commit 2016-08-13 15:49:04 +03:00
main.go cleanup 2016-08-17 23:28:42 +03:00
Makefile initial commit 2016-08-13 15:49:04 +03:00
misc_test.go add misc tests 2016-08-14 22:56:55 +03:00
misc.go add misc tests 2016-08-14 22:56:55 +03:00
nav.go cleanup 2016-08-17 23:28:42 +03:00
opts.go use open-file command instead of opener option 2016-08-25 00:51:52 +03:00
parse.go initial commit 2016-08-13 15:49:04 +03:00
README.md update file opener section in the readme and move it to tutorial 2016-08-25 01:56:12 +03:00
scan_test.go initial commit 2016-08-13 15:49:04 +03:00
scan.go initial commit 2016-08-13 15:49:04 +03:00
server.go initial commit 2016-08-13 15:49:04 +03:00
ui.go sort key bindings before listing 2016-08-24 13:08:49 +03:00

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.

multicol-screenshot singlecol-screenshot

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.