vim有很多方法可以在vim中执行shell命令。可以使用shell
,ctrl+z
当前进程跳转到shell并返回vim,然后使用fg
返回。可以使用!w bash
执行选定/当前行。
但是,所有这些方法仅对运行一个命令有帮助。一旦命令执行,shell就会被杀死。
我想知道是否有办法在shell中继续执行代码片段并让shell记住上一个命令中的函数/变量(类似于将代码片段复制到shell提示符)来调试代码。为此,shell会话必须以某种方式持久化。
我经常遇到需要在shell上执行一些函数然后通过调用它们来测试它们的情况。标准方法是将它们复制粘贴到不同的shell中,然后执行它们。如何从vim中做到这一点?
答案 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