Linux環境ではすごく活きるよvimExplorer

前々回のブログで予告していた「vimExplorer.vimプラグインをご紹介します。

【vimExplorerのダウンロード場所】
http://www.vim.org/scripts/script.php?script_id=1950



はじめに


同じExplorer系のプラグインだけど、なぜ一緒に紹介しなかったかといいますと、ちょっと土俵が違うのかなと。


LustyExplorer.vimとFuzzyFinder.vimは自分が何かのファイルを開きたいと思っていて、「あれこれ必要ないから早くそのファイルを開きたい」という時。


逆に、このvimExplorer.vimWindowsのExplorerと同じく、じっくりそのディレクトリを見て、解析してからそのファイルを開いたり、
実行したりする時かなー。と思います。

簡単にまとめると

  • シェル感覚でささっと開く系
    • LustyExplorer
    • FuzzyFinder
  • Explorerでじっくり閲覧系
    • vimExplorer
    • netrwPlugin
    • winmanager

という感じです。Linuxのコンソール環境ではWindowsのExplorerみたいな環境がなくて(必要ないからですか?)lsしまくっています。
無意識なので我がコマンドヒストリーNo1の座を得ています。(笑)
きっとこれからもずっと…


lsの話とは別に、Explorer系のプラグインがあったら便利だよねー。
と思っていましたが、今まで初期導入プラグインを含め3〜4個ほど使いましたがどれもしっくりきませんでした。


その中で、やっと自分にあったExplorer系のプラグインが最近公開された「vimExplorer.vim」です。

どんなことができるの?


ヘルプで表示された機能、全て試しました*1
ついでにどんな事ができるのか、日本語でhelpっぽく書いておきました。*2

こんなことができる

  • WindowsExplorerっぽいこと
  • ファイルのコピー・削除・貼り付け・リネームなど
  • ファイル情報閲覧
  • ソート
  • ファイルの実行

良いと思ったこと


ぱっと思いついたことはこんな感じ

  • ファイルを実行できる
  • vimキーバインドvim上で実行(当たり前かw)
  • 選択系の動作
  • Shell実行
  • レイアウトと表示内容
  • 操作方法
  • diffが簡単にできる
  • 各種切替

残念なところ

  • 初期起動が重い
  • Tabで表示される(Buffer系プラグインと相性が悪い?)


あとなんだろ??今は思いつかないなぁ。

使い方紹介


まだ、使い込んでいるわけではないので所感を交えてご紹介します。

  1. vim7を用意(WindowsLinuxどちらでもOK)
  2. プラグインをインストール→ $HOME/.vim/plugin/


基本的にこれで使えるようになるはず。

:VE

で起動します。

終了するときは下記コマンドで。もしくは起動中なら「Q」で

:VEC

左のWindow(パネル)がツリーで、右がファイル一覧。
この辺はWindowsのExplorerに似ています。

パネルの移動はvimのWindow移動を利用しました。詳しくは

:h <c-w>

いいなー。と思ったのが、操作性。トグル関係とか直感的でわかりやすい。


どちらの画面でもバックスペースで上の階層に移動できるところもいい感じ。
あと、選択系操作もわかりやすい。WindowsExplorerよりある意味いいんじゃない??と思うことも。


ファイルを新規作成するときは、「+f」なんですが、touchと同じく0バイトのファイルが作成されるので
サイズ一覧には表示されないみたいです。


便利だと思ったのが、Mark機能。ディレクトリを行き来して作業するときに重宝します。


例えば

  1. 入力ファイルを用意する(TEMPから読み込みディレクトリへコピーなど)
  2. バッチを実行
  3. ファイルが作成される
  4. ファイルを確認。
  5. 必要があればファイルをプレビュー
  6. 出力されたファイルを削除


とかこんな感じの作業を繰り返す場合にvimExlorerだけ完結することができると思います。
screenとかで、別途プロセスでvimExplorer専用に一個開いておくといい感じなのかも。


やっぱ棲み分けがFuzzyFinderとは違うなって感じです。
十分実用的に利用できて素晴らしいです。


私の利用範囲では、Explorer関係のプラグイン

  • FuzzyFinder.vim
  • VimExplorer.vim

の二つだけでカバーできそうです。
LifeChange!

<<左画面専用ホットキー(ツリー表示画面)>>~
マッピング              標準キー割当    操作方法			説明~
help                    ?               -----------------------------	ヘルプを表示する
toggleNode              <cr>            エンター			ノードを切り替える(+を展開・折り畳)
toggleNodeMouse         <2-LeftMouse>   ダブルクリック			ノードを切り替える(+を展開・折り畳)
refresh                 r               -----------------------------	ツリー表示を再読み込み
favorite                f               -----------------------------	お気に入りリストを表示する
addToFavorite           F               -----------------------------	カーソル下のパスをお気に入りに追加する
browseHistory           b               -----------------------------	閲覧履歴を表示する
toggleFilePanel         t               -----------------------------	右に表示されるパネルの表示・非表示を切替
toUpperDir              <bs>            バックスペース			表示している階層の一つ上の階層を表示する
switchPanel             <c-tab>         CTRLを押しながらTabキー		ファイルパネルを切り替える※脚注1
gotoPath                <c-g>           CTRLを押しながらgキー		パス指定し表示する(タブで補完できます)
quitVE                  Q               -----------------------------	vimExplorerを終了する

<<右画面専用ホットキー(ファイル・ディレクトリ表示画面)>>~
マッピング              標準キー割当    操作方法			説明~
help                    ?               -----------------------------	ヘルプを表示する
itemClicked             <cr>            エンター			ファイルやディレクトリをで開く※脚注2
itemClickMouse          <2-LeftMouse>   ダブルリック			ファイルやディレクトリをで開く※脚注2
refresh                 r               -----------------------------	表示しているリストを再表示する
toggleTreePanel         t               -----------------------------	左に表示されるパネルの表示非表示を切替
toggleModes             i               -----------------------------	リストソートする(fileType、時間、名前を切替)
newFile                 +f              +の後fをタイプ			ファイルを作成する(touchと同じ?)
newDirectory            +d              +の後dをタイプ			ディレクトリを作成する(mkdirと同じ?)
switchPanel             <c-tab>         CTRLを押しながらTabキー		ファイルパネルを切り替える※脚注1
quitVE                  Q               -----------------------------	vimExplorerを終了する	
toggleHidden            H               -----------------------------	隠しファイルの表示・非表示を切替える
search                  g/              -----------------------------	検索を行う。(但し部分一致ではなく完全一致)
markPlace               m{a-z}          mの後a〜zのいずれかをタイプ	現在のパスをマークする
gotoPlace               '{a-z}          'の後a〜zのいずれかをタイプ	マークしたパスへ移動する※脚注3
viewMarks               J               -----------------------------	マークしているパス一覧を表示する
toUpperDir              <bs>            バックスペース			一つ上のディレクトリに移動する
gotoForward             <c-i>           CTRLを押しながらiキー		次へ(ブラウザの次へボタンと同じ感じ)
gotoBackward            <c-o>           CTRLを押しながらoキー		前へ(ブラウザの前へボタンと同じ感じ)
favorite                f               -----------------------------	お気に入りリストを表示する.
addToFavorite           F               -----------------------------	カーソル下のパスをお気に入りに追加する
browseHistory           b               -----------------------------	閲覧履歴を表示する	
gotoPath                <c-g>           CTRLを押しながらgキー		パス指定し表示する(タブで補完できます)	
rename                  R               -----------------------------	カーソル下のファイルをリネームする
yankSingle              yy              -----------------------------	カーソル下のファイルをコピーする※脚注6
cutSingle               xx              -----------------------------	カーソル下のファイルをカットする※脚注7	
showYankList            yl              -----------------------------	今クリップしているファイルのリストを表示する
deleteSingle            dd              -----------------------------	カーソル下のファイルを削除する(削除確認有)
openPreview             u               -----------------------------	カーソル下のFileをvimでプレビューする。編集可
closePreview            U               -----------------------------	プレビューしたファイルを閉じる
toggleSelectUp          <s-space>       SHIFTを押しながらスペースキー	カーソル下のファイルを選択する※脚注4、5
toggleSelectDown        <space>         スペースキー			カーソル下のファイルを選択する※脚注4
markViaRegexp           Mr              -----------------------------	正規表現を使ってファイルを選択する※脚注4
markVimFiles            Mv              -----------------------------	vimファイルのみ選択する※脚注4
markDirectory           Md              -----------------------------	ディレクトリのみ選択する※脚注4
markExecutable          Me              -----------------------------	実行可能ファイルのみ選択する※脚注4
clearSelect             Mc              -----------------------------	全ての選択を解除する
deleteSelected          sd              -----------------------------	選択したファイルを削除する(削除確認有)
yankSelected            sy              -----------------------------	選択したファイルをコピーする※脚注6
cutSelected             sx              -----------------------------	選択したファイルをコピーする※脚注7
tabViewMulti            se              -----------------------------	タブで選択したファイルをvimで開く※脚注8
paste                   p               -----------------------------	コピーしたファイルを貼り付ける()
diff2files              =               -----------------------------	選択した二つのファイルのDiffを表示する
tabView                 e               -----------------------------	新しいタブでカーソル下のファイルをvimで開く
openRenamer             ;r              -----------------------------	リネーマーを開く?※脚注9
startShell              ;c              -----------------------------	現在のパスからシェルを起動する。※脚注10
startExplorer           ;e              -----------------------------	異なるExplorerで現在のパスを開く※脚注11


<<ビジュアルモードのホットキー(ファイル・ディレクトリ表示画面)>>~
マッピング              標準キー割当    操作方法			説明~
visualSelect            <space>         -----------------------------	Visual選択しているファイルを選択※脚注4
visualDelete            d               -----------------------------	Visual選択しているfileを削除する(削除確認あり)
visualYank              y               -----------------------------	Visual選択しているファイルをコピーする※脚注6
visualCut               x              -----------------------------	Visual選択しているファイルをカットする※脚注7
tabView                 e               -----------------------------	Visual選択しているfileをでvimで開く(新しいtab)
startShell              ;c             -----------------------------	カレントパスをシェルで開く※脚注12
startExplorer           ;e              -----------------------------	異なるExplorerで現在のパスを開く※脚注11.12

	
==============================================================================================
脚注
1:<c-tab>を違う動作にしている為未確認
2:ファイルは結びつけられたアプリで別プロセスで?
3:ファイルパネルのみ有効だから気をつける
4:windowsのctrlを押しながらクリックと同じ
5:shift-スペースを別キーにアサインしている為動作未確認
6:windowsの右クリック・コピーと同じ
7:windowsの右クリック・切り取りと同じ
8:Buffer系プラグインと相性悪い?TabとBufferどちらでも開かれていた感じ。
9:エラーが発生しました。別途設定が必要な感じ。詳しくはヘルプを参照
10:シェルを終了後imExplorerに戻ります。
11:(nautilusやkonquerやexplorer.exe)など
12:なぜか動作できなかった

*1:動作確認はDebian etchのvim7

*2:訳ではないので、間違っていた事書いてたらごめんなさい。