SlideShare a Scribd company logo
1 of 27
Download to read offline
5 分で学ぶ Vim と
Vim plugin (仮)
自己紹介
●   初めての人は初めまして。会ったことある人はこん
    にちは。
●   関東の勉強会によく出没しています
●   趣味は Vim Script を書くこと
●   Vim 勉強会と聞いてやってきました
今日は開発環境勉強会のために
暖めていた、
渾身のスライドを発表します!
やあ

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

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

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

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

じゃあ、キミの要望を聞こうか。
今日のスライドの内容
●   開発環境勉強会用のスライドを今使ってしまうのは
    まずいかなーと思ったので
●   予定を変更して、私の使っているツールや、毎日
    使っているプラグインについて紹介します
●   やはり、自分も有名な人の使っているプラグインに
    ついては知りたい
      例: kana さん、 Bram さん とか
●   初心者も多いみたいだし、おそらく需要はあるだろ
    う
ふつうの Vim 使いの
   開発環境
使っているエディタ
●   Windows 香り屋さんのやつ Vim 7.3
●   Linux  ソースからコンパイルしたもの Vim 7.3
●   ちなみに、どっちも GVim です
●   コンソールの Vim は嫌いです
●   Mac ? なにそれおいしいの
●   Mac は MacVim が (ry なので使う予定がない
使っているシェル
●   当然 vimshell
       –   vimshell とは Vim Script で記述されたシェルのこ
             と
       –   Emacs でいう eshell のような存在
●   たまには nyaos や zsh も使います
●   vimshell で全ての作業を完結させるのが夢
使っている端末
●   GVim で vimshell を端末代わりにしている
●   screen ? なにそれおいしいの
●   screen は Windows で使えない
●   Cygwin は重くて使いものにはならない
●   GNOME Terminal は GVim を起動するためのも
    の
Shougo の使っている
  Vim plugin 紹介
注意
●   私の作ったプラグインが半分以上含まれているの
    は仕様です
●   だって、他の人が書いたプラグインのソースコード
    は大抵腐(以下検閲により削除)
●   kana さんも入れているプラグインのほとんどは自
    作だって言ってたし
●   ついでにプラグインについての裏話もできるといい
    な……
unite.vim(1)
●   やはりこれは最初に紹介しないわけにはいかない
●   Vim の世界を変えたプラグイン(言い過ぎ)
●   詳細は前回の Yokohama.vim #0 の資料を参照
●   ku.vim, FuzzyFinder, vimfiler, anything.el の影
    響をかなり受けている
unite.vim(2)
●   あらゆるプラグインとの連携は非常に強力
●   あれからだいぶ機能が追加されたので、 Ver.2.0
    がもうすぐ出る?かな
●   追加された機能の例:
      –   アクション選択の unite 化
      –   filter のカスタマイズ
      –   シンタックスハイライト
      –   非同期対応
      –   メッセージ出力
neocomplcache
●   言わずとしれた最強の補完プラグイン
●   実は Vim の補完機能に制限されて本気は出せて
    いない……
●   しかし、 unite.vim と組み合わせれば最強の補完イ
    ンタフェースに!(ただし補完は手動)
●   Ver.6.0 ではキャッシュを非同期に行うようになった
vimshell
●   Vim Script で実装されたシェル
●   実は neocomplcache より歴史が古い
●   構文は独自なので、 Bash のスクリプトは動きませ
    ん!
●   これは仕様
●   そもそも、シェルスクリプト自体が腐って (ry
vimproc
●   Vim に非同期通信の機能を与えてくれるプラグイ
    ン
●   もともとの作者は中平さん。しかし、大幅に私が改
    造した
●   非常に地味だが重要
●   特に Windows 環境で活躍する
●   Python インタフェースでも同じことはできるけど…
    …
●   私は Python インタフェースが嫌いです(キリッ)
vimfiler
●   netrw を置き換えるために作られたプラグイン
●   ファイル操作がしやすい
●   が、最近 unite.vim のおかげで影が薄い
●   metarw のようなプロトコルの統合とか、いろいろや
    りたいことはあったのだけど……
●   将来的には unite.vim と統合?
echodoc
●   エコーエリアに関数のプロトタイプを表示する
●   作者は私です
●   今のところ、 neocomplcache や vimshell が対応
    している
●   Emacs でいうと eldoc に相当する
eskk.vim
●   Vim で skk 日本語入力を行えるプラグイン
●   作者は tyru さん
●   neocomplcache との連携で自動補完が可能(こ
    こ一番重要)
●   しかし、動作が不安定
    なので使用者は少ない……
●   私は使っているけどね!
lingr-vim
●   Vimmer にとっては必須の lingr に Vim で簡単に
    接続するためのプラグイン
●   ただし、 Vim に Python インタフェースが必要
●   作者は tsukkee さん
●   君も Lingr で Vimmer 達と握手!
smartchr
●   = を入力すると自動的に両端にスペースを入れてく
    れるプラグイン
●   地味だが、かなり強力
●   応用すると「 . 」→「 -> 」→「 . 」ということもできる
●   作者は kana さん
●   ちなみに、 Emacs にも移植した人がいる(あの
    IMAKADO さん)
caw.vim
●   Vim で簡単にコメントアウトをするためのプラグイン
●   作者は tyru さん
●   あの NERD_commenter より便利だと思う
●   初期は安定していなかったが、最近は使えるレベル
    になってきた……はず
pathogen.vim
●   プラグインを管理するためのプラグイン
●   作者は surround.vim, rails.vim を書いたあの
    Tim Pope さん
●   他のプラグインにも似たようなものはあるが、これは
    構造が単純な上に作者が有名なので知名度が高
    い
●   プラグインのアップデートやアンインストールの機能
    は持たないので注意!
●   これと git-submodule を組み合わせて活用してい
    る人が良くいる
surround.vim
●   Vim に surround operator を追加するプラグイン
●   作者は Tim Pope さん
●   正直地味……しかし、毎日使う
●   しかし、デフォルトで定義されるキーマッピングがア
    レ
●   勝手にインサートモードにキーを定義するんじゃな
    い!
git-vim
●   Vim から git を手軽に扱うためのプラグイン
●   元の作者は motemen さん。しかし、自分は改造
    バージョンを使っている
●   そろそろこれを使い続けるのもつらくなってきた
●   thinca さん、 vcs.vim マダー?
●   実は vimshell との連携など、いろいろと妄想は
    あったのだが……
選外
●   自分が使っていないので、候補から漏れたプラグイ
    ンを簡単に紹介
●   quickrun
       –   スクリプトファイルを手軽に実行する
●   ref.vim
       –   マニュアルを引く
●   fakeclip
       –   疑似クリップボードレジスタを使えるようにする
ご清聴ありがとうございました!


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

More Related Content

What's hot

いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
USB3.0ドライバ開発の道
USB3.0ドライバ開発の道USB3.0ドライバ開発の道
USB3.0ドライバ開発の道uchan_nos
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013Ryo Sakamoto
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介MITSUNARI Shigeo
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装MITSUNARI Shigeo
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法Takuya Akiba
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングKohsuke Yuasa
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践Yoshifumi Kawai
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるDSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるAtsushi KOMIYA
 
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)parrotstudio
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道  〜最終章: Babel / TypeScript Modules との闘い〜Node.js Native ESM への道  〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜Teppei Sato
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMPYusuke Kagata
 

What's hot (20)

いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
USB3.0ドライバ開発の道
USB3.0ドライバ開発の道USB3.0ドライバ開発の道
USB3.0ドライバ開発の道
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるDSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
 
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道  〜最終章: Babel / TypeScript Modules との闘い〜Node.js Native ESM への道  〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 

Similar to Shougoの開発環境

Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacsShougo
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntuKenichi Takahashi
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけShougo
 
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vimUltimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vimShougo
 
Unite vim
Unite vim Unite vim
Unite vim Shougo
 
今どきのPerl開発にvimを対応させる
今どきのPerl開発にvimを対応させる今どきのPerl開発にvimを対応させる
今どきのPerl開発にvimを対応させるKenta Kase
 
VimとRubyのアツい関係
VimとRubyのアツい関係VimとRubyのアツい関係
VimとRubyのアツい関係Misao X
 
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tinygu4
 
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm晃 遠山
 
おすすめVimプラグインまとめ
おすすめVimプラグインまとめおすすめVimプラグインまとめ
おすすめVimプラグインまとめShun Iwase
 
Vimプラグインを使おう
Vimプラグインを使おうVimプラグインを使おう
Vimプラグインを使おうHideaki Miyake
 
PasteHub at kansai emacs 9th
PasteHub at kansai emacs 9thPasteHub at kansai emacs 9th
PasteHub at kansai emacs 9thKiyoka Nishiyama
 
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理gu4
 

Similar to Shougoの開発環境 (20)

Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacs
 
Tdd vim
Tdd vimTdd vim
Tdd vim
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけ
 
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vimUltimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vim
 
Unite vim
Unite vim Unite vim
Unite vim
 
Vimの魔術
Vimの魔術Vimの魔術
Vimの魔術
 
今どきのPerl開発にvimを対応させる
今どきのPerl開発にvimを対応させる今どきのPerl開発にvimを対応させる
今どきのPerl開発にvimを対応させる
 
Gorilla.vim#6
Gorilla.vim#6Gorilla.vim#6
Gorilla.vim#6
 
VimとRubyのアツい関係
VimとRubyのアツい関係VimとRubyのアツい関係
VimとRubyのアツい関係
 
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
 
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
 
Osoljp201204
Osoljp201204Osoljp201204
Osoljp201204
 
おすすめVimプラグインまとめ
おすすめVimプラグインまとめおすすめVimプラグインまとめ
おすすめVimプラグインまとめ
 
Vimperator abc
Vimperator abcVimperator abc
Vimperator abc
 
Vimはこわくない
VimはこわくないVimはこわくない
Vimはこわくない
 
Vimプラグインを使おう
Vimプラグインを使おうVimプラグインを使おう
Vimプラグインを使おう
 
anyframeを使おう
anyframeを使おうanyframeを使おう
anyframeを使おう
 
PasteHub at kansai emacs 9th
PasteHub at kansai emacs 9thPasteHub at kansai emacs 9th
PasteHub at kansai emacs 9th
 
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
 

More from Shougo

Vim conf2019
Vim conf2019Vim conf2019
Vim conf2019Shougo
 
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
Neosnippet.vim + Deoppet.nvim in Vim conf 2017Neosnippet.vim + Deoppet.nvim in Vim conf 2017
Neosnippet.vim + Deoppet.nvim in Vim conf 2017Shougo
 
カードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタカードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタShougo
 
deoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovimdeoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovimShougo
 
Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovimShougo
 
neovim = VM
neovim = VMneovim = VM
neovim = VMShougo
 
An introduction to neocomplete
An introduction to neocompleteAn introduction to neocomplete
An introduction to neocompleteShougo
 
Vim = VM
Vim = VMVim = VM
Vim = VMShougo
 
modern X86 environment
modern X86 environmentmodern X86 environment
modern X86 environmentShougo
 

More from Shougo (9)

Vim conf2019
Vim conf2019Vim conf2019
Vim conf2019
 
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
Neosnippet.vim + Deoppet.nvim in Vim conf 2017Neosnippet.vim + Deoppet.nvim in Vim conf 2017
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
 
カードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタカードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタ
 
deoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovimdeoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovim
 
Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovim
 
neovim = VM
neovim = VMneovim = VM
neovim = VM
 
An introduction to neocomplete
An introduction to neocompleteAn introduction to neocomplete
An introduction to neocomplete
 
Vim = VM
Vim = VMVim = VM
Vim = VM
 
modern X86 environment
modern X86 environmentmodern X86 environment
modern X86 environment
 

Recently uploaded

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (9)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

Shougoの開発環境

  • 1. 5 分で学ぶ Vim と Vim plugin (仮)
  • 2. 自己紹介 ● 初めての人は初めまして。会ったことある人はこん にちは。 ● 関東の勉強会によく出没しています ● 趣味は Vim Script を書くこと ● Vim 勉強会と聞いてやってきました
  • 5. 今日のスライドの内容 ● 開発環境勉強会用のスライドを今使ってしまうのは まずいかなーと思ったので ● 予定を変更して、私の使っているツールや、毎日 使っているプラグインについて紹介します ● やはり、自分も有名な人の使っているプラグインに ついては知りたい 例: kana さん、 Bram さん とか ● 初心者も多いみたいだし、おそらく需要はあるだろ う
  • 7. 使っているエディタ ● Windows 香り屋さんのやつ Vim 7.3 ● Linux  ソースからコンパイルしたもの Vim 7.3 ● ちなみに、どっちも GVim です ● コンソールの Vim は嫌いです ● Mac ? なにそれおいしいの ● Mac は MacVim が (ry なので使う予定がない
  • 8. 使っているシェル ● 当然 vimshell – vimshell とは Vim Script で記述されたシェルのこ と – Emacs でいう eshell のような存在 ● たまには nyaos や zsh も使います ● vimshell で全ての作業を完結させるのが夢
  • 9. 使っている端末 ● GVim で vimshell を端末代わりにしている ● screen ? なにそれおいしいの ● screen は Windows で使えない ● Cygwin は重くて使いものにはならない ● GNOME Terminal は GVim を起動するためのも の
  • 10. Shougo の使っている Vim plugin 紹介
  • 11. 注意 ● 私の作ったプラグインが半分以上含まれているの は仕様です ● だって、他の人が書いたプラグインのソースコード は大抵腐(以下検閲により削除) ● kana さんも入れているプラグインのほとんどは自 作だって言ってたし ● ついでにプラグインについての裏話もできるといい な……
  • 12. unite.vim(1) ● やはりこれは最初に紹介しないわけにはいかない ● Vim の世界を変えたプラグイン(言い過ぎ) ● 詳細は前回の Yokohama.vim #0 の資料を参照 ● ku.vim, FuzzyFinder, vimfiler, anything.el の影 響をかなり受けている
  • 13. unite.vim(2) ● あらゆるプラグインとの連携は非常に強力 ● あれからだいぶ機能が追加されたので、 Ver.2.0 がもうすぐ出る?かな ● 追加された機能の例: – アクション選択の unite 化 – filter のカスタマイズ – シンタックスハイライト – 非同期対応 – メッセージ出力
  • 14. neocomplcache ● 言わずとしれた最強の補完プラグイン ● 実は Vim の補完機能に制限されて本気は出せて いない…… ● しかし、 unite.vim と組み合わせれば最強の補完イ ンタフェースに!(ただし補完は手動) ● Ver.6.0 ではキャッシュを非同期に行うようになった
  • 15. vimshell ● Vim Script で実装されたシェル ● 実は neocomplcache より歴史が古い ● 構文は独自なので、 Bash のスクリプトは動きませ ん! ● これは仕様 ● そもそも、シェルスクリプト自体が腐って (ry
  • 16. vimproc ● Vim に非同期通信の機能を与えてくれるプラグイ ン ● もともとの作者は中平さん。しかし、大幅に私が改 造した ● 非常に地味だが重要 ● 特に Windows 環境で活躍する ● Python インタフェースでも同じことはできるけど… … ● 私は Python インタフェースが嫌いです(キリッ)
  • 17. vimfiler ● netrw を置き換えるために作られたプラグイン ● ファイル操作がしやすい ● が、最近 unite.vim のおかげで影が薄い ● metarw のようなプロトコルの統合とか、いろいろや りたいことはあったのだけど…… ● 将来的には unite.vim と統合?
  • 18. echodoc ● エコーエリアに関数のプロトタイプを表示する ● 作者は私です ● 今のところ、 neocomplcache や vimshell が対応 している ● Emacs でいうと eldoc に相当する
  • 19. eskk.vim ● Vim で skk 日本語入力を行えるプラグイン ● 作者は tyru さん ● neocomplcache との連携で自動補完が可能(こ こ一番重要) ● しかし、動作が不安定 なので使用者は少ない…… ● 私は使っているけどね!
  • 20. lingr-vim ● Vimmer にとっては必須の lingr に Vim で簡単に 接続するためのプラグイン ● ただし、 Vim に Python インタフェースが必要 ● 作者は tsukkee さん ● 君も Lingr で Vimmer 達と握手!
  • 21. smartchr ● = を入力すると自動的に両端にスペースを入れてく れるプラグイン ● 地味だが、かなり強力 ● 応用すると「 . 」→「 -> 」→「 . 」ということもできる ● 作者は kana さん ● ちなみに、 Emacs にも移植した人がいる(あの IMAKADO さん)
  • 22. caw.vim ● Vim で簡単にコメントアウトをするためのプラグイン ● 作者は tyru さん ● あの NERD_commenter より便利だと思う ● 初期は安定していなかったが、最近は使えるレベル になってきた……はず
  • 23. pathogen.vim ● プラグインを管理するためのプラグイン ● 作者は surround.vim, rails.vim を書いたあの Tim Pope さん ● 他のプラグインにも似たようなものはあるが、これは 構造が単純な上に作者が有名なので知名度が高 い ● プラグインのアップデートやアンインストールの機能 は持たないので注意! ● これと git-submodule を組み合わせて活用してい る人が良くいる
  • 24. surround.vim ● Vim に surround operator を追加するプラグイン ● 作者は Tim Pope さん ● 正直地味……しかし、毎日使う ● しかし、デフォルトで定義されるキーマッピングがア レ ● 勝手にインサートモードにキーを定義するんじゃな い!
  • 25. git-vim ● Vim から git を手軽に扱うためのプラグイン ● 元の作者は motemen さん。しかし、自分は改造 バージョンを使っている ● そろそろこれを使い続けるのもつらくなってきた ● thinca さん、 vcs.vim マダー? ● 実は vimshell との連携など、いろいろと妄想は あったのだが……
  • 26. 選外 ● 自分が使っていないので、候補から漏れたプラグイ ンを簡単に紹介 ● quickrun – スクリプトファイルを手軽に実行する ● ref.vim – マニュアルを引く ● fakeclip – 疑似クリップボードレジスタを使えるようにする
  • 27. ご清聴ありがとうございました! 開発環境勉強会は結局いつやるんだろう……