http://wiki.livedoor.jp/biowithit/d/VimM%232
参加者の皆さんお疲れ様でした!
今回も相変わらず多くの収穫を得ることができました。
VimM#2のテーマは「Vimプラグイン特集」でした。
各発表についてのメモや感想を以下にまとめておきます。
第一部
- kana - プラグインって何?おいしいの?
- maedana - 初めてのCompiler Plugin
- ukstudio - Rails.vim
- yoshuki - project.vim
- ujihisa - All About Metarw
第二部
- kana - Vimプラグインを作ってみる
- ujihisa - On Metarw
kana - プラグインって何?おいしいの?
資料:http://whileimautomaton.net/2008/09/vimm2-use-plugins
Vimプラグインを使う上で知っておきたいことなど。
まだプラグインを使ったことがなかった私にとっては非常に参考になる内容でした。
Vimプラグインは大きく分けて3種類
global plugin | Vim全体で有効な機能を提供 通常プラグインといったらコレのこと |
filetype plugin | filetype別の機能を提供する emacsのmajor modeっぽい感じ |
compiler plugin | quickfixで利用 詳細はid:maedana氏に任せた! |
Vimプラグインのファイルの基本構成
doc/{plugin}.txt | プラグインのドキュメント(ヘルプ) |
plugin/{plugin}.vim | プラグイン本体 |
Vimプラグインのインストール方法
1. :set runtimepath?でVimプラグインをインストールするディレクトリを確認し、各種ファイルをそこにコピーする。
例:runtimepathに~/.vimが含まれる場合
$ cp hoge.txt ~/.vim/plugin/hoge.txt $ cp hoge.vim ~/.vim/plugin/hoge.vim
2. help tagsを更新する
:helptags ~/.vim/doc
プラグインを探すには
- http://www.vim.org/
- 口コミとか
maedana - 初めてのCompiler Plugin
資料:http://d.hatena.ne.jp/maedana/20080906/1220681288
Compiler Pluginについて、HHKPを使いながら発表&デモ。笑
Vimで開発を行う上ではComplier PluginやQuickFixに明るくなっておいた方が幸せになれそう。
Compiler Plugin
特定のテキストのコンパイルサイクルを効率よく回すためにCompilerを使うためのオプションを設定するプラグイン
Compiler Pluginを使うと
- シェル切り替え・行番号の確認の必要がない
- エラー行にすぐに飛べる
QuickFix
- :makeとか:grepとか
- :h QuickFixCmdPreで調べよう
- :grepが便利。検索結果の行にすぐに飛べる
ukstudio - Rails.vim
資料:http://www.slideshare.net/ukstudio/railsvim-presentation?src=embed
「Rails.vim」について。
うわあああああRailsわかんねえええええええ!!!!!
VimでRails開発するならRails.vimを使うと便利よ!ということは分かりましたですよ!
Rails.vimで使うコマンド一覧
(Railsやっている人ならコマンド名だけでどういう時に使うか想像がつくのかな?)
:Rails :Rscript :Rake :Rserver :Rlog
ウィンドウ関連の操作コマンド
:R, :RE, :RS, :RV, :RT :A, :AE, :AS, :AV, :AT
- R: Related File
- A: Alternate File
さらにコマンド一覧
:Rmodel :Rcontroller :Rhelper :Rview :Runittest :Rfunctionaltest
ABBREVIATION(略記)
例:pa[ と入力すると param[ に置き換わる
略記一覧を確認する方法
:Rabbrev
yoshuki - project.vim
資料:http://saikyoline.jp/weblog/2008/09/vimm2.html
まず始めにVimpiの紹介。
http://vimpi.net/
次に本題としてVimプラグイン「project.vim」の紹介。
Vimのウィンドウの左にファイルのツリーを表示するプラグイン。
Windowsのエクスプローラのツリー表示みたいな感じでなかなか便利そう。
project.vimの操作方法
ツリーを表示
:Project
ツリーにディレクトリを登録
\C(recursive) or \c
ツリー情報を更新する
\R(recursive) or \r
カーソルを移動してEnterでファイルを開く
複数ファイルを同時に開く
\s or \S(recursive)
ツリーのファイルをgrepする
\G(recursive) or \g
終了
:q or :qa
表示が崩れた場合はCtrl-Lで再表示
詳しくはヘルプで
:h project-mapping
ujihisa - All About Metarw
資料:http://ujihisa.nowa.jp/entry/cab6a24a6a
余談と「Metarw」について。
ujihisa氏らしい発表でした。
Metarwを使えばどんな編集もVimでできてしまいそう。
前回(VimM#1)のお話
- オレポータビリティ(デフォルトの環境に近い方が道の環境で対応しやすい)
- 小指の長さ(長い人はemacs向き、短い人はVim向き)
- quickrun.vim
- git-support.vim
- Vim四天王と神
- エディタはキーバインディングが9割
- GUIはフォントが9割
- FP:指の体力(emacsなんかは小指が大変だよね)
- EP:目の体力
Metarw(Meta Read Write; めたりら)について
kanaさんによる「ファイルでないものをファイルであるかのように扱うプラグイン」を書くためのライブラリ
:e, :wの挙動を上書きする
metarw-gitではこんな感じで編集可能
:e git:master:src/ui.c
kana - Vimプラグインを作ってみる
資料:http://whileimautomaton.net/2008/09/vimm2-write-a-plugin
練習としてVimプラグインを作ってみよう!というお話。
ここではHello, worldを表示させるだけのプラグインを作りました。
メモにまとめきれなかったので、上のリンクからkanaさんのスライドを見て下さい。
Hello, world用のプラグインを作るには以下のファイルを作成すればOK
- doc/hello.txt
- plugin/hello.vim
プラグインを作るときはドキュメント(ヘルプ)を書く
- 何を作るか明確になる
- :helpで読める
- kana氏によるdocのテンプレート
http://github.com/kana/config/tree/sket%2Fvim-skeleton/vim/dot.vim/doc/skeleton.txt
自分で入れたプラグイン一覧は以下のコマンドで確認できる
:h local-additions
hello.vimを作ってみよう!
Vim起動時にウィンドウの下方にHello, Vimと表示されるプラグイン(~/.vim/plugin/hello.vim)
echo 'Hello, Vim!'
これだけ。
プラグインを書き換えたときの再読み込み
:source ~/.vim/plugin/hello.vim
注意:諸事情により書いた方がいい命令文
if exists('g:loaded_hello') " 諸事情により云々 finish endif let g:loaded_hello = 1 let s:cpoptions = &cpoptions " Viとの互換性で云々 set cpoptions&vim (プラグインの内容をここに書く) let &cpoptions = s:cpoptions
関数の定義
function! Hello(obj) echo 'Hello, ' a:obj endfunction
関数の呼び出し
:call Hello('hoge')
Exコマンドの定義
command! Hello call Hello()
Exコマンドで引数をとる場合
command! -nargs=+ Hello call Hello(<q-args>)
他にも
- Key mappingsの定義
- autocmdの定義
- グループで定義を隔離
などなど。
ujihisa - On Metarw
資料:http://ujihisa.nowa.jp/entry/cab6a24a6a
余談と「Metarw」を使ったプラグインの紹介。
いきなり余談(笑)
- ITpro Challenge! 2008でLTしてきた
- あさひ美容外科(笑)
- 高まるVim熱(笑)
Metarw-Nowaの紹介
ブログサービスNowaのエントリをまるでファイルのように扱う
Metarw-Mixi
出会い系サービスmixiの日記をまるでファイ(ry
その他
beatinaniwa IIDX
午前中にkanaさんとbeatinaniwaと私の三人で集まり、ゲーセンでbeatmania IIDXをプレイしました。
beatinaniaにとっては初のbeatmania IIDXプレイでした。きゃっほう!
IIDXプレイヤーのkanaさんと私はオリジナルコースをプレイしたり仲良くSP七段に挑戦して落ちたりしました。
Hashthon
VimM#2の懇親会後にkanaさんとid:draftcodeと私でHash邸に押しかけ、夜通しで語り合ってVimの知識を深めたり深めなかったりしました。
寝床を提供してくれたid:Hash++
ustもしていましたがあれは放送してはいけな(ry
こんな感じでした
というわけで、皆さんお疲れ様でした。
次のVimM#3でもお会いしましょう。
それと、
あと、VimMのMはみみのMらしいです。VimM#2はmickey24がうさみみをつけて主催するそうです。期待。
UK STUDIO - VimM#2でRails.vimについて話してきました
やりませんのでどうぞご安心下さい。