ぽっかめろん

ゲームとかプログラミングとか

quickrunを使ってmarkdown形式のファイルをHTMLで出力する

割とmarkdown使ってHTMLファイル作成する機会が増えたのでマッピングしようと思ったらしばらくかかったので備忘録。

マッピングしよう

autocmd Filetype markdown nnoremap <Space>qf :QuickRun >file -mode=n<CR>

……
名前指定どうするんだろう?

ヘルプファイル

オプションは名前と値の組で、
-オプション名 値
で指定します。

マッピングしてみる

autocmd Filetype markdown nnoremap <Space>qf :QuickRun >file -mode=n -name=<CR>

……
ファイル名どうやって指定するんだろう?

テクニックバイブル

Vimエディタのコマンドラインで%を指定すると、コマンド実行時に%が可憐とファイルのパスに置き換わります。この機能と、ファイル名修飾子と呼ばれる機能を利用すると、編集中のファイルのファイルパスから、拡張子抜きのファイル名や、ファイルのフルパス、拡張子、などの情報を抜き出せます。

マッピングリトライ

autocmd Filetype markdown nnoremap <Space>qf :QuickRun >file -mode=n -name=%:p:t:r<CR>
quickrun: outputter/file: Specify the file.

✌('ω')。o(????????????)

ヘルプを探す

コマンドラインオプションにモジュール名を指定する際に、オプションの値を指定する
ことができます。オプションはモジュール名の後に任意の記号を続け、その記号でオプ
ションを区切ります。各オプションは name=value の形式で指定します。

リトライ

autocmd Filetype markdown nnoremap <Space>qf :QuickRun >file:name=%:p:t:r -mode=n<CR>
Output to "p" (6502 bytes)

oh......

<expr>で展開すればよくね!?

autocmd Filetype markdown nnoremap <expr> <Space>qf ":QuickRun >file:" . expand('%:p:t:r') . '.html -mode=n<CR>'

成功!ただ見た目がかっこわるい……

これを書いているとthinca氏からリプライが

うまく行きました。さすがvimmerは格が違った

結論

autocmd Filetype markdown nnoremap <Space>qf  :QuickRun >file!%{expand('%:p:t:r')}.html -mode=n<CR>

ところで

この環境を整えてやろうと思ってたことが全然進んでないことは気にしない

Lionでhomebrewを使ってfontforgeをインストール

二回ぐらい詰まったのでメモ代わりに。

homebrewのインストール

https://github.com/mxcl/homebrew/wiki/installation
ここのスクリプトをおもむろにターミナルに貼付ける。

が、こけた。

解決策

Command Line Tools for Xcode をインストールする。
Mac Dev Centerに行って落としてくる。

Xcodeインストールしたときについてくると思ってたけどそんなことはなかった。

fontforgeのインストール

無事homebrewのインストールが済んで、フォントを揃えようと思ってfontforgeをインストールすることに。

$ brew install fontforge

が、こけた。

原因

長々とエラーメッセージが出るが、原因は

giomime.c:68:10: fatal error: '/Developer/Headers/FlatCarbon/Files.h' file not found
#include </Developer/Headers/FlatCarbon/Files.h>
         ^
1 error generated.
make[1]: *** [giomime.lo] Error 1

/Developerが存在しないことが原因。前はXcodeインストールすると/Developer以下にいろいろ突っ込んでたから決め打ちしてたんだと思う。

解決策

App StoreからインストールしたXcodeのDeveloperフォルダはXcode.appの中にあるそうなので、

$ sudo ln -s /Applications/Xcode.app/Contents/Developer /Developer

再び、brew install fontforgeでうまくいった。




それにしてもhomebrewは変に依存関係複雑にしてこなくていいですねー。
MacPortsの謎のコンパイル時間をスルーできて満足。