vimfilerからzipを作ったり、解凍したり、.DS_Storeをお掃除したり

少し前にSublimeTextからvimに舞い戻ってきました。
tnkerです:)

vimを使っている間、基本的のアプリケーションに遷移したくないのでZIP固めたりするときとかに使えるsendtoプラグインを使っておるのですが、MacとかでZIPを固める際に.DS_Storeという非常に残念なファイルが混入することがありますよね。

これが非常に邪魔なので、固めた後からZIPの中身をお掃除出来るようにしてみた。


とりあえず sendtoプラグイン入れる

申し訳ないですが、NeoBundleとVimFiler使ってる前提で書いちゃいます。
違うやつを使っている人は頑張って読み替えてください:(

.vimrcに

NeoBundle 'liquidz/vimfiler-sendto'

を追記し、プラグインをインストールして同じく.vimrcに

let g:vimfiler_sendto = {
            \   'unzip' : 'unzip %f'
            \ , 'zip' : 'zip -r %F.zip %*'
            \ , 'cleanzip' : 'zip -d %f *.DS_Store'
            \ }

てな形で設定すれば準備完了です!

使い方

こんな感じのフォルダがあるとします。

VimFilerでフォルダを選択して

:Unite sendto

と入力してみると

先ほど.vimrcに設定した各メニューが表示されます。

  • unzip
    • 対象のZIPファイルを解凍
  • zip
    • 対象のフォルダをZIPに固める
  • cleanzip
    • 対象のZIPの中にある.DS_Storeを全て除去する

zipを選択すれば同階層にzipファイルが出来ますし、unzipを選択すれば同じく同階層に解凍されます。 誰かにzipを渡すとなったときとかに、お掃除しないといけない時はcleanzipを選択すれば一気にzipの中身のお掃除が出来ちゃいます!

さすがにvimさんは便利ですね!:)

参考サイト

http://liquidz.github.io/2012/02/vimfiler.html