ぼっち勉強会スマートフォン用の表示で見るぼっち勉強会この広告は、90日以上更新していないブログに表示しています。2013の31日目です。プラグインランキング2013でした。scriptを書く楽しさについて語ります。script楽しいので書いてみませんか、という内容になっています。概要この記事は主に以下の内容で構成されています。scriptを書いたことはない。書いたことあるけどプラグインを作ったことはない。いうVimmerを対象としています。Vimプラグインに限らず、まだ個人で何も作り上げたことがない人を特に対象としています。scriptについての知識は必要はありません。私の記憶が確かならば、初めて読んだプラグインはこちらになります。サラリーマンの為のメールが2倍速く書ける(気がする)vim補完書いたこの記事を当時読んだときに、何となくGithubのリンクを開きました。フォルダが1つしかないことに驚きました。次にその中にファイルが1つしかないことに驚きました。最後にそのファイルの中身が61行しかないことに驚きました。当時、プログラムとはもっと複雑で大きい必要があると思っていた私には衝撃でした。(Vimプラグインに限らず)個人で何か作ろうとしては挫折していたことが多かったですが、こんな小さくてもいいという事実は「自分でもできそう」という可能性を示してくれました。それから少しして、私は初めてのプラグインを作りました。sourceを作ってみてるVimプラグインが出来るまでそのあとも今日に至るまで、数は少ないですがいくつかプラグインを作ってきました。今後も作っていきたいと思っています。このモチベーションはどこから来ているのでしょうか。プラグインを作る楽しさ簡単に作れることが楽しさに繋がっていると考えています。いうあたりが簡単かを列挙してみます。小さくてもいい繰り返しになりますが、「数十行しかなくてもプラグインは作れる」という事実は重要でした。この事実により、面倒臭がりで腰が重い私でも「やってみよう」という気になります。短い期間で完成するこれは小さくて済むことに関連しますが、慣れてくれば物によっては数時間で1つ完成できます。完成までの期間が短いというのは楽しさに影響します。scriptはVim上で動くので、Vimがあればすぐに始められます。DBとかサーバーとかいりません。外部ライブラリに依存しないで書けるので、ライブラリ選定などに時間を取られることもありません。書いて動かして確認する。すべてがVimだけで行われます。構成とか考えなくてもいいこれは厳密には「プラグイン」ではありませんが、vimrcに記述するだけでも構わないのは手軽です。このあたりは後ほど触れます。scriptを覚えるだけです。マルチスレッドとかも考える必要がありません。公開が簡単プラグインの配布方法はいくつかありますが、そのうちの一つとしてGithubに公開するだけで済むのがとても簡単です。自分で自分のVimを育てている感じがして、Vimに対する愛着が強まります。中にはプラグインにするほどのネタがなくて書けないという人もいるかもしれません。書くネタが浮かばない個人的な経験になりますが最初の一歩に関しては、アイデアが降ってくるのを待っていてはいつまでも書けません。「作った」という体験をする必要があります。作った経験があると、日々の中で割とアイデアが湧くようになると思います。少なくとも私は湧くようになりました。誰かの「こういうことがしたい」という発言を聞いてVimでやるには...と考えるようになります。昔の私がそうでしたが、「浮かばない」という人は大抵自分で可能性を狭めています。思いついたアイデアが既にプラグインとしてあってもいいと思います。実用的じゃなくても全然構わないでしょう。自分の手で何かを作るというのは、それだけで楽しいです。Vimとは関係ありませんが、先日見たすばらしいツイートを引用します。エンジニアは、まず既存のものと同じものを作ってみることで学習していくものなので、すでにあるからあきらめるなんて言ってたら、いつまで経っても何も作れないよ。ものはすでにあるんだから。6すでに他に同じようなプラグインがあっても、実用的じゃなくても気にしない。それでも浮かばないなら何でもいいから真似てみる。既存であるネタの方が、困ったときに参考に出来て初学に向いている気もします。実際に作り始めるとしてどうすればいいでしょうか。最初の一歩のおすすめ私は4パターンをご提案します。vimrcにまず書いてみるまずはvimrcに書いておいて、プラグインにできそうなら後でプラグイン化しましょう。始めからプラグインを意識する必要はありません。このあたりは前述のVimプラグインが出来るまでという記事に書きました。挫折する可能性が低くていいのではないでしょうか。プラグインのプラグインを作る例えばunite.vimはsourceという形でuniteのプラグインを作れます。雰囲気を掴むためにこちらの記事がとても参考になりました。作り方なお、これは現在ではunite.vimに標準で組み込まれている機能です。(linesではなくてlineという名前で)これをもとにとりあえず動かしてみたときの私のツイートがこちら。source書いてみた。こんな簡単に動くものできるのかーと感動。3(記事中の順番が前後しますが、これを経て作成したのが前述の初プラグインです)さらに詳しい記事としてはこちらもあります。作成する流れをまとめてみたまた、ctrlpもプラグインを作れます。Vimプラグインの拡張機能プラグインを作ってVimをさらに使いやすくしよう他にもプラグインのプラグインを作れるものはあります。sourceは取っ付きやすいのではと思います。今は英語のみなのでその点は敷居が高いかもしれません。sourceプラグインを参考にすることができます。既存プラグインに依存する(少しレベル高いかも)既存プラグインのAPIを利用すると、難しい処理を簡単に書けます。使い方を説明した記事はほとんどなく、ヘルプを理解したり内部コードを見る必要があります。そのため少し敷居が高いと思われます。メリットとして、同じように依存している他のプラグインを参考にすることができます。script用ライブラリ群。便利なAPIがあるvital.vimをどんどん使っていこう。webapi-vimHTTPとか通信をするのに便利(というか必須?)curlは必須open-browser.vimブラウザを開くのに便利vimproc.vimシステムのコマンドを実行したり、非同期処理するのに便利(らしい。Calendar初日に素晴らしい記事があがっていますので、そちらをご覧ください。scriptに手を出してハイになっていた頃のツイートを並べます。この楽しさが伝われば幸いです。scriptを調べながら書いているけど、期待した通りに動くと結構嬉しい。30今年もVimmerとして多くの方々に助けて頂きました。ありがとうございます。来年もみなさんが素敵なVimライフを過ごせますように。依存ツールなしにMarkdownプレビューできるprevimプラグインを作ったprevimというのを作りました。作った経緯と、本プラグインの特...2013-04-06VimTestプラグインを更新した。17日目の記事です...2012-04-03Vimプラグインが出来るまで備忘的なVimプラグイン入門。(1)はてなブログをはじめよう!kanno_kannoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。