Vim

GitHub Action で Vim や Neovim を簡単にインストールできる action-setup-vim をつくった

今週ちまちまと git-messenger.vim や clever-f.vim の CI を GitHub Actions に移行していました.毎回 Vim プラグインの CI のために Vim や Neovim のセットアップを書くのが面倒なのと,Windows 上で Vim や Neovim を入れるのが(Powershell に不慣れな…

目黒.vim #16 に参加して Vim script に const を実装するパッチを書いた

Vim

あいにくの雨でしたが,Meguro.vim #16 に参加しました. 「この雨の中 Vim のもくもく会に来た者たちだ.面構えが違う」 #megurovim— ドッグ (@Linda_pp) June 15, 2019 目黒.vim は Vim に関したり関しなかったりする作業をするもくもく会で,今回は Vim …

Vim on Wasm on Web Worker on Browser with Atomics

この記事は以前の rhysd.hatenablog.com の続編で,WebAssembly (Wasm) にポーティングした Vim の話です. github.com TLDR Wasm にコンパイルした Vim のコードを Web Worker(ワーカスレッド)の中で動かすことで,メインスレッドで行われるユーザのイン…

Neovim のフロートウィンドウ機能を使って git-messenger.vim をつくりなおした

git-messenger.vim は,カーソル下の行のコミット情報を表示する Vim プラグインです. github.com 他所のプロジェクトのコードや OSS のコードを読んでいると,なぜこうなってるんだろう?と思うことがよくあります.コミットメッセージをまともに書いてい…

Vim の構文ハイライトでクリスマスツリー🎄を飾ってメリクリする

Vim

Vim Advent Calendar 2018 の24日目の記事です.昨日は Kaoriya さんのVim に VOICEROID で喋らせたでした. もうすぐクリスマスなので,クリスマスツリーを飾りたいと思います.ただ飾るだけだと Vim のネタにならないので,Crystal や Wast,vim-gfm-sytna…

Vim に WebAssembly のテキストフォーマットのサポートを入れた

Vim に WebAssembly のテキストフォーマット (wast) の対応を入れ,同時に filetype=wast で使われるファイルのメンテナになりました. Wasm のテキストフォーマットとは WebAssembly にはバイナリ形式とテキスト形式の2つのフォーマットがあります.Wasm は…

Vim を WebAssembly に移植した

久々のブログです. 6月ぐらいにWebAssembly の仕様をざっくり読んだので,なんか WebAssembly でやりたいなと思って,Vim を WebAssembly に移植してブラウザで動くようにしてみました,という話です. github.com 多分実物を見ていただくのが一番早いので…

GitHub のプルリクで blame する ghpr-blame.vim つくった

先日 kazuho さんが git blame でプルリクを表示するスクリプトをつくってらっしゃって,便利そうだったので Vim プラグインをつくってみました. ファイルの各行がどのプルリクで変更されたかを確認し,気になるプルリクはその場で詳細を確認することもでき…

Vim script で ES6 Promise 実装した

Vim Advent Calendar 2017 の19日目の記事です.Vim script で ES6 の Promise を実装した話を書きます. もし Vim script が分からなくても,最後の章「Promise の実装の詳細」は Vim script とは独立した内容になっているので,Promise の実装に興味があれ…

Vim 進捗旅行

Vim

木曜日午後〜日曜日午前中の4日間,Vim コミュニティつながりの知人と旅館に泊まり込んでもくもく作業する合宿的な旅行に行ってきました. 当日の様子や旅館の便利情報についてはすでにブログ記事にまとめられているのでそちらを読んでいただいて,この記事…

フルスクラッチからさいきょうの Vim カラースキームをつくろう!

この記事はVim Advent Calendar 2016 その2の18日目の記事です.その1のほうにも記事を書いたのですが,こっちもまだ空いてたので埋めがてら書きます. その1のほうではかなり非実用的な記事を書いてしまったので,こっちでは比較的実用的なことを書きます.…

ELVM で C コンパイラをポーティングしてみよう(Vim script 編)

Vim C

この記事は Vim アドベントカレンダー 2016 の2日目の記事です. 先々月に ピュア Vim script な C コンパイラを公開しました. github.com この記事では 8cc.vim で用いた,ELVM を利用して 8cc という C コンパイラを Vim script にポーティング(移植)す…

GitHub Flavored Markdown をもっと Vim でハイライトする vim-gfm-syntax つくった

Vim にはデフォルトで Markdown のドキュメントをハイライトするためのファイルが同梱されています.基本的にはこれで満足なのですが,僕が書くのはほぼ GitHub Flavored Markdown(GFM: GitHub で使える拡張された Markdown 記法)なので,一部ハイライトさ…

『SD別冊 Vim&Emacs』と『SoftwareDesign 5月号』に寄稿しました

SD別冊 Vim&Emacs と SoftwareDesign 5月号の Vim 特集にそれぞれ寄稿させていただきました. SD別冊 Vim&Emacsエキスパート活用術 http://gihyo.jp/book/2016/978-4-7741-8007-6 www.amazon.co.jp Software Design の Vim 特集と Emacs 特集を集めて1冊の…

Web Components と Electron でつくる Neovim フロントエンドの未来

この記事は Vim Advent Calendar 2015 の20日目の記事です. まずはこちらのスクリーンショットをご覧ください. エディタの UI やカーソル移動は Vim っぽいですが,markdown ライブプレビューやカーソル位置での画像ポップアップ,組み込みブラウザなど謎…

vimconf でブラウザ上で Vim を使う方法を発表してきた

今年も vimconf にスタッフ兼発表者として参加してきました.名札の名前が「ドッグ」でじわじわきました… 開場 当日は準備スタッフの作業のために 8:30 に会場へ.山手線の遅延に巻き込まれて 8:45 ぐらいに到着. 電源ケーブルの配線などをやりました. Vim…

devdocs.io が便利すぎたので Vim プラグインつくった

devdocs.io 最近,GitHub Trending Repositories のページで devdocs.io という便利なサービスを知りました. devdocs.io は複数のドキュメントを素早く横断的に検索できるサービスです.多分使ってみると一瞬で分かるので詳細は省きますが,各言語や DOM,R…

GitHub のアレコレを補完する github-complete.vim をつくりました

GitHub のユーザ名やリポジトリ名,絵文字,リンクURLを GitHub API を使って補完する github-complete.vim をつくりました. https://github.com/rhysd/github-complete.vim Vim では Markdown 編集中のオムニ補完は HTML のものになっていて使わないので,…

スプラトゥーンの Vim カラースキームつくった

スプラトゥーンとても流行ってますね.タイムラインをいつ見ても最低1人はプレイしている気がします. スプラトゥーンは(主に)ステージを自チームのポップな色で塗っていく陣取り型のTPSです. 僕はスプラトゥーンを購入してませんが,とても楽しそうなの…

インストールせずにカラースキームを試せる try-colorscheme.vim をつくりました

Vim

問題 Vim でカラースキームを試すときは主に以下の様な作業が必要になります. プラグインマネージャなどでカラースキームをインストールする カラースキームの名前を確認する :colorscheme コマンドでカラースキームを指定する コレジャナカッタ場合はカラ…

Vim ではじめる Rust 1.0

Rust は 1.0.0beta が4月の頭にリリースされ,現在 1.0.0beta5 で 5/15 に 1.0.0 正式版がリリース予定です. リリース間近であるのと,C++ をやっていた人はとっつきやすいとかデザインが良いというウワサを聞いて少し試してみていて,Vim の環境も少し整え…

Software Design で「犬でも分かる!? Vim 導入&カスタマイズの超基本」という記事を書きました

Vim

発売は少し先ですが,12月18日発売予定の Software Design 2015年1月号で「犬でも分かる!? Vim 導入&カスタマイズの超基本」という記事を書きました. Software Design 2015年1月号 Software Design (ソフトウェア デザイン) 2015年 01月号 [雑誌]出版社/メ…

犬製 Vim プラグイン紹介3本立て

Vim

この記事は Vim Advent Calendar 2014 の8日目の記事です.昨日に引き続き犬アイコンがお送りします.昨日は daisuzu さんの vital-smtpを作った でした. 今回は今年つくったプラグインとか,過去につくったけれど紹介していなかったプラグインを3つ紹介し…

VimConf 2014 に参加(&発表)してきた

Vim

VimConf 2014 に参加してきた.忘れないうちに各発表の感想書いとこうと思う. 発表スライドはこちらに随時まとめられていくらしい. Identity of the Vim (@kaoriyaさん) 香り屋さんの基調講演的なポジションのエモい発表だった. Vim を発展させていく動き…

NeoVim の job control API メモ

次世代の Vim をコミュニティベースで開発していくプロジェクトとして発足した NeoVim について,あまりキャッチアップできていなかったので少し試してみたメモ. インストール make deps で依存しているライブラリのビルド cmake でビルド用 Makefile 生成 …

clever-f.vim 1.4 をリリースしました.

Vim

clever-f.vim は Vim の 1文字検索カーソル移動 f, F, t, T を拡張するプラグインです.Vim では f, F, t, T に加え,繰り返しのために , や ; も必要で,<Leader> などで潰されがちでしたが,clever-f.vim では f などが状態を持つことで , や ; を不要にし,Vim の</leader>…

momonga.vim #5 でコミットバッファ編集プラグイン committia.vim を完成させた

Vim

先週の土曜日に武蔵野プレイスで開催された Vim 関連のもくもく会イベント,momonga.vim #5 に参加してきました. 明日が momonga.vim #6 なのでギリギリ間に合ったと思います. コミットバッファ用プラグイン committia.vim つくった 今回は,以前 TokyoVim…

vim-go-impl つくった

impl という Go のコマンドラインツールがあります. レシーバとそのレシーバが実装するインターフェースを引数に渡すと,実装しないといけない関数のひな形を自動生成してくれます. 便利そうだったので,とりあえず Vim から使う用に vim-go-impl というプ…

yokohama.vim #5 でした

Vim

4/6 に @gu4 さん 主催の yokohama.vim #5 に参加してきた. 何も考えず速攻で登録して身内感を出してしまったので人集まるかなぁと思っていたけれど,thinca さんの呼びかけにより参加者が増えてほっとした.thinca さんの人望(もとい魚望?)さすがでした…

'auto' 宣言の型を調べるプラグイン作った powered by momonga.vim #2.2

2/1 から 2/2 にかけて開催された @supermomonga さん主催の momonga.vim 2.2 に参加しました. 少人数でぐだぐだ雑談しながら作業する感じの会です. clang-type-inspector.vim つくった C++11 から auto を指定することで変数宣言の型を推論させることがで…