2016-08-13 15:49:04 +03:00
# LF
2017-11-02 23:38:02 +03:00
[Google Groups ](https://groups.google.com/forum/#!forum/lf-fm )
| [Wiki ](https://github.com/gokcehan/lf/wiki )
2017-11-04 19:06:47 +03:00
| [#lf ](https://webchat.freenode.net/?channels=lf ) (on Freenode)
| [#lf:matrix.org ](https://matrix.to/#/#lf:matrix.org ) (with IRC bridge)
2016-09-04 16:09:09 +03:00
2016-09-01 18:07:49 +03:00
[](https://travis-ci.org/gokcehan/lf)
2016-12-18 21:55:30 +03:00
[](https://goreportcard.com/report/github.com/gokcehan/lf)
2016-09-15 02:26:05 +03:00
[](https://godoc.org/github.com/gokcehan/lf)
2016-09-01 18:07:49 +03:00
2016-09-04 16:33:54 +03:00
> This is a work in progress. Use at your own risk.
2016-08-13 15:49:04 +03:00
`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.
2017-09-08 23:46:31 +03:00
Some of the missing features are deliberately omitted since they are better handled by external tools.
2018-07-05 23:15:16 +03:00
See [faq ](https://github.com/gokcehan/lf/wiki/FAQ ) for more information and [tutorial ](https://github.com/gokcehan/lf/wiki/Tutorial ) for a gentle introduction with screencasts.
2016-08-13 15:49:04 +03:00


## Features
2016-10-02 01:35:57 +03:00
- Cross-platform (Linux, OSX, BSDs, Windows (partial))
2016-10-02 01:10:31 +03:00
- 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
2018-04-21 00:11:54 +03:00
- Configuration with shell commands
2017-09-08 23:46:31 +03:00
- Customizable keybindings (vi and readline defaults)
2016-10-02 01:10:31 +03:00
- Preview filtering (for source highlight, archives, pdfs/images as text etc.)
2016-08-13 15:49:04 +03:00
## Non-Features
2017-09-08 23:46:31 +03:00
- Tabs or windows (handled by window manager or terminal multiplexer)
- Builtin pager/editor (handled by your pager/editor of choice)
2016-10-02 01:10:31 +03:00
- Image previews (cool but no standard available)
2016-08-13 15:49:04 +03:00
## May-Futures
2018-06-16 16:59:41 +03:00
- Mouse control
2016-08-13 15:49:04 +03:00
## Installation
2020-09-24 23:38:09 +03:00
See [packages ](https://github.com/gokcehan/lf/wiki/Packages ) for community maintained packages.
2016-09-07 00:57:17 +03:00
See [releases ](https://github.com/gokcehan/lf/releases ) for pre-built binaries.
2016-08-13 15:49:04 +03:00
2020-09-24 23:38:09 +03:00
If you like to build from the source on unix:
2016-08-13 15:49:04 +03:00
2020-09-24 23:38:09 +03:00
env CGO_ENABLED=0 GO111MODULE=on go get -u -ldflags="-s -w" github.com/gokcehan/lf
2016-08-13 15:49:04 +03:00
2020-09-24 23:38:09 +03:00
On windows `cmd` :
set CGO_ENABLED=0
set GO111MODULE=on
go get -u -ldflags="-s -w" github.com/gokcehan/lf
On windows `powershell` :
$env:CGO_ENABLED = '0'
$env:GO111MODULE = 'on'
go get -u -ldflags="-s -w" github.com/gokcehan/lf
2016-10-08 13:24:18 +03:00
2016-08-13 15:49:04 +03:00
## Usage
2018-06-16 16:59:41 +03:00
After the installation `lf` command should start the application in the current directory.
2016-09-15 02:26:05 +03:00
Run `lf -help` to see command line options.
2016-08-13 15:49:04 +03:00
2016-09-15 02:26:05 +03:00
Run `lf -doc` to see the [documentation ](https://godoc.org/github.com/gokcehan/lf ).
2016-08-13 15:49:04 +03:00
See [etc ](etc ) directory to integrate `lf` to your shell or editor.
2016-09-15 02:26:05 +03:00
An example configuration file can also be found in this directory.
2017-09-08 23:46:31 +03:00
2017-10-22 17:36:50 +03:00
See [integrations ](https://github.com/gokcehan/lf/wiki/Integrations ) to integrate `lf` to other tools.
2017-09-08 23:46:31 +03:00
See [tips ](https://github.com/gokcehan/lf/wiki/Tips ) for more examples.
## Contributing
See [contributing ](https://github.com/gokcehan/lf/wiki/Contributing ) for guidelines.