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

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


当前回答

2011年8月过时

看看征服壳(也在GitHub上)。允许您在vim中运行任何交互程序,而不仅仅是一个shell。

其他回答

2011年8月过时

看看征服壳(也在GitHub上)。允许您在vim中运行任何交互程序,而不仅仅是一个shell。

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

:项

在Vim 8.1中添加。

请记住,每当终端窗口处于活动状态时,大多数击键将被简单地传递到终端,而不是具有它们通常的功能。Ctrl-W及其子命令是主要的例外。要向终端发送文字^W输入,请按Ctrl-W ..您也可以通过按Ctrl-W:打开Vim:命令行。其他Ctrl-W命令正常工作,因此无论当前选择的是什么类型的窗口,管理窗口的工作都是一样的。

这个问题相当老了,但是对于那些发现它的人来说,有一个新的可能的解决方案:Neovim包含一个成熟的、一流的终端模拟器,它所做的正是ConqueTerm试图做的。只需运行:term <您的命令这里>。

<C-\><C-n>将退出术语模式返回正常模式。如果你像我一样,更喜欢escape仍然退出term模式,你可以把这个添加到你的nvimrc:

tnoremap <ESC><ESC> <C-\><C-N>

然后按ESC两次将退出终端模式回到正常模式,因此您可以操作仍在运行的命令写入的缓冲区。

不过请记住,由于nvim在我发布这个答案的时候正在进行大量的开发,可能会添加另一种退出终端模式的方法。当Ctrl+\Ctrl+n从几乎任何模式切换到正常模式时,我不期望这个答案会出错,但请注意,如果它不起作用,这个答案可能已经过时了。

https://github.com/neovim/neovim

不,你不能:

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