タグ

ブックマーク / rhysd.hatenablog.com (18)

  • Vim を WebAssembly に移植した - はやくプログラムになりたい

    久々のブログです. 6月ぐらいにWebAssembly の仕様をざっくり読んだので,なんか WebAssembly でやりたいなと思って,VimWebAssembly に移植してブラウザで動くようにしてみました,という話です. github.com 多分実物を見ていただくのが一番早いので,下記のリンクにアクセスしてみてください. デモページはこちら(下記の注意事項を先にお読みください) 注意 デスクトップ版の Chrome か Firefox か Safari か Edge を使ってください.どうやら macOS では Safari が一番動きが良いです. デモページは全部で1MBほどのリソースを fetch します.モバイルネットワークなどからアクセスする場合はお気をつけください. keydown でキー入力を取っているので,キー入力を横取りするブラウザ拡張などが有効になっていると

    Vim を WebAssembly に移植した - はやくプログラムになりたい
  • Web Components と Electron でつくる Neovim フロントエンドの未来 - はやくプログラムになりたい

    この記事は Vim Advent Calendar 2015 の20日目の記事です. まずはこちらのスクリーンショットをご覧ください. エディタの UI やカーソル移動は Vim っぽいですが,markdown ライブプレビューやカーソル位置での画像ポップアップ,組み込みブラウザなど謎の UI が見て取れます.記事ではこれについてボトムアップで必要な知識から順を追って紹介します. 長い……三行で Neovim msgpack-rpc API を使って <canvas> と Node.js APINeovim フロントエンドを作成し Web Component としてラップ して HTML アプリに簡単に組み込めるようにした上で UI プラグインをウェブ技術で構築できる NyaoVim という Neovim GUI エディタを Electron 使ってつくってます. 目次 Web C

    Web Components と Electron でつくる Neovim フロントエンドの未来 - はやくプログラムになりたい
    hamaco
    hamaco 2015/12/21
  • 「とりあえず入門書は読んだけど…」の次に進むプルリク駆動学習 - はやくプログラムになりたい

    汎用性の高い技術ポエム Advent Calendar 2015 の3日目の投稿です. 普段はつくったものの紹介とか技術的に調べたことのメモとか勉強会参加記事を書いていて雑感とかは大体ツイッターに書いているんですが,最近どことなく頭にこびりついていることがあるので整理がてらブログに書きます. とりあえず入門書は読んだ問題 新しい言語やフレームワークを学ぶ動機は様々です. つくりたいものがあってそれをつくるための知識として,言語機能が魅力的だから,流行っているからなどなど… 僕は一番最初の理由で始めることが多いですが,どれが良いとかいう話ではなく Pros Cons があると思います. 例えば僕の場合はつくりたいものが先にあるので体系的に学ぶよりはチュートリアルなどをさっと済ませてしまって動くものに取り掛かるので知識が偏ったりします. そしてとりわけ後者2つに多いのが「とりあえず入門書は読ん

    「とりあえず入門書は読んだけど…」の次に進むプルリク駆動学習 - はやくプログラムになりたい
    hamaco
    hamaco 2015/12/09
  • vimconf でブラウザ上で Vim を使う方法を発表してきた - はやくプログラムになりたい

    今年も vimconf にスタッフ兼発表者として参加してきました.名札の名前が「ドッグ」でじわじわきました… 開場 当日は準備スタッフの作業のために 8:30 に会場へ.山手線の遅延に巻き込まれて 8:45 ぐらいに到着. 電源ケーブルの配線などをやりました. Vim on Browser vimconf での発表は今年で3回目です.最近趣味ではウェブのフロントエンド周りや Electron を触っているので,今回は便利プラグインとかの実用的な話からそれて "Vim on Browser" というタイトルで発表してきました. ブラウザ上で「物の」Vim を動かす話です. 内容は Vim.js の紹介と,自分がそれを使いやすくするためにつくった react-vimjs というコンポーネントの紹介およびデモでした. ライブコーディングとかするのは今回初めてなので2,3回ほど事前準備していて,

    vimconf でブラウザ上で Vim を使う方法を発表してきた - はやくプログラムになりたい
    hamaco
    hamaco 2015/11/27
  • Crystal 言語で CLI ツールを書いてみる - はやくプログラムになりたい

    Crystal はつくりかけの言語です.この記事は 0.8.0 を元に書きましたが,今後かなり変更されることが予想されます Crystal は Ruby に強くインスパイアされたコンパイル言語です.結構前から気になっていて,Crystal のコンパイラが Ruby で書かれていた頃(今はセルフホストしています)から見ていて最近はぼちぼちコントリビュートしたりしてます.インスパイアされているというだけで,色々 Ruby と違うところもあります(例えばいま話題の文字列は Crystal では全て immutable です) 僕は Ruby が好きなので,ちょっとしたツールや書き捨てのスクリプトは特に理由が無い場合は Ruby で書いています.それもあって Crystal でちょっとしたツールを書くのは次のような利点があります. Ruby と同じように楽に(そして雑に)書ける Ruby とは違い

    Crystal 言語で CLI ツールを書いてみる - はやくプログラムになりたい
  • GitHub のトレンドリポジトリを見逃さない,Trendy をつくりました - はやくプログラムになりたい

    僕が1日に1回ぐらいの頻度で見ているページの中の1つに GitHubTrending repositories のページがあります.このページには言語ごとに日毎・週毎・月毎の単位で GitHub 上で人気のリポジトリがランキング形式で表示されます. 話題になっているライブラリやソフトウェアの一次ソースとして便利なのですが,微妙にアクセスが悪い位置にあり,言語ごとにしか見られません.また,ランキングには常に人気な「常連」リポジトリが多々いるので,新しく話題になっているリポジトリはその中に埋もれがちになってしまいます. そこで,今回はこれらの問題を解決すべく,GitHub のトレンドクライアント Trendy を Electron ベースでつくりました. Trendy - Menubar App to Keep You in the Trend Trendy は GitHub のトレンド

    GitHub のトレンドリポジトリを見逃さない,Trendy をつくりました - はやくプログラムになりたい
  • スプラトゥーンの Vim カラースキームつくった - はやくプログラムになりたい

    スプラトゥーンとても流行ってますね.タイムラインをいつ見ても最低1人はプレイしている気がします. スプラトゥーンは(主に)ステージを自チームのポップな色で塗っていく陣取り型のTPSです. 僕はスプラトゥーンを購入してませんが,とても楽しそうなので Vim のカラースキームを実装してみました. https://github.com/rhysd/vim-color-splatoon なお,現在 gVim 専用です(256bit カラーの指定が面倒なため) スプラトゥーンで使われている「色」を調べる ソフトと Wii U 体が無いため,ひたすらウェブページを検索してカラーピッカーで色を取るという地道な作業をやりました. 色(R, G, B) 説明 [255, 140, 39] オレンジ [255, 100, 0] オレンジ2 [253, 100, 149] 薄いピンク [253, 42, 14

    スプラトゥーンの Vim カラースキームつくった - はやくプログラムになりたい
    hamaco
    hamaco 2015/08/07
  • Electron と Polymer と TypeScript でリッチなマークダウンプレビュアー Shiba つくった - はやくプログラムになりたい

    結構前ですが,mattn さんが小さい markdown ライブプレビューアプリ mkup をつくっていて,そういえば僕も合う markdown ライブプレビューアプリが無いなぁと思っていたのを思い出したので,オレオレ markdown プレビューアプリ Shiba をつくってみました.今このブログエントリもこれでプレビューしながら書いてます. https://github.com/rhysd/Shiba 僕のマークダウンプレビューに対する要求は以下のような感じです.mattn さんのそれに近いです. ドキュメント自体は慣れたエディタで書きたい ブラウザのタブよりは独立した1つのアプリとして動いてほしい GFM で書きたい(コードブロックをハイライトしてほしいし,絵文字記法も反映してほしい OS X,LinuxWindows のすべてで markdown を書く機会があるのでクロスプラッ

    Electron と Polymer と TypeScript でリッチなマークダウンプレビュアー Shiba つくった - はやくプログラムになりたい
    hamaco
    hamaco 2015/08/04
  • 犬製 Vim プラグイン紹介3本立て - はやくプログラムになりたい

    この記事は Vim Advent Calendar 2014 の8日目の記事です.昨日に引き続き犬アイコンがお送りします.昨日は daisuzu さんの vital-smtpを作った でした. 今回は今年つくったプラグインとか,過去につくったけれど紹介していなかったプラグインを3つ紹介します. vim-operator-surround : 指定したテキストオブジェクトを特定の囲み(surrounding)で囲むという処理を行うオペレータプラグイン committia.vim : git commit したときに開くコミットバッファをリッチにするプラグイン vim-grammarous : 自然言語の文法チェックプラグイン それぞれのプラグイン紹介は独立しているので,気になるものだけでもチェックしてもらえればと思います. また,インストール方法については,他のプラグインと同じなので割愛して

    犬製 Vim プラグイン紹介3本立て - はやくプログラムになりたい
    hamaco
    hamaco 2014/12/09
  • VimConf 2014 に参加(&発表)してきた - はやくプログラムになりたい

    VimConf 2014 に参加してきた.忘れないうちに各発表の感想書いとこうと思う. 発表スライドはこちらに随時まとめられていくらしい. Identity of the Vim (@kaoriyaさん) 香り屋さんの基調講演的なポジションのエモい発表だった. Vim を発展させていく動きには Vim らしいところ(行指向の編集とか)を伸ばしていく方向と Vim らしくないところ(グラフィカルなプラグインとか)を開拓していく動きがあって,その通りだなぁと思いながら聴いていた.(どことなく遺伝的アルゴリズム的だなぁと思った).Vim は Bram の独裁制で,Bram が編集に必要な機能以外を取り込もうとしないので,前者は Vim 体を発展させているけれど,後者はプラグインで頑張っているという感じかなぁと思った.僕的には Vim らしさというとモーダルな操作体系とかテキストオブジェクトとオ

    VimConf 2014 に参加(&発表)してきた - はやくプログラムになりたい
  • momonga.vim #5 でコミットバッファ編集プラグイン committia.vim を完成させた - はやくプログラムになりたい

    先週の土曜日に武蔵野プレイスで開催された Vim 関連のもくもく会イベント,momonga.vim #5 に参加してきました. 明日が momonga.vim #6 なのでギリギリ間に合ったと思います. コミットバッファ用プラグイン committia.vim つくった 今回は,以前 TokyoVim でプロトタイプを作成していた committia.vim (自主制作漫画誌展示即売会とは関係ないです)をとりあえず使えるところまで持っていきました. rhysd/committia.vim - Github committia.vim はコミットバッファを編集するためのプラグインです.普段 git commit などするとコミットのためのバッファが出ると思いますが,committia.vim をインストールしているとそのバッファが複数ウィンドウのリッチなものになります. 横幅が十分にあるウィ

    momonga.vim #5 でコミットバッファ編集プラグイン committia.vim を完成させた - はやくプログラムになりたい
  • yokohama.vim #5 でした - はやくプログラムになりたい

    4/6 に @gu4 さん 主催の yokohama.vim #5 に参加してきた. 何も考えず速攻で登録して身内感を出してしまったので人集まるかなぁと思っていたけれど,thinca さんの呼びかけにより参加者が増えてほっとした.thinca さんの人望(もとい魚望?)さすがでした. @srockstyle さんの発表 → thinca さんのライブコーディング → グループごとのハンズオンという流れだった. Vim で捗る Ruby 開発(by srockstyle さん) http://www.slideshare.net/srockstyle/ruby-on-vimyokohamavimRails などの Ruby 開発で Vim こう使ってるよー」という発表だった.僕も一時期 Rails を使っていたときに unite-rails.vim にお世話になった.あと,TweetVi

    yokohama.vim #5 でした - はやくプログラムになりたい
  • (進捗あります!✧\\٩(‘ω’)و //✧)o 。('、3)_ヽ)_ - はやくプログラムになりたい

    この記事は 進捗 Advent Calendar の 13 日目の記事となります. 年も暮れて1年の振り返りをする時期になってきたので,今年を振り返るのも兼ねて参加してみました. 進捗どうですか? → Vim 今年は Vim のプラグインをたくさん書いた気がします.ざっと数えてみると20ほどでした.色々なもくもく会に出向いて Vimmer な人々と作業したり,VimConf 2013 に参加して発表したりもしました. C++ は主に仕事で使っていたので,あまり表に出せる進捗は無かったですが,定数式文字列ライブラリ(Sprout.String の劣化版みたいなの)とか,型文字列,テンプレートパラメータパックを zipper で扱うライブラリ的なのを書きました.あと,clang-format の LT をした気もします. Ruby は…(乂'ω')スッ 主に会社でしょうもない作業を自動化するツ

    (進捗あります!✧\\٩(‘ω’)و //✧)o 。('、3)_ヽ)_ - はやくプログラムになりたい
    hamaco
    hamaco 2013/12/17
  • VimConf 2013 で発表してきた - はやくプログラムになりたい

    クックパッドで開催された Vim Conference 2013 に参加してきた. 発表 How to suggest new features for Vim (香り屋さん) いかにして取り込まれやすいパッチを書くかという話だった.基的に Vim の方針(Vim is a text editor)に反するものは取り込まれなくて,自分が提案している機能がいかにテキスト編集に関連して役立つかをしっかり戦略立ててやるのが大切という話だった.この話はパッチだけでなく,普段の仕事とかにも当てはまると思った.あと,香り屋さんの話しぶりが熱くてよかった. Evil is Justice(esehara さん) Emacs の操作体系を Vim 化する Emacs プラグイン,Evil の発表だった.EvilVim 再現度はいつ見てもすごい.Evil の開発者の情熱が感じられる気がした. vit

    VimConf 2013 で発表してきた - はやくプログラムになりたい
  • Momonga.vim #2 に行ってきた - はやくプログラムになりたい

    書き留め 昼 thinca さん達とべる予定をしていたのに遅延してきた特別快速を1つ前に来る快速と勘違いして乗ってしまいあえなく遅刻,1人でべることに… 編 武蔵野プレイス.普通に公民館みたいなところを想像していたら,1F にカフェとかあってなかなかオシャレなところだった. 参加率100%超えでなかなか人が多い中,普段通り黙々と作業.隣が Shougo さんだったので,unite.vim の -auto-preview について話したり,vim-operator-surround について話したりした. vim-operator-surround は vim-surround との対応表があると良いというアドバイスもらったので近々書く. プロジェクタを持ってきてくれた方がいて,大勢で話し合うにはなかなか便利で良かった. 予想外に人間が多かった. 2次会・2.5次会 温野菜で野菜しゃ

    Momonga.vim #2 に行ってきた - はやくプログラムになりたい
  • clever-f.vim でカーソルの横移動を便利にする - はやくプログラムになりたい

    この記事はVim Advent Calendar 2012 291 日目の記事になります.徐々に気温も秋らしくなり,終わりが見えてきてますね. この記事では,Vim の f キーを拡張する clever-f.vim というプラグインを紹介します. 今まで tekkoc さんや thinca さんに紹介していただいたのですが,自分で紹介していなかったのと,色々と機能追加をしたので今回最新の内容で紹介することにしました. clever-f.vimでf連打が便利すぎる件 - tekkoc'blog clever-f.vim を魔改造した話 - 永遠に未完成 Vim の f{char},使ってますか? Vim での横移動は何を使っているでしょうか?h や l での1文字ずつの移動や w や b での単語単位での移動など色々ありますが,個人的におすすめなのが f と F です. Vim の f{ch

  • 一時ウィンドウを手軽に出し入れできる tmpwin.vim を作った - はやくプログラムになりたい

    この記事は Vim アドベントカレンダー 183 日目の記事です. 早いもので,始まってからもう半年になりますね. ちなみに昨日の記事は manga-osyo さんの Vim Advent Calendar 2012 中間発表 でした. 記事では,一時ウィンドウを簡単に開いたり閉じたりできるプラグイン tmpwin.vim を紹介します. 普段から QuickRun でコードをコンパイルしている時間などを利用して TweetVim でツイッターのタイムラインを覗いたりしているのですが, TweetVim のウィンドウを開いたり閉じたりするのが億劫になってきたので,そのあたりを良い感じに管理してくれるプラグインが欲しくなりました. そこで,ちょっとしたウィンドウをマッピングでさっと開いて同じマッピングでさっと閉じられるプラグインを作りました. インストールは他のプラグインなどと同様に ne

    一時ウィンドウを手軽に出し入れできる tmpwin.vim を作った - はやくプログラムになりたい
    hamaco
    hamaco 2013/06/13
  • 「立て!立つんだビムー!」 - はやくプログラムになりたい

    この記事は Vim アドベントカレンダー 2012 の 19 日目の記事です. 昨日はhrsh7th さんの vim-versions についての記事 でした. たくさんプラグインを入れたり設定を書いたりしていると Vim の立ち上がりはどんどん遅くなってしまいます. 一度 Vim を立ち上げたらそのあと閉じることが無いスタイルの人はそれほど気にならないかもしれませんが, シェルからターミナル内で Vim を開いたり閉じたりするスタイルの人にとっては起動速度はとても大事です. 今年のアドベントカレンダーでは,素敵なプラグインを入れて Vim の機能を強化する記事がたくさん紹介されているので, ここではそういった便利さをなるべく維持しつつ,起動時間を抑える方法を紹介します. (1/3 追記) neobundle.vim がバージョン 3 になり,ファイルタイプ・コマンド・関数名・マッピングの

    「立て!立つんだビムー!」 - はやくプログラムになりたい
    hamaco
    hamaco 2012/12/19
    これは年末のvimrc大掃除の時にやっておきたい。
  • 1