Humanity

Edit the world by your favorite way

最近のVim関連の活動状況

送ったPull Requestやissuesは管理しきれなくなって投げたことを忘れるのでRedmineで管理することを覚えました。
なんでGitHubのPublic Activityは30件ぐらいしか遡れないんだろう…

作ったプラグイン

  • tyru/share-cmdline-history.vim
  • tyru/stoptypofile.vim
    • GitHubの1行説明:Stop making a file named like "hello.txt]" (extra character at the end!).
    • エンターを打ったつもりが隣のキー([とか)を押してしまって:w hello.txt]としてしまった際に「本当にこのファイル名で合ってる?」って聞いてくれるやつです。yを入力すると書き込みます。
    • 前から.vimrcにあった設定をプラグイン化したものです。 エンター巻き込み事故を防ぐ - Humanity
  • tyru/closesubwin.vim
    • GitHubの1行説明:Close sub window without jumping to the window (help,quickfix,unlisted buffer supported)
    • .vimrcに定義してたウインドウを閉じるマッピングプラグイン化しました。
    • タブの中のhelp, quickfix, unlistedバッファをそのウインドウに移動せず閉じ るやつです。
    • 自分は<Space>cc<Plug>(closesubwin-close-sub)を割り当ててます。
  • tyru/markdown-codehl-onthefly.vim
    • GitHubの1行説明:Realtime code highlight (```) in Markdown buffer with no configuration
    • Markdownファイルの中のcodeblock(「```ruby」から「```」までのコード)をハイライトするやつです。
    • 類似プラグインとしてjoker1007/vim-markdown-quote-syntaxが挙げられますが、これは plugin/markdown_quote_syntax.vim にfiletypeを 直書きしている(というか似たプラグインは観測した限り全てそうなってる)ので、 そこをVimにインストール済みのsyntaxファイルから探して良さげなsyntax highlightを当ててくれます。
    • bashなんかは実際はVimだとsyntax/sh.vimが適用されるので、そこだけは追加で 定義してあります。
      • GitHubのsyntax highlightの言語はLinguistを使っているようなので、 Linguistlanguages.ymlというファイルの定義を参考にしました。
      • といってもスクリプトの読み込みが遅くなるのも嫌なので流石に全部は入れてません。 自分はこの言語のハイライトもさせたいんや!という方がいたらissuesで 報告してください。
    • 基本的にデフォルトでインストールされたsyntax/markdown.vimの機能を使って 実現しているのですが、注意点があります。
      • vim-markdownの最新版をインストールし、 'runtimepath'の「先頭」に加えるようにしてください。 そうしないとこの問題が起きます。
      • なぜ先頭なのかというと、シェルでいう$PATHの順序の問題です(適当な説明)。

他にもVimプラグインのパッケージマネージャとか作りましたが、 まだ実用段階ではないです。*1

コントリビュート

あとvital.vimとか他にも色々と。 正直覚えてないです(なんでGitHubのPublic Activityは(ry)。

最近インストールしたプラグイン

ここらへん見てください。一番下の方が新しいです。*2

previmは発想も含め感動してこのエントリを書くのにも使いました。
open-browser.vimmarkdown-codehl-onthefly.vimと組み合わせて自分的には満足の行くMarkdown環境を手に入れられたかな、と思ってます。
作者のid:kanno_kannoさんにはかなり感謝しています。

*1:面白い機能を色々と思い付いて、それには根本的な再設計が必要

*2:vim-singletonとかは前から入れてるけどなんかの動作確認で再インストールしたかな