2016-08-13 12:49:04 +00:00
# LF
2017-11-02 20:38:02 +00:00
[Google Groups ](https://groups.google.com/forum/#!forum/lf-fm )
| [Wiki ](https://github.com/gokcehan/lf/wiki )
2021-12-03 11:32:51 +00:00
| [#lf ](https://web.libera.chat/#lf ) (on Libera.Chat)
2022-02-12 10:02:07 +00:00
| [#lf:matrix.org ](https://matrix.to/#/#lf:matrix.org ) (with IRC bridge)
2016-09-04 13:09:09 +00:00
2016-12-18 18:55:30 +00:00
[![Go Report Card ](https://goreportcard.com/badge/github.com/gokcehan/lf )](https://goreportcard.com/report/github.com/gokcehan/lf)
2021-02-27 20:16:27 +00:00
[![Go Reference ](https://pkg.go.dev/badge/github.com/gokcehan/lf.svg )](https://pkg.go.dev/github.com/gokcehan/lf)
2016-09-01 15:07:49 +00:00
2016-09-04 13:33:54 +00:00
> This is a work in progress. Use at your own risk.
2016-08-13 12:49:04 +00:00
2022-03-19 18:55:55 +00:00
`lf` (as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger file manager.
2018-07-05 20:15:16 +00: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 12:49:04 +00:00
![multicol-screenshot ](http://i.imgur.com/DaTUenu.png )
![singlecol-screenshot ](http://i.imgur.com/p95xzUj.png )
## Features
2022-03-19 18:55:55 +00:00
- Cross-platform (Linux, MacOS, BSDs, Windows)
- Single binary without any runtime dependencies
- Fast startup and low memory footprint due to native code and static binaries
- Asynchronous IO operations to avoid UI locking
- Server/client architecture and remote commands to manage multiple instances
- Extendable and configurable with shell commands
2017-09-08 20:46:31 +00:00
- Customizable keybindings (vi and readline defaults)
2022-03-19 18:55:55 +00:00
- A reasonable set of other features (see the [documentation ](https://pkg.go.dev/github.com/gokcehan/lf ))
2016-08-13 12:49:04 +00:00
## Non-Features
2022-03-19 18:55:55 +00:00
- Tabs or windows (better handled by window manager or terminal multiplexer)
- Builtin pager/editor (better handled by your pager/editor of choice)
2016-08-13 12:49:04 +00:00
## Installation
2020-09-24 20:38:09 +00:00
See [packages ](https://github.com/gokcehan/lf/wiki/Packages ) for community maintained packages.
2016-09-06 21:57:17 +00:00
See [releases ](https://github.com/gokcehan/lf/releases ) for pre-built binaries.
2016-08-13 12:49:04 +00:00
2022-03-19 18:55:55 +00:00
Building from the source requires [Go ](https://go.dev/ ).
2022-04-02 18:18:05 +00:00
On Unix (Go version < 1.17 ) :
2016-08-13 12:49:04 +00:00
2021-12-02 22:52:39 +00:00
```bash
env CGO_ENABLED=0 GO111MODULE=on go get -u -ldflags="-s -w" github.com/gokcehan/lf
2022-03-19 18:55:55 +00:00
```
2022-04-02 18:18:05 +00:00
On Unix (Go version >= 1.17):
2021-12-02 22:52:39 +00:00
2022-03-19 18:55:55 +00:00
```bash
2021-12-02 22:52:39 +00:00
env CGO_ENABLED=0 go install -ldflags="-s -w" github.com/gokcehan/lf@latest
```
2016-08-13 12:49:04 +00:00
2022-04-02 18:18:05 +00:00
On Windows `cmd` (Go version < 1.17 ) :
2020-09-24 20:38:09 +00:00
2021-12-02 22:52:39 +00:00
```cmd
set CGO_ENABLED=0
set GO111MODULE=on
go get -u -ldflags="-s -w" github.com/gokcehan/lf
2022-03-19 18:55:55 +00:00
```
2021-12-02 22:52:39 +00:00
2022-04-02 18:18:05 +00:00
On Windows `cmd` (Go version >= 1.17):
2022-03-19 18:55:55 +00:00
```cmd
2021-12-02 22:52:39 +00:00
set CGO_ENABLED=0
go install -ldflags="-s -w" github.com/gokcehan/lf@latest
```
2020-09-24 20:38:09 +00:00
2022-04-02 18:18:05 +00:00
On Windows `powershell` (Go version < 1.17 ) :
2020-09-24 20:38:09 +00:00
2021-12-02 22:52:39 +00:00
```powershell
$env:CGO_ENABLED = '0'
$env:GO111MODULE = 'on'
go get -u -ldflags="-s -w" github.com/gokcehan/lf
2022-03-19 18:55:55 +00:00
```
2021-12-02 22:52:39 +00:00
2022-04-02 18:18:05 +00:00
On Windows `powershell` (Go version >= 1.17):
2022-03-19 18:55:55 +00:00
```powershell
2021-12-02 22:52:39 +00:00
$env:CGO_ENABLED = '0'
go install -ldflags="-s -w" github.com/gokcehan/lf@latest
```
2016-10-08 10:24:18 +00:00
2016-08-13 12:49:04 +00:00
## Usage
2018-06-16 13:59:41 +00:00
After the installation `lf` command should start the application in the current directory.
2016-09-14 23:26:05 +00:00
Run `lf -help` to see command line options.
2016-08-13 12:49:04 +00:00
2021-02-27 20:16:27 +00:00
Run `lf -doc` to see the [documentation ](https://pkg.go.dev/github.com/gokcehan/lf ).
2016-08-13 12:49:04 +00:00
2022-03-19 18:55:55 +00:00
See [etc ](etc ) directory to integrate `lf` to your shell and/or editor.
Example configuration files along with example colors and icons files can also be found in this directory.
2017-09-08 20:46:31 +00:00
2017-10-22 14:36:50 +00:00
See [integrations ](https://github.com/gokcehan/lf/wiki/Integrations ) to integrate `lf` to other tools.
2017-09-08 20:46:31 +00: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.