当我使用 4 个文件时,所有文件都在选项卡(VIM)中打开。我想保存更改并编译它而不必关闭选项卡,即我想在新选项卡中打开一个终端以及现有的 4?
我应该如何在 VIM 中做到这一点?
Qua*_*odo 19
:tab ter
Run Code Online (Sandbox Code Playgroud)
在新选项卡中打开终端,而不是在新窗口中打开它:ter。您也可以使用等效的更长的:tab terminal形式。
在此 Reddit 帖子中感谢用户 wolloda 。
额外的信息
使用Ctrl-d或exit关闭终端缓冲区终止 shell 。
Ctrl-w N或者Ctrl-\ Ctrl-n将缓冲区置于终端正常模式:击键不会转发到外壳程序,而是被 Vim 用作普通缓冲区(尽管外壳程序作业仍在运行)。然后您可以使用gt更改选项卡,键入 Ex 命令,例如:ls等。要使终端缓冲区恢复生机,
i, a, ...
如果您要映射它,我建议使用:tab ter++kill=hup,这样当您:qa执行终端作业时,就不会阻止 Vim 退出。这是正常终端仿真器在关闭时发送到其作业的信号。
对于终端模式映射,tnoremap例如使用
tnoremap <S-Tab> <C-W>:tabprevious<CR>
tnoremap <C-N> <C-W>N
Run Code Online (Sandbox Code Playgroud)
有关:help :terminal和 的更多信息:help :tab。
2019 年,vim 现在有了终端模式。
:help terminal
Run Code Online (Sandbox Code Playgroud)
例如,您可以像这样使用它。
# go to terminal-job mode
:terminal
# go to terminal-normal mode
ctrl-w N
# go back to terminal-job mode
i
Run Code Online (Sandbox Code Playgroud)
Vim 8.1现在有一个内置终端,可以使用 :term 命令打开。这提供了与 Vim 其余功能的更完整的集成。
原答案:
我建议查看tmux或screen。我自己使用 tmux,并与vim-tmux-navigator一起使用,在终端和 vim 之间移动非常容易。