neosnippet.vim でヤンクした HTML を Slim で展開する
これの Slim 版。
[vimrc]
" Html2Slim({slim}) " => {html} function! Html2Slim(html) if !executable("html2slim") return "" endif let input = tempname() call writefile(split(a:html, "\n"), input) let output = tempname() call system(printf("html2slim %s %s", input, output) return join(readfile(output), "\n") endfunction
[slim.snip]
snippet html2slim options word `Html2Slim(getreg(v:register))`
Vim script で html2slim のラッパー
さて、html ファイルから slim ファイルへ変換したい場合、gem の html2slim が利用できます。
$ gem install html2slim $ html2slim input.html output.slim
こんな感じで変換元の html ファイルと変換後の slim ファイルを指定します。
[Vim script でテキストを直接変換させる]
Vim script で扱う場合、ファイルを指定する方式だとちょっと使いづらいので、簡単なラッパーを書いてみた。
" Html2Slim({slim}) " => {html} function! Html2Slim(html) if !executable("html2slim") return "" endif let input = tempname() call writefile(split(a:html, "\n"), input) let output = tempname() call system(printf("html2slim %s %s", input, output) return join(readfile(output), "\n") endfunction
これで生テキストを扱いやすくなった。
Vimプラグイン読書会で neosnippet.vim のスニペット読んでます
絶賛リアルタイムで進行中。
気になる方は Lingr の Vim 部屋まで。
watchdogs.vim に flake8 を追加した
watchdogs.vim に flake8 の設定を追加しました。
デフォルトでは pyflakes の方を優先して使用するようになっているので、pyflakes と flake8 の両方を入れている方は次のように設定してしている必要があります。
" filetype=python 時に使用するチェッカーを flake8 にする let g:quickrun_config = { \ "python/watchdogs_checker" : { \ "type" : "watchdogs_checker/flake8", \ } \}
任意の unite-source が使えるかどうかを判定する
みたいなのが某 issues に飛んできたので簡単に調べてみた。
とりあえず、以下のようには判定できるぽい感じ。
let name = "file" echo index(keys(unite#variables#all_sources()), name) != -1
ソースコードから直接拾ってきただけなので他にそれっぽい関数があるかも知れない。
Vim で行継続の \ を削除して行結合を行う
以前、任意の区切り文字を入力して行結合を行う jplus.vim というプラグインを作ったのですが、それに行継続の \ を削除して行結合を行う機能を実装してみました。
[使い方]
" J の挙動を jplus.vim で行う " 行結合時に \ を削除する nmap J <Plug>(jplus) vmap J <Plug>(jplus) " getchar() を使用して挿入文字を入力します nmap <Leader>J <Plug>(jplus-getchar) vmap <Leader>J <Plug>(jplus-getchar) " <Plug>(jplus-getchar) 時に左右に空白文字を入れたい場合の設定 " %d は入力した結合文字に置き換えられる let g:jplus#config = { \ "_" : { \ "delimiter_format" : ' %d ' \ } \} " input() を使用したい場合はこちらを使用して下さい " nmap <Leader>J <Plug>(jplus-input) " vmap <Leader>J <Plug>(jplus-input)