我已经习惯了Emacs,但是我正在试用Vim,看看我更喜欢哪个。
我喜欢Emacs的一点是能够在Emacs内部运行终端。这在Vim内部可能吗?我知道您可以从Vim执行命令,但我希望能够在选项卡中运行终端。
我已经习惯了Emacs,但是我正在试用Vim,看看我更喜欢哪个。
我喜欢Emacs的一点是能够在Emacs内部运行终端。这在Vim内部可能吗?我知道您可以从Vim执行命令,但我希望能够在选项卡中运行终端。
当前回答
:sh然后按Ctrl+D返回(bash)
更新:
您可以将vim中的Ctrl+D映射为run:sh,这允许您在bash和vim之间快速切换。
noremap <C-d>:sh<cr>
其他回答
我所知道的唯一方法是使用vim-shell,一个第三方补丁。
我不确定你到底想要实现什么(我从未使用过Emacs),但你可以在Vim中通过键入以下命令来运行命令:
:! somecommand [ENTER]
如果你想输入几个命令,或者在shell中玩一会儿,你总是可以使用:
:! bash (or your favourite shell) [ENTER]
一旦命令或shell终止,您将得到按Enter返回编辑器窗口的选项
Vim是有意轻量级的,并且缺乏执行非编辑类型事情的能力,就像在Vim窗格/选项卡中运行一个完整的shell一样,但正如上面提到的,有第三方插件,如Vim -shell,允许您执行这类事情。
通常情况下,如果我想在Vim和shell (Bash)之间切换,我只需按CTRL+Z暂停Vim进程,在我的shell中玩,然后当我想返回Vim时键入'fg' -保持我的编辑器和shell良好且独立。
如果你对快速回答感兴趣,这里是::vert术语。它会垂直分割你的屏幕并打开终端。
最终,一个原生的:terminal命令于2017年添加到vim中。
下面是:terminal自述的节选:
此特性用于在Vim窗口中运行终端模拟器。一个 作业可以连接到终端模拟器启动。例如, 运行一个shell: :任期bash 或者运行build命令: :term make myprogram 作业从Vim异步运行,窗口将更新为 在另一个窗口中编辑时显示作业的输出。
不,你不能:
http://vimdoc.sourceforge.net/htmldoc/tips.html#shell-window