如何在 neovim 中滚动终端模拟器?

How to scroll the terminal emulator in neovim?

With :vsplit | te <command> I 运行 neovim 终端模拟器中的一个命令在垂直分割中。但是我怎样才能滚动它的输出呢?当我按下一个键时,拆分 window 再次关闭。

为了便于说明,让我们使用命令 :vsplit | te ls -lah /usr/lib/,它在拆分 window 中产生一个长输出。我现在如何在这个拆分 window 中向上滚动以查看更多输出?我发现当你使用set mouse=a时可以使用鼠标滚轮,但我不喜欢使用鼠标。

根据 Neovim documentation:

Terminal-mode has its own |:tnoremap| namespace for mappings, this can be used to automate any terminal interaction.

因此,您可以映射任何您想要的键或组合。

此外,您可以使用 PgUpPgDown 滚动终端 window。在全键盘上这些键应该可用,在笔记本电脑上通常可以通过 fnfn.

更新:

关于终端模式的一些附加配置选项。

if has("nvim")
  " Make escape work in the Neovim terminal.
  tnoremap <Esc> <C-\><C-n>

  " Make navigation into and out of Neovim terminal splits nicer.
  tnoremap <C-h> <C-\><C-N><C-w>h
  tnoremap <C-j> <C-\><C-N><C-w>j
  tnoremap <C-k> <C-\><C-N><C-w>k
  tnoremap <C-l> <C-\><C-N><C-w>l

  " I like relative numbering when in normal mode.
  autocmd TermOpen * setlocal conceallevel=0 colorcolumn=0 relativenumber

  " Prefer Neovim terminal insert mode to normal mode.
  autocmd BufEnter term://* startinsert
endif