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

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


当前回答

更新答案(11年后…):

如果您选择使用tmux解决方案,我建议使用tmux而不是下面原始答案中建议的screen。 Vim 8.1现在有一个内置的终端,可以用:term命令打开。这提供了与其余Vim特性更完整的集成。


我肯定会推荐这样的检查。Vim是一个文本编辑器,而不是一个shell。

我会使用Ctrl+AS来水平分割当前窗口,或者在Ubuntu的屏幕和其他补丁版本中,你可以使用Ctrl+A|(管道)来垂直分割。然后使用Ctrl+ATab(或在某些系统上等价地使用Ctrl+ACtrl+I,这可能更容易键入)在窗口之间切换。还有其他命令可以更改窗口的大小和排列。

或者一种不太高级的使用屏幕的方法是打开多个全屏窗口并在它们之间切换。这是我通常做的,我只是偶尔使用分屏功能。

如果你不熟悉GNU屏幕生存指南问题的使用,它有很多好的提示。

其他回答

我解决这个问题的方法是:

用Ctrl + Z暂停Vim, 在终点站玩, 然后只需输入命令fg,就可以返回到您离开Vim时的位置。

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

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

试试vterm吧,它是vim中的一个功能非常完整的shell。它的历史和清晰的功能略显缺陷,仍在开发中,但仍然相当不错

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

更新:

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

noremap <C-d>:sh<cr>