Vim
久々のブログです. 6月ぐらいにWebAssembly の仕様をざっくり読んだので,なんか WebAssembly でやりたいなと思って,Vim を WebAssembly に移植してブラウザで動くようにしてみました,という話です. github.com 多分実物を見ていただくのが一番早いので…
スプラトゥーンとても流行ってますね.タイムラインをいつ見ても最低1人はプレイしている気がします. スプラトゥーンは(主に)ステージを自チームのポップな色で塗っていく陣取り型のTPSです. 僕はスプラトゥーンを購入してませんが,とても楽しそうなの…
この記事はVim Advent Calendar 2016 その2の18日目の記事です.その1のほうにも記事を書いたのですが,こっちもまだ空いてたので埋めがてら書きます. その1のほうではかなり非実用的な記事を書いてしまったので,こっちでは比較的実用的なことを書きます.…
git-messenger.vim は,カーソル下の行のコミット情報を表示する Vim プラグインです. github.com 他所のプロジェクトのコードや OSS のコードを読んでいると,なぜこうなってるんだろう?と思うことがよくあります.コミットメッセージをまともに書いてい…
この記事は Vim Advent Calendar 269 日目の記事になります. きつねさんとおぼえる!Clang という本を読んでいて,clang 周りで色々役立ちそうなツールがあることを知ったので,その中でも C や C++ のソースコードを整形する clang-format というツールの …
この記事は Vim Advent Calendar 2015 の20日目の記事です. まずはこちらのスクリーンショットをご覧ください. エディタの UI やカーソル移動は Vim っぽいですが,markdown ライブプレビューやカーソル位置での画像ポップアップ,組み込みブラウザなど謎…
Vim にはデフォルトで Markdown のドキュメントをハイライトするためのファイルが同梱されています.基本的にはこれで満足なのですが,僕が書くのはほぼ GitHub Flavored Markdown(GFM: GitHub で使える拡張された Markdown 記法)なので,一部ハイライトさ…
この記事は以前の rhysd.hatenablog.com の続編で,WebAssembly (Wasm) にポーティングした Vim の話です. github.com TLDR Wasm にコンパイルした Vim のコードを Web Worker(ワーカスレッド)の中で動かすことで,メインスレッドで行われるユーザのイン…
この記事は C++ AdventCalendar 2013 の 10 日目の記事です. 本記事では Vim で C++ を書いている人を対象として,逆引きで Vim の機能やプラグインについて紹介していきます. すべてについて細かく書いているとキリが無いので,基本的な使い方とプラグイ…
先日 kazuho さんが git blame でプルリクを表示するスクリプトをつくってらっしゃって,便利そうだったので Vim プラグインをつくってみました. ファイルの各行がどのプルリクで変更されたかを確認し,気になるプルリクはその場で詳細を確認することもでき…
この記事はVim Advent Calendar 2012 291 日目の記事になります.徐々に気温も秋らしくなり,終わりが見えてきてますね. この記事では,Vim の f キーを拡張する clever-f.vim というプラグインを紹介します. 今まで tekkoc さんや thinca さんに紹介して…
GitHub のユーザ名やリポジトリ名,絵文字,リンクURLを GitHub API を使って補完する github-complete.vim をつくりました. https://github.com/rhysd/github-complete.vim Vim では Markdown 編集中のオムニ補完は HTML のものになっていて使わないので,…
Vim Advent Calendar 2018 の24日目の記事です.昨日は Kaoriya さんのVim に VOICEROID で喋らせたでした. もうすぐクリスマスなので,クリスマスツリーを飾りたいと思います.ただ飾るだけだと Vim のネタにならないので,Crystal や Wast,vim-gfm-sytna…
今日の勉強会の休み時間に ujihisa さんに教えてもらったので,忘れないうちにメモ. 以前,C 言語の main 関数のスニペットに main の引数 argc と argv が常に書いてあるのが気に入らなかった(引数を1度も使わないとコンパイル時に警告を食らう)ので,下…
devdocs.io 最近,GitHub Trending Repositories のページで devdocs.io という便利なサービスを知りました. devdocs.io は複数のドキュメントを素早く横断的に検索できるサービスです.多分使ってみると一瞬で分かるので詳細は省きますが,各言語や DOM,R…
Vim Advent Calendar 2017 の19日目の記事です.Vim script で ES6 の Promise を実装した話を書きます. もし Vim script が分からなくても,最後の章「Promise の実装の詳細」は Vim script とは独立した内容になっているので,Promise の実装に興味があれ…
この記事は Vim アドベントカレンダー 2012 の 19 日目の記事です. 昨日はhrsh7th さんの vim-versions についての記事 でした. たくさんプラグインを入れたり設定を書いたりしていると Vim の立ち上がりはどんどん遅くなってしまいます. 一度 Vim を立ち…
有名な Vim 使いが github で公開している vimrc を簡単にまとめてみました. 一段落ついたら参考にして自分の vimrc を見直そうと思います. Shougo さん https://github.com/Shougo/shougo-s-github/blob/master/vim/.vimrc kana さん https://github.com/…
この記事は Vim Advent Calendar 2014 の8日目の記事です.昨日に引き続き犬アイコンがお送りします.昨日は daisuzu さんの vital-smtpを作った でした. 今回は今年つくったプラグインとか,過去につくったけれど紹介していなかったプラグインを3つ紹介し…
今年も vimconf にスタッフ兼発表者として参加してきました.名札の名前が「ドッグ」でじわじわきました… 開場 当日は準備スタッフの作業のために 8:30 に会場へ.山手線の遅延に巻き込まれて 8:45 ぐらいに到着. 電源ケーブルの配線などをやりました. Vim…
あいにくの雨でしたが,Meguro.vim #16 に参加しました. 「この雨の中 Vim のもくもく会に来た者たちだ.面構えが違う」 #megurovim— ドッグ (@Linda_pp) June 15, 2019 目黒.vim は Vim に関したり関しなかったりする作業をするもくもく会で,今回は Vim …
優秀な PDF リーダーは多数あるため基本的にはそちらで読みますが,PDF からテキストをコピーしてくる場合や,ちょっと確認する程度で良い場合はわざわざ PDF リーダーを開くのは億劫ですし,無駄な作業も増えます.そこで,PDF を読むコマンドを作ってみま…
N3337 という,C++ の現行規格にもっとも近いドラフトがあり,今まで規格について調べたいときは N3337 の PDF ファイルを開いていました. しかし,いちいち開いて検索ワードを打ち込んで検索結果を1つずつ辿って…という作業が面倒だったので,unite.vim で…
この記事はVim AdventCalendar 2012の 343 日目の記事です. 昨日は cohama さんの Vim で Ruby の def end とかを自動入力する vim-endwise を vim-smartinput で実装してみた でした. そろそろ終わりが見えてきて,僕が投稿するのもこれが最後な気がしま…
2/1 から 2/2 にかけて開催された @supermomonga さん主催の momonga.vim 2.2 に参加しました. 少人数でぐだぐだ雑談しながら作業する感じの会です. clang-type-inspector.vim つくった C++11 から auto を指定することで変数宣言の型を推論させることがで…
この記事は Vim アドベントカレンダー 2016 の2日目の記事です. 先々月に ピュア Vim script な C コンパイラを公開しました. github.com この記事では 8cc.vim で用いた,ELVM を利用して 8cc という C コンパイラを Vim script にポーティング(移植)す…
endwise.vim は doに対して対応するendを補完するVimプラグインです.neocomplcacheのスニペット補完に比べてdoを押してReturnを押した次点でendが自動で補完されるので,シームレスに補完できます.Ruby,VimScript,VBあたりに対応しているようです.vim.o…
autocmd FileType cpp call MyCppMapping() function! MyCppMapping() inoremap <buffer><expr><CR> \ strpart( getline('.'), col('.')-2, 2 ) == "{}" ? \ "\<CR>\<C-o>k\<C-o>$\<CR>" : "\<CR>" inoremap <buffer>{ {}<Left> inoremap <buffer>( ()<Left> inoremap <buffer>() () inoremap <buffer><> <><Left> inoremap…</left></buffer></buffer></left></buffer></left></buffer></cr></cr></c-o></c-o></cr></cr></expr></buffer>
unite-sessionはVimプラグインUniteに標準で付いてくるUniteのソースです.Uniteのインストールなど詳しくはこちら. Shougo/unite.vim · GitHubunite-sessionは現在のVimの状態(セッション)を保存しておくことのできるUniteソースです. 試しにVimを立ち…
ソースは 404 · GitHub に置いています.インストールは他のプラグインと同様に NeoBundle 'rhysd/quickrun-unite-qf-outputter' とするのが簡単です.QuickRun と unite-qf はこちら. thinca/vim-quickrun · GitHub sgur/unite-qf · GitHubunite-qf は qui…