My build of lf
Go to file
2022-01-22 16:57:28 +03:00
.github/workflows bump github actions go version to 1.17 2022-01-22 14:44:54 +03:00
etc PowerShell: use native Camel-Case style for commands (#650) 2021-06-19 23:41:14 +03:00
gen add a command line parameter for single use 2021-05-19 23:38:05 +03:00
.gitignore use dep for dependency management 2018-06-26 00:46:50 +03:00
app.go Revert "dirtyfiles: files that don't require cleaning before previewing them (#729)" 2022-01-22 16:57:28 +03:00
client.go fix permissions of socket and log files 2022-01-22 13:47:18 +03:00
colors_test.go import tcell/v2 from gitlab.com/Provessor/lfp 2020-12-04 23:59:12 +03:00
colors.go add support for bright fg/bg ansi escape codes 2021-05-30 19:26:08 +03:00
complete_test.go rename 'comp' to 'complete' 2018-05-16 00:05:06 +03:00
complete.go Revert "dirtyfiles: files that don't require cleaning before previewing them (#729)" 2022-01-22 16:57:28 +03:00
copy.go cleanup 2021-02-21 17:48:23 +03:00
diacritics_test.go rename diacritics files 2019-01-18 21:21:31 +03:00
diacritics.go fix ineffective breaks, remove unused parameters (#210) 2019-08-12 14:52:27 +03:00
doc.go Revert "dirtyfiles: files that don't require cleaning before previewing them (#729)" 2022-01-22 16:57:28 +03:00
docstring.go Revert "dirtyfiles: files that don't require cleaning before previewing them (#729)" 2022-01-22 16:57:28 +03:00
eval_test.go cmap now accepts all expressions (#686) 2021-08-25 18:28:47 +03:00
eval.go Revert "dirtyfiles: files that don't require cleaning before previewing them (#729)" 2022-01-22 16:57:28 +03:00
go.mod bump tcell to v2.3.1 2021-05-16 22:52:15 +03:00
go.sum bump tcell to v2.3.1 2021-05-16 22:52:15 +03:00
icons.go add trailing star to match names for colors/icons 2021-01-07 01:17:56 +03:00
lf.1 Revert "dirtyfiles: files that don't require cleaning before previewing them (#729)" 2022-01-22 16:57:28 +03:00
lf.desktop Add lf.desktop (#222) 2019-08-30 17:32:23 +03:00
LICENSE initial commit 2016-08-13 15:49:04 +03:00
main.go add a command line parameter for single use 2021-05-19 23:38:05 +03:00
misc_test.go fix TestIsRoot on windows 2022-01-22 15:00:55 +03:00
misc.go avoid memory allocations in natural sorting 2020-11-06 15:14:38 +03:00
nav.go Revert "dirtyfiles: files that don't require cleaning before previewing them (#729)" 2022-01-22 16:57:28 +03:00
opts.go Revert "dirtyfiles: files that don't require cleaning before previewing them (#729)" 2022-01-22 16:57:28 +03:00
os_windows.go use a local file instead of server load and save 2021-05-19 19:54:50 +03:00
os.go add dirtyfiles to windows 2022-01-17 13:07:24 +03:00
parse.go cmap now accepts all expressions (#686) 2021-08-25 18:28:47 +03:00
README.md remove irc bridge from readme 2021-12-03 23:50:58 +03:00
scan.go use ascii space/digits in scanner 2021-01-30 18:29:32 +03:00
server.go fix permissions of socket and log files 2022-01-22 13:47:18 +03:00
ui.go restart event polling after ui resume on windows 2021-10-19 22:51:25 +03:00

LF

Google Groups | Wiki | #lf (on Libera.Chat) | #lf:matrix.org

Go Report Card Go Reference

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)

Installation

See packages for community maintained packages.

See releases for pre-built binaries.

If you like to build from the source on unix:

# For go version < 1.17
env CGO_ENABLED=0 GO111MODULE=on go get -u -ldflags="-s -w" github.com/gokcehan/lf

# For go version >= 1.17
env CGO_ENABLED=0 go install -ldflags="-s -w" github.com/gokcehan/lf@latest

On windows cmd:

REM For go version < 1.17
set CGO_ENABLED=0
set GO111MODULE=on
go get -u -ldflags="-s -w" github.com/gokcehan/lf

REM For go version >= 1.17
set CGO_ENABLED=0
go install -ldflags="-s -w" github.com/gokcehan/lf@latest

On windows powershell:

# For go version < 1.17
$env:CGO_ENABLED = '0'
$env:GO111MODULE = 'on'
go get -u -ldflags="-s -w" github.com/gokcehan/lf

# For go version >= 1.17
$env:CGO_ENABLED = '0'
go install -ldflags="-s -w" github.com/gokcehan/lf@latest

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.