My build of lf
Go to file
2016-09-01 18:07:49 +03:00
doc add yank/delete/paste to tutorial 2016-09-01 00:46:45 +03:00
etc handle all keys for mappings 2016-08-28 18:21:42 +03:00
.gitignore initial commit 2016-08-13 15:49:04 +03:00
app.go fix wait key command for posix shells 2016-08-28 16:58:24 +03:00
client.go suppress error if configuration file not exists 2016-08-17 22:35:18 +03:00
comp.go add an option to filter file content for preview 2016-08-28 15:04:57 +03:00
eval.go cleanup 2016-08-28 17:02:58 +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 add an option to filter file content for preview 2016-08-28 15:04:57 +03:00
parse.go initial commit 2016-08-13 15:49:04 +03:00
README.md add travis CI 2016-09-01 18:07:49 +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 Pass width and height to the previewer 2016-09-01 00:19:08 +02:00

LF

Build Status

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.