Humanity

Edit the world by your favorite way

Vim で端末ウィンドウを複製する

Vim で端末ウィンドウを使ってるとスクロールされた出力を見たくなる時があると思います。 ただシェルでコマンド実行中なので、 <C-w>N すると出力も止まってしまう。なるべくなら出力を止めたくないと思います(たぶん)。

そういう時は以下を vimrc に貼り付ければ <C-w>y で端末ウィンドウの複製バッファができます。色とかもそのまま。

追記 (9/25) すみません、以下のコードだとやっぱりスクロールされた出力は見れませんでした…直すのでお待ちください…というか誰か直してください…

tnoremap <C-w>y <C-w>:<C-u>call <SID>dup_term_buf()<CR>

function! s:dup_term_buf() abort
  let file = tempname()
  call term_dumpwrite('', file)
  call term_dumpload(file)
  setlocal nolist
  call delete(file)
endfunction

追記