Transcript
Page 1: Shougoの開発環境

5 分で学ぶ Vim とVim plugin (仮)

Page 2: Shougoの開発環境

自己紹介

● 初めての人は初めまして。会ったことある人はこんにちは。

● 関東の勉強会によく出没しています● 趣味は Vim Script を書くこと● Vim 勉強会と聞いてやってきました

Page 3: Shougoの開発環境

今日は開発環境勉強会のために暖めていた、

渾身のスライドを発表します!

Page 4: Shougoの開発環境

やあ

ようこそ、ジンブーハウスへ。

このプラグインはサービスだから、まずはインストールして落ち着いて欲しい。

うん、「また」なんだ。済まない。猿の顔も三度って言うしね、もはや謝って許してもらおうとも思っていない。

でも、このタイトルを見たとき、君は、きっと言葉では言い表せない「ときめき」みたいなものを感じてくれたと思う。殺伐としたエディタの覇権争いの中で、そういう気持ちを忘れないで欲しいそう思って、このスライドを作ったんだ。

じゃあ、キミの要望を聞こうか。

Page 5: Shougoの開発環境

今日のスライドの内容

● 開発環境勉強会用のスライドを今使ってしまうのはまずいかなーと思ったので

● 予定を変更して、私の使っているツールや、毎日使っているプラグインについて紹介します

● やはり、自分も有名な人の使っているプラグインについては知りたい

例: kana さん、 Bram さん とか

● 初心者も多いみたいだし、おそらく需要はあるだろう

Page 6: Shougoの開発環境

ふつうの Vim 使いの開発環境

Page 7: Shougoの開発環境

使っているエディタ

● Windows 香り屋さんのやつ Vim 7.3● Linux  ソースからコンパイルしたもの Vim 7.3● ちなみに、どっちも GVim です● コンソールの Vim は嫌いです● Mac ? なにそれおいしいの● Mac は MacVim が (ry なので使う予定がない

Page 8: Shougoの開発環境

使っているシェル

● 当然 vimshell– vimshell とは Vim Script で記述されたシェルのこ

– Emacs でいう eshell のような存在

● たまには nyaos や zsh も使います● vimshell で全ての作業を完結させるのが夢

Page 9: Shougoの開発環境

使っている端末

● GVim で vimshell を端末代わりにしている● screen ? なにそれおいしいの● screen は Windows で使えない● Cygwin は重くて使いものにはならない● GNOME Terminal は GVim を起動するためのも

Page 10: Shougoの開発環境

Shougo の使っているVim plugin 紹介

Page 11: Shougoの開発環境

注意

● 私の作ったプラグインが半分以上含まれているのは仕様です

● だって、他の人が書いたプラグインのソースコードは大抵腐(以下検閲により削除)

● kana さんも入れているプラグインのほとんどは自作だって言ってたし

● ついでにプラグインについての裏話もできるといいな……

Page 12: Shougoの開発環境

unite.vim(1)

● やはりこれは最初に紹介しないわけにはいかない● Vim の世界を変えたプラグイン(言い過ぎ)● 詳細は前回の Yokohama.vim #0の資料を参照● ku.vim, FuzzyFinder, vimfiler, anything.el の影響をかなり受けている

Page 13: Shougoの開発環境

unite.vim(2)

● あらゆるプラグインとの連携は非常に強力● あれからだいぶ機能が追加されたので、 Ver.2.0

がもうすぐ出る?かな● 追加された機能の例:

– アクション選択の unite化

– filter のカスタマイズ

– シンタックスハイライト

– 非同期対応

– メッセージ出力

Page 14: Shougoの開発環境

neocomplcache

● 言わずとしれた最強の補完プラグイン● 実は Vim の補完機能に制限されて本気は出せて

いない……● しかし、 unite.vim と組み合わせれば最強の補完イ

ンタフェースに!(ただし補完は手動)● Ver.6.0ではキャッシュを非同期に行うようになった

Page 15: Shougoの開発環境

vimshell

● Vim Script で実装されたシェル● 実は neocomplcache より歴史が古い● 構文は独自なので、 Bash のスクリプトは動きませ

ん!● これは仕様● そもそも、シェルスクリプト自体が腐って (ry

Page 16: Shougoの開発環境

vimproc

● Vim に非同期通信の機能を与えてくれるプラグイン

● もともとの作者は中平さん。しかし、大幅に私が改造した

● 非常に地味だが重要● 特に Windows 環境で活躍する● Python インタフェースでも同じことはできるけど…

…● 私は Python インタフェースが嫌いです(キリッ)

Page 17: Shougoの開発環境

vimfiler

● netrw を置き換えるために作られたプラグイン● ファイル操作がしやすい● が、最近 unite.vim のおかげで影が薄い● metarw のようなプロトコルの統合とか、いろいろや

りたいことはあったのだけど……● 将来的には unite.vim と統合?

Page 18: Shougoの開発環境

echodoc

● エコーエリアに関数のプロトタイプを表示する● 作者は私です● 今のところ、 neocomplcache や vimshell が対応

している● Emacs でいうと eldoc に相当する

Page 19: Shougoの開発環境

eskk.vim

● Vim で skk 日本語入力を行えるプラグイン● 作者は tyru さん● neocomplcache との連携で自動補完が可能(こ

こ一番重要)● しかし、動作が不安定

なので使用者は少ない……● 私は使っているけどね!

Page 20: Shougoの開発環境

lingr-vim

● Vimmer にとっては必須の lingr に Vim で簡単に接続するためのプラグイン

● ただし、 Vim に Python インタフェースが必要● 作者は tsukkee さん● 君も Lingr で Vimmer達と握手!

Page 21: Shougoの開発環境

smartchr

● =を入力すると自動的に両端にスペースを入れてくれるプラグイン

● 地味だが、かなり強力● 応用すると「 . 」→「 -> 」→「 . 」ということもできる● 作者は kana さん● ちなみに、 Emacs にも移植した人がいる(あのIMAKADO さん)

Page 22: Shougoの開発環境

caw.vim

● Vim で簡単にコメントアウトをするためのプラグイン● 作者は tyru さん● あの NERD_commenter より便利だと思う● 初期は安定していなかったが、最近は使えるレベル

になってきた……はず

Page 23: Shougoの開発環境

pathogen.vim

● プラグインを管理するためのプラグイン● 作者は surround.vim, rails.vim を書いたあの

Tim Pope さん● 他のプラグインにも似たようなものはあるが、これは構造が単純な上に作者が有名なので知名度が高い

● プラグインのアップデートやアンインストールの機能は持たないので注意!

● これと git-submodule を組み合わせて活用している人が良くいる

Page 24: Shougoの開発環境

surround.vim

● Vim に surround operator を追加するプラグイン● 作者は Tim Pope さん● 正直地味……しかし、毎日使う● しかし、デフォルトで定義されるキーマッピングがアレ

● 勝手にインサートモードにキーを定義するんじゃない!

Page 25: Shougoの開発環境

git-vim

● Vim から git を手軽に扱うためのプラグイン● 元の作者は motemen さん。しかし、自分は改造バージョンを使っている

● そろそろこれを使い続けるのもつらくなってきた● thinca さん、 vcs.vimマダー?● 実は vimshell との連携など、いろいろと妄想は

あったのだが……

Page 26: Shougoの開発環境

選外

● 自分が使っていないので、候補から漏れたプラグインを簡単に紹介

● quickrun– スクリプトファイルを手軽に実行する

● ref.vim– マニュアルを引く

● fakeclip– 疑似クリップボードレジスタを使えるようにする

Page 27: Shougoの開発環境

ご清聴ありがとうございました!

開発環境勉強会は結局いつやるんだろう……


Top Related