vimfiler のデフォルトキーバインドまとめ(機能別)

感想文の副産物

プログラムノ~ト:VimFilerのデフォルトキーバインドまとめ」の焼き直しですが、デフォルトキーバインドのアップデートをフォローしつつ、機能別に整理してみました。キーバインドはもちろん各自で自由に設定できますので、キーバインドのまとめそれ自体にはあまり意味はありませんが、vimfiler の機能を概観するには役立つだろうと思います。

現時点*1で用意されている機能はすべて網羅していると思いますが、漏れがありましたらツッコミお願いします。

起動/終了

:VimFiler

で起動。netrw を置き換えるように設定していれば

:e .

でも vimfiler が起動する。

キー 機能
o 別の vimfiler を起動
既に二画面になっているときはディレクトリを同期
(他方の vimfiler を現在の vimfiler に同期)
O 別の vimfiler とディレクトリを同期
(現在の vimfiler を他方の vimfiler に同期)
? キーバインド一覧を表示
q vimfiler を終了

カーソル操作/ファイル選択

キー 機能
Tab バッファ切り替え
j カーソルを下に移動
k カーソルを上に移動
Space ファイルの選択/解除
* 全ファイルの選択をトグル
M ファイルマスクを設定
v ファイルをプレビュー表示(vim の別バッファで開く)
s ファイルの整列順を変更
Ctrl-G ファイル名を表示
. 隠しファイルを表示/非表示
ファイルマスクの設定

M による「ファイルマスクの設定」とは、要するに「グロブパターンによる表示ファイルのフィルタリング」のことで、例えばマスクを「 *.rb 」とすれば拡張子が「 .rb 」なファイルだけが一覧に表示される。

プレビュー表示

v による「ファイルのプレビュー表示」は、デフォルトでは「小さなバッファでファイルを開く」という動作になっているが、変数 g:vimfiler_pedit_command の設定を変更することでこの動作はカスタマイズが可能。

整列順の変更

s による「ファイルの整列順の変更」は、一覧に表示されるファイルの整列キーを指定する機能で、実行すると以下のようなプロンプトが表示される↓

n[one]
s[ize]
e[xtension]
f[ilename]
t[ime]
m[anual]
Select sort type(Upper case is descending order) none -> 

プロンプトにある通り、大文字で指定すると降順になる。

ファイルを開く(関連付けを実行)

キー 対象 機能
e カーソル下 ファイル → vim で開く
ディレクトリ → vimfiler で開く
x カーソル下 システムの関連付けを実行
Enter カーソル下 vimfiler の関連付けを実行
ディレクトリの場合は移動)
l カーソル下 vimfiler の関連づけを実行
E -- 外部ファイラでディレクトリを開く (Mac なら Finder など)
システムの関連付けを実行

x による「システムの関連付けを実行」とは、HTMLファイルなら既定の Webブラウザでそれを開き、画像ファイルなら既定の画像ビューアでそれを開く、といったこと。

vimfiler の関連付けを実行

vimfiler の関連付けは設定ファイルにて以下のように設定できる↓

call vimfiler#set_execute_file('vim', 'vim')
call vimfiler#set_execute_file('txt', 'notepad')

この例の場合だと、拡張子が「 txt 」なファイルは「メモ帳」で開くという設定になる。(もちろん Windows での話)

grep

キー 対象 機能
gr 選択/-- vimgrep を実行

gr による「vimgrep の実行」は、選択されているファイルがあればそれらを対象にし、なければ「 **/* 」でグロブしたファイルを対象にする。

ファイル操作

キー 対象 機能
r カーソル下/選択 ファイルの名前を変更
m --/選択 ファイルを移動
c --/選択 ファイルをコピー
p -- ファイルをペースト
d --/選択 ファイルを削除(ゴミ箱への移動)
D --/選択 ファイルを削除(rm 相当)
u --/選択 ファイルをゴミ箱から復元(d によって削除したもののみ有効)
K -- 新規ディレクトリを作成
N -- 新規ファイルを作成

m, c, d, D, u は、選択されたファイルがない場合にはカーソル下のファイルを選択する。よって、mm, cc, dd などとすることでカーソル下のファイルを移動/コピー/削除できる。

名前の変更

r による「ファイルの名前変更」は、選択されているファイルがある場合には「拡張リネーム」という機能になる。これは、選択されたファイル名を別バッファ上で編集し、「 :%s/ 」などで置換して保存することで簡単に一括リネームが行える機能。

移動/コピー

m, c による「ファイルの移動/コピー」は、ファイラが二画面(vimfiler が2つ開かれている状態)の時には他方のディレクトリへの移動/コピーとなり、一画面時には WindowsExplorer風のクリップボード*2を介しての移動/コピーになる。その場合は移動/コピーしたいディレクトリへ移動して p でファイルをペーストする。

削除

d による「ファイルの削除」は、「ゴミ箱への移動」というデスクトップ環境におけるファイルの削除に近い動作をし、D による削除はコマンドラインにおける rm 相当の削除を行う。

vimfiler における「ゴミ箱」は変数 g:vimfiler_trashbox_directory にて設定されたディレクトリのことであり、デフォルト値は '~/.vimfiler_trashbox'

復元

u によって、削除したファイルをゴミ箱から元あった場所に戻すことができるが、この機能はゴミ箱内にあるファイルを選択した状態で使うもので、直前の削除をその場で Undo するものではない。

移動

キー 機能
h 上位のディレクトリに移動
\ ルートディレクトリに移動
~ ホームディレクトリに移動する
L ドライブに移動
$ ゴミ箱に移動
Enter カーソル下のディレクトリへ移動
(ファイルの場合は vimfiler の関連付けを実行)
J ディレクトリを指定して移動
ドライブに移動

L による「ドライブに移動」は、UNIX な環境においては「/mnt および /media 以下への移動」になり、実行すると以下のようなプロンプトが表示される↓

[a] /media/441edc65-8bc2-46e2-b130-30dff3bd7de1                                             
[b] /media/cdrom
[c] /media/cdrom0
Please input drive alphabet or other directory: 
ゴミ箱に移動

$ による「ゴミ箱に移動」は、ファイルをゴミ箱へ移動する操作ではなく、ゴミ箱へ cd するという意味の移動である。u によるファイルの復元を行うためにはいったんゴミ箱へ移動する必要があり、その時に必要になる操作。

シェル

キー 効果
H シェルを起動
vimshell があればそちらを起動、なければ :shell を実行
ファイルが選択されていれば自動的に引数に!
t 外部コマンドを非同期に実行
! 外部コマンドを実行
gv gvim を起動
シェルを起動

H による「シェルの起動」では、選択されているファイルをコマンドライン引数としてコマンドラインのひな形を組み立ててくれる。(vimshell がある場合)

Current directory: /home/h1mesuke/hlib/ruby/hlib/text/*
..
- align.rb                                       3.95  K !10/06/11 21:11
* colorize.rb                                    4.76  K !10/06/11 21:11
- convert.rb                                     4.47  K !10/06/11 21:11
* guess.rb                                       1.86  K !10/06/11 21:11
* match.rb                                       11.58 K !10/06/11 21:11   

例えば、↑の状態で H を押すと vimshell が起動し、以下の状態になる↓
][ はキャレットの位置を表す)

vimshell% ][ "/home/h1mesuke/hlib/ruby/hlib/text/colorize.rb" "/home/h1mesuke/hlib/ruby/hlib/text/guess.rb" "/home/h1mesuke/hlib/ruby/hlib/text/match.rb"
外部コマンドを実行

! による「外部コマンドの実行」では、入力したコマンドライン中の「 * 」は選択されているファイル名のリストで置き換えられる。

上の例と同じファイル選択の状態で「 ! 」を押し、プロンプトから「 wc * 」と打つと出力は以下のようになる↓

  190   490  4878 /home/h1mesuke/hlib/ruby/hlib/text/colorize.rb
   83   221  1909 /home/h1mesuke/hlib/ruby/hlib/text/guess.rb
  366   994 11862 /home/h1mesuke/hlib/ruby/hlib/text/match.rb
  639  1705 18649 合計
続けるにはENTERを押すかコマンドを入力してください

キー 効果
Ctrl-L 画面を再描画

*1:2010年6月10日現在

*2:システムのクリップボードではなく、vimfiler が内部で使用している変数