Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Rangerのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Ranger
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{DISPLAYTITLE:ranger}} [[Category:ファイルマネージャ]] [[Category:コンソールアプリケーション]] [[ar:Ranger]] [[de:Ranger]] [[en:Ranger]] [[es:Ranger]] [[fr:ranger]] [[zh-hans:Ranger]] {{Related articles start}} {{Related|lf}} {{Related|Midnight Commander}} {{Related|nnn}} {{Related|vifm}} {{Related articles end}} [https://ranger.github.io/ ranger] は Python で書かれているテキストベースのファイルマネージャです。ディレクトリは3つのカラムに分けて表示されます。キーストロークやブックマーク、マウスやコマンド履歴を使ってディレクトリを移動することができます。選択したファイルは自動的にプレビューが表示されディレクトリは中身が表示されます。 ranger の特徴: vi スタイルのキーバインド、ブックマーク、選択、タグ、タブ、コマンド履歴、シンボリックリンクを作成可能、複数あるコンソールモード、タスク表示。''ranger'' のコマンドやキーバインドはカスタマイズすることができ、外部スクリプトを呼び出すこともできます。よく似たファイルマネージャに [[Vifm]] があり、2つのペインと vi スタイルのキーバインドを使用しますが、機能の数はやや劣ります。 == インストール == {{Pkg|ranger}} は [[公式リポジトリ]] から [[インストール]] できます。開発版を使いたい場合は [[AUR]] から {{AUR|ranger-git}} をインストールしてください。 == 使用方法 == ranger を起動するには、まず [[アプリケーション一覧#ターミナルエミュレータ|ターミナル]] を起動して、そこから {{ic|ranger}} を実行してください。 {| class="wikitable" |+ ! キー !! コマンド |- | {{ic|?}} || マニュアルを開く、キーバインド・コマンド・設定を表示 |- | {{ic|l}}, {{ic|Enter}} || ファイルを起動 |- | {{ic|j}}, {{ic|k}} || 現在のディレクトリ内のファイルを選ぶ |- | {{ic|h}}, {{ic|l}} || 上または下の階層のディレクトリへ移動 |} == 設定 == 起動後、''ranger'' は {{ic|~/.config/ranger}} ディレクトリを作成します。デフォルト設定をこのディレクトリにコピーしたいときは次のコマンドを実行してください: ranger --copy-config=all * {{ic|rc.conf}} - スタートアップコマンドとキーバインド * {{ic|commands.py}} - {{ic|:}} で起動するコマンド * {{ic|rifle.conf}} - 特定のファイルを起動した時に使われるアプリケーション デフォルトファイルもロードされるので {{ic|rc.conf}} にはデフォルトファイルとの差異部分だけを記述します。{{ic|commands.py}} には、ファイル全体をインクルードしない場合、一番最初に以下の行を記述します: from ranger.api.commands import * 作成したディレクトリ {{ic|~/.Trash/}} に {{ic|DD}} でファイルを移動するキーバインドを追加するには、{{ic|~/.config/ranger/rc.conf}} に以下を追記します: map DD shell mv -t /home/${USER}/.Trash %s 設定に関する詳細は [http://ranger.nongnu.org/ranger.1.html man ranger] を見て下さい。 === ファイルをゴミ箱に移動 === {{ic|DD}} を使用してゴミ箱ディレクトリ {{ic|~/.local/share/Trash/files/}} にファイルを移動するキーバインドを追加するには、設定ファイルを次のように変更します。 {{hc|~/.config/ranger/rc.conf|<nowiki> ... map DD shell mv %s /home/${USER}/.local/share/Trash/files/ ... </nowiki>}} または、 {{Pkg|glib2}} パッケージで提供されている GIO コマンドラインツールを使用します。 map DD shell gio trash %s ''ゴミ箱'' の中を見たり、空にするには通常、{{Pkg|nautilus}} のようなグラフィカルファイルマネージャがサポートしていますが、{{ic|gio list trash://}} というコマンドでゴミ箱の中を見て、{{ic|gio trash--empty}} というコマンドでゴミ箱を空にすることもできます。 === コマンドの定義 === 上記の例の続きに、以下のエントリを {{ic|~/.config/ranger/commands.py}} に追加することでゴミ箱 ({{ic|~/.Trash}}) を空にできます: {{bc|<nowiki> class empty(Command): """:empty Empties the trash directory ~/.Trash """ def execute(self): self.fm.run("rm -rf /home/myname/.Trash/{*,.[^.]*}") </nowiki>}} 使用するには {{ic|:empty}} と入力して {{ic|Enter}} を押してください。タブ補完も使えます。 {{Warning|{{ic|[^.]}} がこのコマンドの本質的部分です。書き忘れると {{ic|..*}} にマッチする全ファイル・ディレクトリ、すなわちホームディレクトリが全て削除されます。}} === カラースキーム === {{ic|~/.config/ranger}} に {{ic|colorschemes}} サブフォルダを作成してください: $ mkdir ~/.config/ranger/colorschemes それから新しい {{ic|''newscheme''.py}} を上記のフォルダにコピーします。{{ic|~/.config/ranger/rc.conf}} ファイルからデフォルトカラースキームを変更してください: set colorscheme ''newscheme'' === ファイルプレビューでのカラーハイライト === {{Pkg|python-pygments}} パッケージをインストールし、{{ic|/usr/share/doc/ranger/config/scope.sh}} を {{ic|~/.config/ranger/scope.sh}} にコピーして、ranger の設定ファイル内の変数 {{ic|PYGMENTIZE_STYLE}} を必要に応じて編集します。サポートされているテーマの完全なリストは {{ic|pygmentize -L style}} から取得できます。 === ファイルの関連付け === {{ic|~/.config/ranger/rifle.conf}} を編集してください。先の行が早く実行されるので、ファイルの先頭に追記するようにしてください。例えば、tex ファイルを {{Pkg|kile}} で開くには以下のエントリを記述します: ext tex = kile "$@" {{Pkg|xdg-utils}} で全てのファイルを開くようにするには: has xdg-open, flag f = xdg-open "$1" == ヒントとテクニック == === 圧縮ファイル === 以下のコマンドでは {{Pkg|atool}} を使ってアーカイブの操作を行います。 ==== アーカイブの解凍 ==== 次のコマンドは、選択したアーカイブ元のディレクトリへ抽出します。 {{bc|<nowiki> import os from ranger.core.loader import CommandLoader class extract_here(Command): def execute(self): """ extract selected files to current directory.""" cwd = self.fm.thisdir marked_files = tuple(cwd.get_selection()) def refresh(_): cwd = self.fm.get_directory(original_path) cwd.load_content() one_file = marked_files[0] cwd = self.fm.thisdir original_path = cwd.path au_flags = ['-x', cwd.path] au_flags += self.line.split()[1:] au_flags += ['-e'] self.fm.copy_buffer.clear() self.fm.cut_buffer = False if len(marked_files) == 1: descr = "extracting: " + os.path.basename(one_file.path) else: descr = "extracting files from: " + os.path.basename( one_file.dirname) obj = CommandLoader(args=['aunpack'] + au_flags + [f.path for f in marked_files], descr=descr, read=True) obj.signal_bind('after', refresh) self.fm.loader.add(obj) </nowiki>}} ==== 圧縮 ==== 次のコマンドを使用すると、ユーザーは現在のディレクトリにあるいくつかのファイルをマークしてから {{ic|:compress ''パッケージの名前''}} パッケージ名で圧縮できます。現在のディレクトリの名前を取得し、拡張子に圧縮形式を追加することにより、いくつかの圧縮形式の提案をサポートします。{{pkg|atool}} をインストールする必要があります。インストールされていない場合、アーカイブを作成するときにエラーメッセージが表示されます。 {{bc|<nowiki> import os from ranger.core.loader import CommandLoader class compress(Command): def execute(self): """ Compress marked files to current directory """ cwd = self.fm.thisdir marked_files = cwd.get_selection() if not marked_files: return def refresh(_): cwd = self.fm.get_directory(original_path) cwd.load_content() original_path = cwd.path parts = self.line.split() au_flags = parts[1:] descr = "compressing files in: " + os.path.basename(parts[1]) obj = CommandLoader(args=['apack'] + au_flags + \ [os.path.relpath(f.path, cwd.path) for f in marked_files], descr=descr) obj.signal_bind('after', refresh) self.fm.loader.add(obj) def tab(self): """ Complete with current folder name """ extension = ['.zip', '.tar.gz', '.rar', '.7z'] return ['compress ' + os.path.basename(self.fm.thisdir.path) + ext for ext in extension] </nowiki>}} === 外付けドライブ === 外付けドライブは [[udev]] や [[udisks]] で自動的にマウントさせることができます。{{ic|gm}} (go, media) を押すことで {{ic|/media}} にマウントされたドライブに簡単にアクセスできます。 === 隠しファイル === 次のコマンドで隠しファイルの表示を切り替えることができます {{ic|:set show_hidden!}} または {{ic|:set show_hidden true}} を使用して隠しファイルを表示します。 これを永続的にするには、設定ファイルに追加します。 {{hc|rc.conf|<nowiki> set show_hidden true </nowiki>}} または、{{ic|zh}} を押して隠しファイルを切り替えることもできます。 === イメージのマウント === 以下のコマンドではイメージのマウントに [[CDemu]] を使用し、仮想ドライブを特定の場所 (この例では '/media/virtualrom') にマウントするために [[autofs]] などのシステムを利用します。'''マウントパスはあなたの設定に合わせて変更するようにしてください。''' ranger から cdemud 仮想ドライブにイメージをマウントするには、イメージファイルを選択してコンソールに ':mount' と入力します。実際のマウントには設定によって多少時間がかかるので、カスタムローダーを使ってマウントディレクトリがマウントされるまで待機してからタブ 9 で裏で開くようにします。 {{bc|<nowiki> import os, time from ranger.core.loader import Loadable from ranger.ext.signals import SignalDispatcher from ranger.ext.shell_escape import * class MountLoader(Loadable, SignalDispatcher): """ Wait until a directory is mounted """ def __init__(self, path): SignalDispatcher.__init__(self) descr = "Waiting for dir '" + path + "' to be mounted" Loadable.__init__(self, self.generate(), descr) self.path = path def generate(self): available = False while not available: try: if os.path.ismount(self.path): available = True except: pass yield time.sleep(0.03) self.signal_emit('after') class mount(Command): def execute(self): selected_files = self.fm.thisdir.get_selection() if not selected_files: return space = ' ' self.fm.execute_command("cdemu -b system unload 0") self.fm.execute_command("cdemu -b system load 0 " + \ space.join([shell_escape(f.path) for f in selected_files])) mountpath = "/media/virtualrom/" def mount_finished(path): currenttab = self.fm.current_tab self.fm.tab_open(9, mountpath) self.fm.tab_open(currenttab) obj = MountLoader(mountpath) obj.signal_bind('after', mount_finished) self.fm.loader.add(obj) </nowiki>}} === 現在のフォルダを新しいタブで開く === ホームを新しいタブで開くショートカットは2つ存在します ({{ic|g}}{{ic|n}} と {{ic|Ctrl+n}})。{{ic|Ctrl+n}} のバインドを変更する場合: {{hc|rc.conf|<nowiki> map <c-n> eval fm.tab_new('%d') </nowiki>}} === PDF ファイルのプレビュー === PDF ファイルを画像に変換することで ranger で PDF ファイルをプレビューできます。Ranger は画像のプレビューを {{ic|~/.cache/ranger/}} に保存します。 まず、画像プレビューを有効化してください: {{hc|~/.config/ranger/rc.conf|<nowiki> # Use one of the supported image preview protocols set preview_images true </nowiki>}} Ranger は {{Pkg|w3m}} などを使って画像をプレビューします。利用可能な方法については {{ic|~/.config/ranger/rc.conf}} を見てください。 そして、以下の pdf プレビューコマンドを追加してください: {{hc|~/.config/ranger/scope.sh|<nowiki> # Image previews, if enabled in ranger. if [ "$preview_images" = "True" ]; then case "$mimetype" in application/pdf) pdftoppm -jpeg -singlefile "$path" "${cached//.jpg}" && exit 6;; esac fi </nowiki>}} 上記の例では {{Pkg|poppler}} の {{ic|pdftoppm}} ユーティリティを使って画像プレビューを作成しています。{{Pkg|ghostscript}} や {{Pkg|imagemagick}} など他の方法も利用可能です。 === シェルの小技 === ==== パスの同期 ==== Ranger はシェル [[Bash/関数|関数]] {{ic|/usr/share/doc/ranger/examples/bash_automatic_cd.sh}} を提供しています。{{ic|ranger}} ではなく {{ic|ranger-cd}} を実行すると、最後に閲覧したフォルダに自動的に ''cd'' されます。 グラフィカルランチャーから Ranger を起動した場合 ({{ic|$TERMCMD -e ranger}} など、TERMCMD は X ターミナル)、{{ic|ranger-cd}} は使えません。以下のような実行可能属性を付与したスクリプトを作成します: {{hc|ranger-launcher.sh|<nowiki> #!/bin/sh export RANGERCD=true $TERMCMD </nowiki>}} シェルの設定の ''できるだけ最後'' に以下を追加してください: {{hc|.''shell''rc|<nowiki> $RANGERCD && unset RANGERCD && ranger-cd </nowiki>}} これで {{ic|RANGERCD}} 変数が設定されている場合のみ {{ic|ranger-cd}} が起動します。この変数を unset するようにしてください。そうしないとターミナルからサブシェルを起動したときに自動的に {{ic|ranger}} が再起動してしまいます。 ==== Ranger インスタンスのネスト防止 ==== カレントディレクトリで {{ic|S}} を使ってシェルを起動し、シェルを終了すると ranger インスタンスに戻ります。 しかし、既に ranger がシェルにいることを忘れて再び ranger を起動すると、ranger が ranger を実行している状態になってしまいます。 これを防ぐには、[[自動起動#シェルのログイン/ログアウト時|シェルスタートアップファイル]] に次の関数を作成します。 ranger() { if [ -z "$RANGER_LEVEL" ]; then /usr/bin/ranger "$@" else exit fi } == トラブルシューティング == === 画像のプレビューでブロックノイズ === カラムのボーダーをなくすと画像プレビューでストライプが見えることがあります [https://bbs.linuxdistrocommunity.com/showthread.php?tid=1051]。{{ic|~/.config/ranger/rc.conf}} に以下を設定: set draw_borders true == 参照 == * [https://bbs.archlinux.org/viewtopic.php?id=93025 BBS スレッド] * [http://dotshare.it/category/fms/ranger/ DotShare.it の設定] * [https://github.com/hut/ranger GitHub] * [https://github.com/ranger/ranger/wiki/Official-user-guide オフィシャルユーザーガイド] * [https://www.digitalocean.com/community/tutorials/installing-and-using-ranger-a-terminal-file-manager-on-a-ubuntu-vps Installing and using ranger] * [https://lists.nongnu.org/mailman/listinfo/ranger-users メーリングリスト] * [http://bloerg.net/2012/10/17/ranger-file-manager.html Ranger チュートリアル]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
Ranger
に戻る。
検索
検索
Rangerのソースを表示
話題を追加