lf

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

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

インストール

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

使い方

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

設定

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

ヒントとテクニック

移行ガイド (ranger から lf へ)

すでにファイルマネージャーとして Ranger に慣れているユーザーにとって、lf への移行は、デフォルトの機能が減り、動作が若干異なることを意味します。 lf プロジェクト wiki には、ranger からデフォルト機能を追加するために lf を設定する方法に関するステップバイステップの guide が含まれています。

rifle ファイルオープナーの使い方

ranger パッケージに含まれるファイルオープナー rifle を使用できます。

関連アプリケーションでファイルを開くために rifle を自動的に使用するように環境変数を設定します。

export OPENER='rifle' 

ファイルを編集する場合、デフォルトのエディターを設定することもできます。

export EDITOR='vim'

ファイルのプレビュー

現在選択されているファイルの内容を自動的にプレビューするには、lfrc でカスタムプレビューアスクリプトを設定します。 ranger の scope.sh スクリプトを簡単に使用でき、カスタマイズの優れたテンプレートとして機能します。

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

プレビューアーのサンドボックス化

デフォルトの 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

参照