vimconsole.vim を使ってみた。
と、いうことで rbtnn さんの作成したプラグインなのですがいくつか希望した機能が実装されたので手元で使いやすく設定してみました。
function! s:capture(cmd) redir => result silent execute a:cmd redir END return result endfunction " 元のコマンドだとちょっと長かったのでラップして短縮 command! -nargs=1 -complete=expression Clog call Clog(<q-args>) | VimConsoleOpen " : から始まればコマンドとして、! から始まれば外部コマンドの結果を出力 function! Clog(expr) if a:expr[0] ==# ':' call vimconsole#log(s:capture(a:expr)) elseif a:expr[0] ==# '!' call vimconsole#log(system(a:expr[1:])) else call vimconsole#log(a:expr) endif endfunction " ハイライトの prefix を無効 let g:vimconsole#plain_mode=1 " ウィンドウの高さを設定 let g:vimconsole#height=10
こんな感じ。
:VimConsoleLog に
:Clog :mes
や
:Clog !ls
みたいにコマンドや外部コマンドを渡したかったのでごにょごにょとラップしています。
しばらくは一時的な出力バッファとして使ってみようと思っています。