Neovimターミナルバッファには常にジョブIDが関連付けられているため、1つの方法は、ジョブ制御APIを使用してテキストを送信することです。これをvimrcに追加します。
augroup Terminal
au!
au TermOpen * let g:last_terminal_job_id = b:terminal_job_id
augroup END
これにより、最後に作成された端末のジョブIDがg:last_terminal_job_id変数に保存されます。次に、jobsend関数を使用してデータを送信する関数/コマンド/マッピングを作成できます。以下に例を示します。
function! REPLSend(lines)
call jobsend(g:last_terminal_job_id, add(a:lines, ''))
endfunction
command! REPLSendLine call REPLSend([getline('.')])
nnoremap <silent> <f6> :REPLSendLine<cr>
上記は現在の行を送信しますが、視覚的な選択を送信するためにそれを拡張できます。
p、ターミナルバッファで使用してもターミナルモードに入らないので、以下<C-\><C-N>は必要ないはずです。(それは言った、それはまた完全に無害です。)