我已经习惯了Emacs,但是我正在试用Vim,看看我更喜欢哪个。

我喜欢Emacs的一点是能够在Emacs内部运行终端。这在Vim内部可能吗?我知道您可以从Vim执行命令,但我希望能够在选项卡中运行终端。


当前回答

最终,一个原生的:terminal命令于2017年添加到vim中。

下面是:terminal自述的节选:

此特性用于在Vim窗口中运行终端模拟器。一个 作业可以连接到终端模拟器启动。例如, 运行一个shell: :任期bash 或者运行build命令: :term make myprogram 作业从Vim异步运行,窗口将更新为 在另一个窗口中编辑时显示作业的输出。

其他回答

分割屏幕并运行命令term ++curwin在Vim缓冲区中运行终端。下面的命令既能做到这一点,也对我有用:

:bo 10sp | term ++curwin

你可能想看一下:sh命令(参见:help sh in Vim)。

各种命令

我现在用这个,你可以试试。VimShell

假设你的vim版本首先支持+term命令,将shell设置为vim在一个命令中使用(例如set=/usr/bin/zsh),然后运行命令+term(即bo 15vs +term)。你可能需要对你的Windows做一些额外的操作(例如删除一个并旋转),但你会有你的终端。

Vim 8.1的主要新特性是支持在Vim窗口中运行终端。

:term将在Vim内部的另一个窗口中打开终端。