unite-quickfix をいろいろと改良した

某所から突かれていろいろと直してました。
主に見た目的な部分を。
修正箇所は以下の通り。

  • 表示形式をなるべく標準の quickfix に近づけた
  • ハイライトの改良
  • w:quickfix_title を出力
  • yank アクションの対応(yy で候補のエラー内容をヤンク)


http://gyazo.com/f1cd6dbce4a8e1404dd6ab8b2f352c27.png


問題があれば Issues までお願いします。

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 というプラグインを作ったのですが、それに行継続の \ を削除して行結合を行う機能を実装してみました。


https://cloud.githubusercontent.com/assets/214488/3864436/f747a67c-1f5c-11e4-8918-45bfa0a2aced.gif

[プラグイン]

NeoBundle "osyo-manga/vim-jplus"

[使い方]

" 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)

[対応している filetype]


その他、挙動などを細かく設定できるようにしました。
詳しくは :help jplus-config を参照してください。
なにか問題等があれば Issues までお願いします。