mru.vim改変版 (+絞り込み検索+バッファリスト)

オリジナル版について

mru.vimは最近使用したファイル一覧(MRU)をリスト化して表示するプラグインです。

またGVimのメニューにMRUリストを追加することもできます。

http://www.vim.org/scripts/script.php?script_id=521

作者はこれにファイル表示の色分け、絞り込み、ソート、バグ修正、バッファリスト表示などの改変パッチを適用して、CUIモードを簡単なMRUバッファリスト代わりにも使っています。

(注意)

オリジナル版mru.vimでカラー表示がサポートされたのでオプション互換に変更しました。

ただし、オリジナル版の設定では特定記号を含むファイル名を開けないため、MRU_Filename_Formatのデフォルトを変更しています。

改変部分について

  • ファイル名表示を変更/色分けして、カーソルラインを表示可能にしました。
  • バッファリスト表示を追加しました。
  • ファイル名に特定の記号が含まれていると、「ファイルを開けない/GVimのメニューに登録されない」オリジナル版のバグを修正しました。
  • オリジナル版ではファイルを開くたびにMRUファイルを保存していますが、Vimの終了時にのみ保存するようにしました。
  • MRUリストを指定文字列で絞り込み検索可能にしました
  • MRUリストをファイル名でソート可能にしました。
  • 数字+<CR>で対応する行番号のファイルを開くことが出来るようにしました。
  • すでに存在しないファイル名をMRUリストから削除可能にしました。
  • MRUリストから任意のファイル名を削除可能にしました。

パッチ適用済み改変版

mru.vim (2018/11/25)

  • 改変版のベースファイルを mru.vim 3.9に変更しました。

vimfiles/plugin(unixは.vim/plugin)などのruntimepathの通った場所にmru.vimをコピー(上書き)してください。

WindowsのKaoriya(香り屋)版gvimで mru.vimを使う場合の注意

Kaoriya版GVimはvimrcの設定に問題があるためmru.vimを使用すると(オリジナルのmru.vimでも)エラーが出ます。

また mru.vimに限らず、メニューにアイテムを登録する全てのプラグインは日本語化されず英語のまま登録されるので、メニューに ファイル(F) と File(F) の二つが出来てしまいます。

WindowsのKaoriya版GVimを使用する場合は以下を参照してみてください。

Kaoriya版のgvimでプラグインのメニューがおかしくならないようにする

改変部分についての解説

CUI部分を改変しました。

:MRUで起動します。

ファイル名表示を変更/色分けして、カーソルラインを表示可能にしました。

色は指定可能です。

(改変前)

(改変後)

バッファリスト表示を追加しました

以下のように:buffersをつけて実行するとバッファリスト表示を行います。

:Mru :buffers

:buffers!を使用すると隠しバッファも表示します。

:Mru :buffers!

s コマンドを追加しました。(文字列による絞り込み)

ex.

MRUリストとして次のように表示されているとします。

1 aaa.vim ~/bin/vim/aaa.vim
2 bbb.vim ~/bin/vim/bbb.vim
3 ccc.vim ~/bin/vim/ccc.vim

sbbb<CR>と入力すると次のようにbbbを含むファイルだけが表示されます。

1 bbb.vim ~/bin/vim/bbb.vim

絞り込みはuでアンドゥ可能です。

(注意)

mru.vimオリジナル版 3.4以降での u はリフレッシュ表示ですが、アンドゥと重なるため U でリフレッシュ表示にコマンド変更しています。

S コマンドを追加しました。

実行するとファイル名でソートします

数字+<CR>で対応する行番号のファイルを開くことが出来るようにしました。

3<CR> : 3行目のファイルを開く。

" 数字指定した場合は対応行のファイルを開く
let MRU_Use_Alt_useopen = 1

K コマンドを追加しました。

実行するとカーソル位置のファイル名をMRUリストから削除します。

(ファイル自体は削除されません)

R コマンドを追加しました。

実行するとすでに存在しないファイル名をMRUリストから削除します。

また<ESC>で終了可能にもなっています。

起動用のショートカットキーを定義して、簡単にON/OFFできるようにするとバッファ切り替え用にかなり使えます。

その他ではファイル名に特定の記号が含まれていると、ファイルを開けない/GVimのメニューに登録されないオリジナル版のバグも修正しています。

[]#$%&.txt
(重要な) メモ.txt
(foo)bar.txt

追加オプション

" カーソルラインを使用する
let MRU_Use_CursorLine = 1

これでファイル名が多くなっても混乱しなくなったので、次のように .vimrc を設定して使っています。

ファイルのMRUはもちろんですが、簡単なバッファリスト代わりに使えて便利です。

let MRU_Window_Height = 20
let MRU_Max_Entries   = 100


注意事項

この改変パッチを使用した場合の動作については、オリジナルの作者様には問い合わせしないでください。

動作がおかしいと思ったら使用を中止し、オリジナルに戻してください。