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
新增話題