VimM (Vim Movement) #2 で傍観者してきた(第一部 プラグインを使おう編)

VimM#2をのぞいてきました。
2009/09/06 14:00 - 18:00
秋葉原ダイビル13F にて開催。
下記は、その会のメモ。
聞いたことやら、自分の感想やら、妄想やらが混在していますけど。



プラグインって何? おいしいの? by kana

プラグインの種類の説明。どんなプラグインを作成できて、どんなことができるか、といった内容。
2部「君にも書けるVimプラグイン」で続きの詳しい説明がある。

プラグインの種類

プラグインには、特定のバッファにのみ有効なfiletype pluginと、
反対に、すべてのバッファで有効になるglobal pluginがある。
それと、その他に、compiler pluginなどがある。

プラグインの機能

プラグインには、

といった機能をもつものがある。

プラグインの使い方
  • プラグインの使い方が見つからないものは:helpコマンドで探す。
  • 応用方法などのノウハウはWebで探す。
  • ドキュメントのないプラグインは爆発しろ。
プラグインを探すには


あと、名無しのvim使いっていうサイトがあるらしいから、そっちも見てくれ。

初めてのCompiler Plugin by id:maedana

vimエディタのCompiler Pluginの説明。

vimにとってのCompilerとは

一般言われるCompilerの解釈とは少し異なっていて、
テキストを解析して、特定の結果を返すものであれば、
vimエディタのcompiler pluginで利用できる。


コンパイラの返す結果だけじゃなくても、lintとか、パーサーとか、解析ツールの結果でも
利用できるかもってことです。たぶん。まったく試してないけど、そう解釈した。

compiler pluginを使うには。

compiler pluginの使い方のデモを見せていただきました。次の手順で、compiler pluginを使えます。

1. 次のコマンドで、使用できるcompiler pluginの一覧を表示する。

:compiler

2. compiler pluginを指定する。

" コマンドフォーマット
:compiler {compiler plugin オプション}

" コマンド例
:compiler rspec

3. compiler plugin設定後、次のコマンドでコンパイラを実行できる。

:make

4. 結果は、エラーリストに入るので、次のコマンドでエラーを表示できる。

:clist

5. エラーリストに入っているので、次のコマンドで、次々にエラーの発生した位置に移動できる。

" 次のエラーに移動
:cn

" 前のエラーに移動
:cN

" 次のファイルのエラーに移動
:cnf
compiler pluginの作り

compiler pluginでは、makeprgerrorformatを設定している。コードは短い。
適当なcompiler pluginを開くと、それがわかる。
今あるcompiler pluginを参考にすれば、新しいcompiler plugin作れるんじゃないか?

まとめ

compiler pluginは簡単に作れるから、作ってみるといいよ。
わからない場合は、次のvimヘルプを読みましょう。

  • :help usr_30
  • :help compiler
  • :help makeprg
  • :help errorformat

How to Rails.vim by ukstudio

rails.vimの使い方デモ。


rails.vimは、使っているところを見ておきたかったから、助かった。

rails.vimのコマンドの説明(1)

テンプレートの生成とか、サーバーを動かしたりとか。

  • :Rails
  • :Rscript
  • :Rake
  • :Rserver
  • :Rlog (tailminusf.vim + checktime)


これらのコマンドは、railsに用意されているコマンドをvimから呼び出すものだと認識した。
rails使ったことないけど。

rails.vimのコマンドの説明(2)

ファイルにアクセスするコマンドの説明。

  • :Rmodel
  • :Rcontroller
  • :Rview
  • :Rhelper
  • :Runittest
  • :Rfanctionaltest


たぶん、railsでは、モデル、ビュー、コントローラー、テストケースをどう作るかが決まっていて、
だから、それらのファイルに簡単にアクセスするためのコマンドが用意されている、と認識した。
rails使ったことないんで、カンですけど。

まとめ

rails.vimと、似たような感じで、

あたりを作ったら、便利でいいんじゃない。

project.vim by yoshuki

http://vimpi.net/の人って言うと、わかる人も多いでしょう。
が、〜〜の人、〜〜の人って呼んでると、個人名が露出しなくなるので、yoshuki氏と呼びましょう。
project.vimのデモを見せていただきました。

project.vimの使い方

project.vimプラグインは、ファイル管理系のプラグインです。
ファイルシステムベースではなく、管理システムにファイルを登録して、登録したファイルを管理します。
Mac使っている人には、XCodeの管理みたいな感じ、と言えばわかりやすいかな?

\c、\Cでウィザードを開く。

  • ファイルを開く

Enterでファイルを開ける。

  • ファイルツリーを更新する

\r、\Rでツリーを更新できる。

  • 複数ファイルを同時に開く

\s、\Sでファイルを開ける。

  • ツリーに登録されたファイルに対して、grepする

\g、\Gでgrep実行。

.vimprojects

project.vimの設定は、$HOME/.vimprojectsで行う。
フィルタの設定とか。

All About Metarw by ujihisa

Metarwは、めたりらと読む。
ujihisa氏は、関西のvim勉強会を主催している方です。
内容は、quickrun.vim、キーマッピングMetarw関係の話。

quickrun.vimの紹介

編集しているファイルの種類をみて、ファイルの種類に合ったコマンドを
編集しているファイルのテキストに対して実行するプラグイン


きっと、LL言語向き。

Key mapping
  • Controlキーは遠い。
  • :w:qなんて使ってる人なんか、まさかいるわけないよね。
  • vimemacsの違いは、Controlキーを使うか、使わないか。
  • プログラムはFP、EPを消費しながらプログラミングしている。FPはフィンガーポイントのこと、EPは、Eyeポイントのこと。
Metarw

Meta Read Write = メタリードライト => metarw。
ファイルでないものをファイルであるように扱うライブラリ。:edit、:writeの挙動を上書きする。
gitで管理されているファイルを、ローカルのファイルと同じように保存すると、編集ファイルをコミットする、といった挙動を実現できる。


zipとか、tarとか、netrwとか、sudoと同種のプラグインを作れる、と解釈した。

metarw-gitデモ

実際に、gitを操作するデモを見せていただきました。
この人はキーボードの操作がすごく早いですね。
締め切り直前の私と同じくらいの早さでキーを打ちながら、話をしていました。