【问题标题】:Grunt: Executing another command-line task while watch is running in backgroundGrunt:在后台运行 watch 时执行另一个命令行任务
【发布时间】:2014-12-28 17:10:03
【问题描述】:
我正在使用Gruntj 自动使用grunt-contirb-watch 插件编译less 和coffescript 文件,我也是使用vim 作为代码编辑器的命令行用户。我总是用 vim 编写代码,完成后我退出 vim 并返回终端运行 grunt watch 插件以编译文件,然后退出 watch 并再次返回 vim 以编辑文本。
那么有什么方法可以在不终止监视命令行会话的情况下转义或暂停它并在同一终端会话中在 vim 中进行一些编辑?
【问题讨论】:
标签:
vim
command-line
gruntjs
【解决方案1】:
grunt-contrib-watch 的全部意义在于允许您在后台运行任务无需退出编辑器。所以......你不需要完全退出 Vim。
您只需在另一个终端窗口中启动 grunt,或者,如果您使用终端多路复用器,则在另一个窗格/窗口中启动。
【解决方案2】:
- 你可以在 Vim 中执行外部命令:
:! grunt ...;这会阻塞 Vim,直到命令完成。
- 如果需要原shell执行命令,可以
:suspendvim(也可以通过<C-Z>),然后从原shell返回(执行grunt后)通过fg。李>
- 使用像
screen 或tmux 这样的终端多路复用器,您可以在同一终端内同时运行Vim 和其他shell。您会发现很多描述此类设置的帖子。