hnt

そういやかなり前から vim を使ってはてダを書く設定をてろてろ書いていたんだけどまだまとめてなかったことに気付いたのでまとめてみる。

まず local で管理するときに専用の拡張子があると便利というかないと死ぬと思ったので Hatena NoTation の略で hnt という拡張子を使うという my rule を設定。具体的に explorer から選択するだけで編集が可能になるのと ftdetect によって filetype を決定しやすいのが利点。

さてで vim の設定 file 群が以下。

他にはてダに限った設定ではないんだけど以下を .vimrc に書いておくと local で書いたあとはてダにコピペがしやすい。

  • if has('gui') || has('xterm_clipboard') | set clipboard=unnamed | endif
    • Windows や xterm なんかの clipboard を持ってる system で unnamed register に yank するとき同時に clipboard にも copy する。
    • unnamed register てのは単なる yy だとか visual mode で範囲を指定したあとの y だとか y の直後に iw だとか $ だとか G だとかを押すこと。
  • nnoremap <silent><Leader>y :%yank<CR>
    • 現在の buffer のすべての行を yank する。

で、実際に何か書くときは以下の流れになる。

  1. 適当な directory に拡張子 hnt の file を作る。
    • vim 上で :e foo.hnt とかで。
    • このときの filename の拡張子を除いた部分が title になるので先に title を決めないとダメだったりする。まぁ何か書くときてのは何かネタがあるときなので title にはあんまり困らない。
  2. 1 行目の '%:t:r' で expandvar 発動。
    • default だと <Leader>ev
  3. 適当に tag を打つ。
  4. だらだらと書き綴る。
  5. <Leader>y で全文 clipboard に copy 。
  6. はてダの「記事を書く」から出てくる textbox に paste ( 「詳細編集モード」 ) 。
  7. 「プレビュー」で確認 & 校正したあと「保存する」

こんな感じ。