lf - Arch Linux 中文维基

跳转到内容

# lf

来自 Arch Linux 中文维基

相关文章

- 文件管理器功能
- Midnight Commander
- nnn
- ranger
- Vifm

翻译状态：

- 本文（或部分内容）译自 lf，最近一次同步于 2024-11-16，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

lf（意为“list files”即“列出文件”）是一个用 Go 编写的终端文件管理器，受到 ranger 的强烈启发。

其突出特点包括服务器/客户端架构（这样你可以在一个终端窗口中剪切，在另一个窗口中粘贴）以及高度可定制性。

与 ranger 不同的是，lf 故意将标签或窗口这样的功能排除在外，交给窗口管理器或终端多路复用器来处理。

## 安装

安装 lf包 或其开发版本 lf-gitAUR。

## 配置

将默认配置文件从 `/usr/share/doc/lf/lfrc.example` 复制到 `~/.config/lf/lfrc`，作为进一步定制的模板。配置示例中的注释包含一些常见功能。

更多详细配置请参见 lf(1)，也可参阅项目的 wiki。

## 使用

默认键位绑定与 vim 类似，与 ranger 的默认设置有所不同，具体请参见 lf(1) § QUICK REFERENCE。

另请参阅录屏教程。

## 提示与技巧

### 从 ranger 迁移到 lf

对于已经习惯使用 ranger 作为文件管理器的用户，迁移到 lf 意味着默认功能较少，行为略有不同。

lf 项目的 wiki 包括一个关于如何配置 lf 来添加来自 ranger 的功能和默认设置的逐步指南。

### 使用 rifle 打开文件

lf 可以使用包含在 ranger包 中的文件打开器 rifle。

设置环境变量以自动使用 rifle 在相关应用中打开文件：

    export OPENER='rifle'

还可以设置默认编辑器：

    export EDITOR='vim'

### 预览文件

要自动预览当前选中文件的内容，可以在 `~/.config/lf/lfrc` 中设置自定义预览脚本。来自 ranger 的 `scope.sh` 脚本作为定制的良好模板，可以通过添加包装器使用。还有许多其他预览器可以与 lf 一起使用。

### 沙箱预览

默认的 lf 配置仅预览文本文件，而使用更复杂的预览解析器存在一定风险。如果预览解析器（如 pdftotext）中存在漏洞，可以使用此简单脚本通过 bubblewrap包 将预览器沙箱化：

    ~/.config/lf/previewSandbox.sh

    #!/bin/bash
    set -euo pipefail
    (
        exec bwrap \
         --ro-bind /usr/bin /usr/bin \
         --ro-bind /usr/share/ /usr/share/ \
         --ro-bind /usr/lib /usr/lib \
         --ro-bind /usr/lib64 /usr/lib64 \
         --symlink /usr/bin /bin \
         --symlink /usr/bin /sbin \
         --symlink /usr/lib /lib \
         --symlink /usr/lib64 /lib64 \
         --proc /proc \
         --dev /dev \
         --ro-bind /etc /etc \
         --ro-bind ~/.config ~/.config \
         --ro-bind ~/.cache ~/.cache \
         --ro-bind "$PWD" "$PWD" \
         --unshare-all \
         --new-session \
         bash ~/.config/lf/preview.sh "$@"
    )

将你的预览器设置为沙箱脚本，并将实际的预览脚本保存在 `~/.config/lf/preview.sh`：

    set previewer ~/.config/lf/previewSandbox.sh

分类：​

- 文件管理器
- 终端应用程序

lf
添加话题