Vim勉強会 in MTL 行ってきました

Vim勉強会 in MTLで勉強してきました。
良い会場でした。皆様お疲れ様です。楽しかった。


2009年 4月 3日 金曜日 19時30分
株式会社リクルート Media Technology Labs 2F
主催:永和システムマネジメント様 
   株式会社リクルート Media Technology Labs様
http://atnd.org/events/482

便利なVimスクリプトやTips紹介

by ianさん
Media Technology Labs エンジニア
http://iandeth.dyndns.org/mt/ian/

vim設定はGoogle Codeで管理している

Google Codeで管理して、新しい環境に移るたびにコピーしている。
http://code.google.com/p/iandeth/


Google Codeはバージョン管理のレポジトリを貸してくれるので、それを利用していると。

最近、Google Codeで個人用のレポジトリと、そうでないプロジェクトの区別がつかなく(以下略

tabe

:tabeでタブを開ける。
ノーマルモードgt、gTでタブ移動できる。

ctags

ctagsでコード補完している
1. ctags -r でタグを生成する
2. Ctrl-] でカーソルしたキーワードの定義を開く
3. Ctrl-t で元の位置に戻る

コード補完

インサートモードで、Ctrl-nで補完機能を使用できる。

bufexplorer.vim

バッファ管理用プラグイン。
bufexplorer.zip : Buffer Explorer / Browser
http://www.vim.org/scripts/script.php?script_id=42

eregex.vim

vimの正規表現でperl5の正規表現文法を使える。
http://www.vector.co.jp/soft/unix/writing/se265654.html

:vimgrep

vimgrepでコードを検索する。

:vimgrep {検索ワード} {ファイル(ワイルドモード利用可)}
:vimgrep updateUser **/*.pm
Ctrl-[

ESCキーの変わりに、Ctrl-[キーを使う。

snippetsEmu

コードスニペット。
Tabでコードテンプレートを展開でき、Tabでコード入力位置に順々に移動できるプラグイン。
http://www.vim.org/scripts/script.php?script_id=1318

Vim捌きを上達させる、たったひとつの冴えたやり方 至高のエディタには、至高のキーボード

by ursm
http://d.hatena.ne.jp/ursm/


このキーボードが良いらしい。
http://www.edikun.co.jp/kinesis/

  • 疲れない。
  • レイアウトが良い。
  • 真ん中の空間にメモを置くと、忘れないで済む。
  • フットスイッチがある。
  • ハードウエアキーリマップ機能がついている。
  • 変なキーボードの人と覚えてくれる


Vim捌きを上達させる、たったひとつの冴えたやり方
とは、すなわち、
キーボードを探すことだ!!!

どーん!!!

Vim ScriptでOOP

by ukstudio
http://ukstudio.jp/

vimrcの説明。

http://github.com/ukstudio/config/tree/master

+、-、{、}で分割したウィンドウのサイズを変える。

nnoremap + 4<C-w>+
nnoremap - 4<C-w>-
nnoremap { 4<C-w><
nnoremap } 4<C-w>>
http://vim-users.jp

vim-users.jpやってるぞ!

Vimでスクリプトを組む

例えば、

:h eval

と入力して、Enterで関数の説明がでてくる。
ヘルプを使いこなして、Vimスクリプト書きましょう。

VimでOOP

ソースコード
http://gist.github.com/89661


結論
VimでOOPは必要ない!!!
それでもVimでOOPしたいなら、if_ruby使うといい

日本Hamlの会

http://haml.ursm.jp/

Hamlって何?

HTMLを生成する言語。コストが小さい。
HTML、XML構造の閉じるタグを書かなくても良い。

reStructuredTextのようなものなのかな?

懇親会開始後

vimのエクスプローラー

vimのエクスプローラーで、iを押すと、ツリービューになる。

rails.vim

ファイル間移動や、コードの補完機能がある。
http://www.vim.org/scripts/script.php?script_id=1567

fuzzyfinder.vim

fb、ff、fmでfuzzyfinderの機能を呼び出す。
http://www.vim.org/scripts/script.php?script_id=1984

nmap fb :FuzzyFinderBuffer<CR>
nmap ff :FuzzyFinderFile<CR>
nmap fm :FuzzyFinderMruFile<CR>

このようにマッピングして使用するプラグインだったらしい。
例えば、fmと叩くだけで、履歴から開くファイルのリストが出てくる。

しかし、fにマッピングするのは、ちょっと困るかも?
他のキーにすべきか

Align

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

hoge = hoge
aaaaaaaaaa = aaaaaa

という文があったときに、下のように整形するプラグイン。

hoge       = hoge
aaaaaaaaaa = aaaaaa


見せていただいたのは、おそらく、範囲選択して\t=。
\t{セパレータ}で、指定セパレータを基準にして整形できる。
http://nanasi.jp/articles/vim/align/align_vim_mapt.html


このような文があり、2文字以上の、=>で整形したいのなら、

hoge => hoge;
aaaaaaaaaa => aaaaaa;

範囲選択して、

:Align =>

が使える。

ビジュアルモードで選択したテキストを検索したい

これをvimrcに入れて、*キーを叩け

vnoremap * y/<C-r>0<CR>

感想

とても勉強になりました。
こういう勉強会に参加すると、意欲がわいてきて良いですね。