2015年01月21日
CLI + Vi キーバインディングなファイル・マネージャ Ranger の使い方
端末で作業するときファイル・マネージャは使いますか? 僕は cd, ls, find, grep, cp, mv, mkdir, rm の組み合わせで終わらせちゃうタイプであまり興味がなかったんです。 でも Ranger は別。 だって、画像、HTML、PDF、ビデオ・ファイルのプレビュー機能を持ち、しかも Vi キーバインドで操作できちゃいますから!
Ranger ファイル・マネージャのインストールと設定
Ranger は GitHub(https://github.com/hut/ranger)からソースコードを入手・ビルドして色々な OS 上で楽しむことができますが、プラットフォームが Ubuntu 14.04(trusty)で最新バージョンがリポジトリにある僕は apt パッケージ・マネージャーでインストールすることにします。
強力なプレビュー機能をフルに使うのであれば依存するパッケージも合わせてインストールしておきましょうね。
$ sudo apt-get install ranger caca-utils highlight atool w3m poppler-utils mediainfo
最初に行うべきはコンフィグの作成。 次のコマンドで ~/.config/ranger 下にデフォルトのコンフィグがコピーされます。
$ ranger --copy-config=all
creating: /home/netbuffalo/.config/ranger/rifle.conf
creating: /home/netbuffalo/.config/ranger/commands.py
creating: /home/netbuffalo/.config/ranger/rc.conf
creating: /home/netbuffalo/.config/ranger/scope.sh
もし、キーバインドやコマンドをカスタマイズしたいならば rc.conf を編集しましょう。
$ vi ~/.config/ranger/rc.conf
# ===================================================================
# This file contains the default startup commands for ranger.
# To change them, it is recommended to create the file
# ~/.config/ranger/rc.conf and add your custom commands there.
... snip ...
# VIM-like
copymap <UP> k
copymap <DOWN> j
copymap <LEFT> h
copymap <RIGHT> l
copymap <HOME> gg
copymap <END> G
copymap <PAGEDOWN> <C-F>
copymap <PAGEUP> <C-B>
...
ファイルのプレビューやオープナーに利用するソフトウェアは rifle.conf で変更します。
例えば僕の環境(Ubuntu MATE 14.04)では画像ファイルのオープナーを少々ヘビーな GIMP からより軽量な MATE 画像ビューワー(Eye of MATE)の起動コマンドである eom に変更しておきます。
$ vi ~/.config/ranger/rifle.conf
# This is the configuration file of "rifle", ranger's file executor/opener.
# Each line consists of conditions and a command. For each line the conditions
# are checked and if they are met, the respective command is run.
... snip ...
#mime ^image, has gimp, X, flag f = gimp -- "$@"
mime ^image, has eom, X, flag f = eom -- "$@"
ext xcf, X, flag f = gimp -- "$@"
...
最後にデフォルト・エディタの設定。 これは何も設定しないと nano ですが、僕は vi(m)er なので EDITOR 環境変数で vi を設定しておきます。
$ vi ~/.bashrc # define EDITOR variable.
...
export EDITOR=vi
$ source ~/.bashrc # reload variable.
プラグインを開発して組み込むこともできるのですが今日はこれぐらいにして早速使ってみましょうか。
Ranger ファイル・マネージャの使い方
端末(ターミナル)を起動して ranger と入力してみましょう。
ranger は3カラム(列)形式でファイルの構造を表示します。 中央が現在の作業ディレクトリ(カレント・ディレクトリ)で左が親ディレクトリ、右は作業ディレクトリ(中央)のリストで選択しているファイル、ディレクトリのプレビュー。
j キー(下移動)、k キー(上移動)を使い作業ディレクトリ上のカーソルを動かすと、右側のプレビューが切り替わるのがわかりますよね! ※ 矢印キー(←↑→↓)でも移動可能。
場所(作業ディレクトリ)の移動は l, h キー。 l キー(右移動)を押すと現在カーソルで選択している子ディレクトリに移動し、中央に表示されている作業ディレクトリが切り替わります(つまり右側に移動する、というエクスペリエンスになります)。 後はもう、わかりますよね。 h キー(左移動)はその逆で現在の作業ディレクトリの左側、つまり親ディレクトリに移動してカレントを切り替えるのに利用します。
中央の作業ディレクトリに表示されているファイルへカーソルを合わせてみて下さい。 ファイルの場合、その内容がプレビュー表示されるはずです。
中央でファイルを選択、右側にプレビューが表示されている状態で、
さらに l キー(右移動)又は Enter キーを押すと・・・
お、設定していたデフォルトのテキスト・エディタでファイルを開きました!
面白いのが画像ファイルのプレビュー。 イメージ・ファイルにカーソルを合わせると ASCII アートでおおよその内容をプレビューできます。
先程と同様、プレビューしている状態でさらに l キー又は Enter キーを押し、ファイルを開くとオープナーに指定した画像ビューワーが起動します。
動画ファイルの場合はどうなるんでしょうか? まさか ASCIIcam(http://people.cs.umass.edu/~foo/hacks/asciicam/index.html)レベルでプレビューしてくれるのか(ゴクリ・・・)?
あいや、メディアのメタ・データ表示だけ。 ASCIIcam ほどクレイジーじゃあない。 勿論、動画ファイルを開くとプレイヤーによる動画再生が始まります。
僕が ranger で CLI ファイル・マネージャーをエンジョイしている動画がこちら。
終了は :q 。 : からは mkdir、edit など一通りのファイルの編集操作、プラグインの呼び出しができますよ。
デスクトップ環境が無くても端末だけで画像プレビューができますから、Ranger で ASCII プレビューしてからリモートにあるメディア・サーバー上の不要なファイルを削除・整理する、なんて使い方も便利かもしれませんね。
それでは、また今度。
実践Vim 思考のスピードで編集しよう! (アスキー書籍)
posted with amazlet at 15.01.21
KADOKAWA / アスキー・メディアワークス (2014-01-28)
売り上げランキング: 4,517
売り上げランキング: 4,517
Software Design (ソフトウェア デザイン) 2015年 01月号 [雑誌]
posted with amazlet at 15.01.21
技術評論社 (2014-12-18)