lf

提供: ArchWiki
2023年7月20日 (木) 21:02時点におけるKgx (トーク | 投稿記録)による版 (→‎設定: 翻訳)
ナビゲーションに移動 検索に移動

関連記事

lf (リストファイル) は、ranger から大きなインスピレーションを受けて Go で書かれたターミナルファイルマネージャーです。優れた機能は、高速起動と低メモリ使用量、サーバー/クライアントアーキテクチャ、高度なカスタマイズです。ranger とは異なり、タブやウィンドウなどの一部の機能は意図的に含まれておらず、代わりにウィンドウマネージャーまたはターミナルマルチプレクサによって処理されます。

インストール

lf パッケージを インストール します。

使い方

アプリケーションを起動するには、ターミナル を起動し、lf を実行します。 デフォルトのキーバインドは vim のキーバインドに似ていますが、ranger のデフォルトとはいくつかの違いがあります。

設定

/usr/share/doc/lf/lfrc.example にあるデフォルト設定を ~/.config/lf/lfrc にコピーして、さらにカスタマイズするためのテンプレートとして使用します。いくつかの共通機能は、設定例にコメントとしてすでに含まれています。より広範な設定については、ドキュメント を参照してください。コミュニティからの有用な設定例も [1] で見つけることができます。

Tips and tricks

Using rifle file opener

lf can use the file opener rifle which is included in the ranger package.

Set an environment variable to automatically use rifle to open files in the related applications.

export OPENER='rifle' 

For editing file, you can also set your default editor:

export EDITOR='vim'

Previewing files

To automatically preview contents from currently selected files, set a custom previewer script in lfrc. It is possible to simple use the scope.sh script from ranger which serves as a good template for customization.

set previewer "~/.config/ranger/scope.sh"

Sandboxing previews

While the default lf configuration only previews text files, using more complex preview parsers is somewhat dangerous. In case there is a vulnerability in a preview parser like pdftotext, it is possible to use this simple script to sandbox the previewer using 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 "$@"
)

Set your previewer to the sandbox script and have your real preview script at ~/.config/lf/preview.sh:

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

See also