読者です 読者をやめる 読者になる 読者になる

wicked_pdf が Command Error になる!

ローカル開発で突然PDF生成が死ぬようになった。

エラーはこんな感じ

RuntimeError - Error: Failed to execute:
["/workspace/some_project/bundle_bin/wkhtmltopdf", "-q", "--margin-top", "0", "--margin-bottom", "0", "--margin-left", "0", "--margin-right", "0", "--orientation", "Landscape", "--page-size", "A4", "--encoding", "UTF-8", "file:///var/folders/5h/p0f_pxw97918jynmfl8173b00000gn/T/wicked_pdf20161214-48242-1bmflyf.html", "/var/folders/5h/p0f_pxw97918jynmfl8173b00000gn/T/wicked_pdf_generated_file20161214-48242-hvzylv.pdf"]
Error: PDF could not be generated!
 Command Error: :
  wicked_pdf (0.11.0) lib/wicked_pdf.rb:96:in `rescue in pdf_from_string'
  wicked_pdf (0.11.0) lib/wicked_pdf.rb:99:in `pdf_from_string'
  wicked_pdf (0.11.0) lib/wicked_pdf/pdf_helper.rb:64:in `make_pdf'
  wicked_pdf (0.11.0) lib/wicked_pdf/pdf_helper.rb:32:in `render_to_string_with_wicked_pdf'
  • 直接 vendor/bundle/gems/wkhtmltopdf-binary/binwkhtmltopdf_darwin_386 を叩いてみると Segmentation fault が発生する。

  • 元々 ruby 2.3.1 で動かしていたところを、ruby 2.3.3 で試しているからかな?

    • rbenv global 2.3.1 & bundle install でやりなおしてもだめ
  • bundle update wkhtmltopdf-binary やったら直った。

    • 0.9.9.3 -> 0.12.3.1
    • なぜいままで動いていたのか。

zsh-syntax-highlighting が効かなくなった?と思ったら zplug のバージョンアップで設定方法が少し変わっていた

zsh プラギンの棚卸しをしていて、
「なんかコマンドのハイライト効かなくなってない?」と感じて調べてみると、

最近の zplug の更新で nicedeprecated になって defer になったので、
そのまま置換してみたけど動かない。 どうも zplug のドキュメントによると、0..3 の中で決めるとのこと。元々nice: 10 だったので、数値も変える必要があったらしい。

よく数値の違いはわからんが zplug のドキュメントにならって 2 にしたら直った。

neovim 設定周り続き

  • denite.nvim

    • 複数選択できないので一旦諦めていたが、複数選択を可能にするPRが出ていたので、ブランチを指定してテスト開始
    • 複数選択がノーマルモードしかできないのが今までと違って違和感
    • 細かいキーマッピングを unite.vim での設定に合わせてみた
      • Up, Down で行移動
      • 選択した後に tabvsplit な挙動
    • matcher_cpsm でスペース区切りができない
      • cpsm 側の設定 let g:cpsm_query_inverting_delimiter = ' ' を指定してみてもだめぽい
        • これ地味に痛い。
  • あれ、Ctrl+h 効かなくない?

infocmp $TERM | sed 's/kbs=^[hH]/kbs=\\177/' > $TERM.ti
tic $TERM.ti

NeoVim いれてみた

NeoVim

これで neovim自体は普通に動く。 起動もVimより速い気がする。

プラギン

一番大事と言っても過言ではないプラギン2つは、neovim 用に既に別物が開発されているのでそちらを試す。

unite.vim -> denite.nvim
neocomplete.vim -> deoplete.nvim

で移行可能にはなってるけどキーバインドがっつり変わっている箇所あり。

  • denite.nvim の設定を unite.vim の使用感に合わせていった
    • denite.nvim で cpsm による高速フィルタのために cpsm をインストールして、runtimepath を通したりする必要があった。
    • が、複数選択が現状まだ開発されていないので、一旦ここまで
    • 速度感は非常にサクサク

その他

vimrc は基本そのまま移行できる nvim が使えない設定部分は if !has('nvim') endif でくくる (nvim 専用の設定部分は ! をはずして)

GitHub に追加された Reviewer とは。

今までの assignees じゃダメなんですか?