vim - 通过执行命令在shell中维护会话

时间:2014-03-11 07:01:25

标签: linux bash shell vim vim-plugin

vim有很多方法可以在vim中执行shell命令。可以使用shellctrl+z当前进程跳转到shell并返回vim,然后使用fg返回。可以使用!w bash执行选定/当前行。

但是,所有这些方法仅对运行一个命令有帮助。一旦命令执行,shell就会被杀死。

我想知道是否有办法在shell中继续执行代码片段并让shell记住上一个命令中的函数/变量(类似于将代码片段复制到shell提示符)来调试代码。为此,shell会话必须以某种方式持久化。

我经常遇到需要在shell上执行一些函数然后通过调用它们来测试它们的情况。标准方法是将它们复制粘贴到不同的shell中,然后执行它们。如何从vim中做到这一点?

2 个答案:

答案 0 :(得分:1)

如果您的Vim是使用Python支持构建的(大多数Unix构建都是,而Windows / Cygwin构建不是),您可能需要查看Conque Shell插件,该插件允许运行shell {{3 }}

编辑:更正,显然Vim 7.3 for Windows现在还附带Python支持(因此,Conque兼容性)。

答案 1 :(得分:0)

您可以从shell启动vim(而不是gvim),然后使用<C-Z>暂停vim。您返回到调用shell(不是子shell)并使用fg恢复vim。根据文档,这适用于“许多Unix系统”。

:help suspend