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

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


当前回答

如果在您的Vim版本中启用,则可以使用:term命令启动终端。

终端窗口支持被添加到Vim 8。这是一个可选特性,可以在使用+终端特性编译Vim时启用。如果你的Vim版本有终端支持,:echo has('terminal')将输出"1"。

输入:term将使您进入终端作业模式,在此模式下您可以按预期使用终端。

在Terminal-Job模式下,按Ctrl- w N或Ctrl-\ Ctrl-N将模式切换到Terminal-Normal,这允许光标移动,命令运行类似于Vim的Normal模式。若要切换回终端作业模式,请按“i”。

其他回答提到了Neovim中类似的功能。

其他回答

不,你不能:

http://vimdoc.sourceforge.net/htmldoc/tips.html#shell-window

如果你对快速回答感兴趣,这里是::vert术语。它会垂直分割你的屏幕并打开终端。

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

:sh然后按Ctrl+D返回(bash)

更新:

您可以将vim中的Ctrl+D映射为run:sh,这允许您在bash和vim之间快速切换。

noremap <C-d>:sh<cr>

我所知道的唯一方法是使用vim-shell,一个第三方补丁。