Hatena::ブログ(Diary)

Alone Like a Rhinoceros Horn

2010-06-10

vimfiler を入れてみた

vimfiler 入れたとつぶやいたら作者に見つかって感想を書くことになったでござるの巻

というわけで vimfiler導入時のメモから使ってみた感想を書き起こしてみました。

とりあえず自分の vimmerレベルやら環境のことを書いて、そこから導入の経緯についてさらっと述べ、導入時のつまづきや期待した動作と違って戸惑った点などについて書いています。何かの足しになれば幸いですが、好き勝手なことを書いてますので、あまり期待しないで、寛容の精神を持ってお読み下さいw

自分のこと、環境、導入の経緯

僕自身は数年前に Emacs から転向した vim使いです。生粋の vimmer を自認できるほど使いこなしているとは言い難い、が自己評価。もっぱら Ubuntu で端末上の vim のみを使い、(今のところ)screen は使っていません。gnome-terminal のタブいっぱいな状況で開発作業を行っています。

  • リモートで作業することはそんなにない
  • gnome-terminal のタブ切り替えに専用キーを割り当てておりそれなりに快適

などの理由で、今のところ screen導入の必要性は(あまり)感じておらず、外部コマンド(というよりはシェル)使用時は、

のどれかを状況に応じて選んでいますが、この辺に「イケてない」感を感じていたため、これを改善するため vimfiler と vimshell を試してみることにしたのが導入の経緯です。

vimfiler

インストールして、ヘルプに機能の一覧と動作の説明がなかったので、

などを見ながら*1触ってみました。昔 Emacs で似たようなファイラを使った記憶があるので、トグルするマークによって操作対象ファイルを選択するというのはすぐにわかりました。

関連付け、デスクトップ環境の連携

ファイルに対して

  • vim で開く
  • vimfiler の関連付けで開く
  • システムの関連付けで開く

と色々オプションがあるのは便利ですね。HTML を Webブラウザで開いて表示を確認したり、画像をビューアで確認したり、色々用途が考えられます。また、vimfiler自身で関連付けの設定を持てるのは大きな柔軟性がありますね。画像ファイルを開くのでもシステムの関連付けではビューアで開くけど、vimfiler ではレタッチソフトで開くように設定して使い分けるとか。

E でデスクトップ環境のファイラが開くのも便利です。特にディレクトリ階層の深い位置にいるとき。

ファイルの移動/コピー

使い方がわからなくて戸惑ったのはファイル操作です。

まず、移動/コピーですが、自分の期待した動作は「ファイルを選択して m とか c とか押すとプロンプトが出て移動先/コピー先を聞いてくるんだろう」だったので、何も起こらず一瞬「?」となりました。クリップボードにコピーした旨のメッセージが出たので、Explorer風のクリップボードを介してのコピー/ペーストか、とわかりましたが、この辺はヘルプに機能の一覧と動作の説明があった方がいいと思います。

また、二画面時の動作については Shougo さんの ToDo を発見するまでわかりませんでした。

で、これは慣れの問題もある(二画面ファイラー自体に馴染みがないから)と思うのですが、ファイルの移動/コピーに際して、移動先/コピー先へ実際に移動しなければならない、または別画面で開いておかなければならない、というのは手数を要求されて面倒だなと感じました。

後、「vim で作業中に必要となるファイル操作」では、操作対象がバージョン管理下にあるという場合が多くて、vimfiler からのファイル操作は使える局面が限られそうです。変数に設定する外部コマンドを 'svn mv' などとするわけにもいかず。この辺は GUI のファイラと同じ問題を孕んでいると思いますが、ファイラで解決すべき問題かは微妙で、シェルとの使い分けかなあと思います。

ファイルの復元

直前に行ったファイルの削除をその場で Undo する機能と誤解しました。適切なエラーメッセージが表示されたおかげですぐに使い方はわかりましたが、ゴミ箱の奥深くまでファイルを探しに行って u というのは結構手数が必要で面倒と感じました。この機能が使われるのはほとんどの場合直前の削除の取り消しだと思うので「その場で」Undo できると便利かなと思います。

移動

「戻る」と「進む」が欲しいです。ルートディレクトリやホームディレクトリへは瞬時に移動できて便利なのですが、元いた場所へも瞬時に戻りたいです。

追記:2010年7月29日の更新でヒストリ機能が実装されました。

以上

ひと通りの機能を試してみての感想はこんなところです。好き勝手に書かせてもらいましたが、netrw より快適ですし、vim内で完結できる操作が確実に増えるので使わせていただきます。以後もフォローしていきますんでよろしく。

長くなったので vimshell編は別エントリに分けます。しばらく使ってみてからの方がいいと思うので。(というか、かなり奥が深そうなので)

今回の副産物として vimfiler のキーバインドまとめ(機能別)みたいなエントリができたのでそっちは明日にでもうpします。

*1:最終的にはソースを見てキーバインドと機能を把握しました。