【发布时间】:2012-08-23 09:47:49
【问题描述】:
这一切都始于一个外壳。例如,我使用urxvt 和zsh。在那里,我用gvim 打开了一些文件。在这种情况下,它是一个LaTeX 文件。现在我需要执行一些命令(用于编译文档,例如pdflatex)。
我怎样才能让原来的shell,从gvim开始,执行那个命令?
如果gvim 必须打开一个新的 shell 一次,然后在该 shell 中执行指定命令 (pdflatex) 的每个未来调用,这也是可以接受的,而我仍然可以手动输入。
直接运行:!pdflatex的问题是,输出显示出来了,但是如果太长滚动是不可能的,当我按下回车后,一切都消失了。
使用 shell 的想法是,默认情况下不必切换窗口焦点。所以通常我的命令的输出是可见的,但除非发生错误,否则我可以继续在gvim 中工作。现在,如果每次我运行命令时都生成一个新的 shell,那么这种工作流程肯定是不可能的。
【问题讨论】:
-
我猜gedit有控制台的这个功能。请看一看。将回来提供更多详细信息。
-
你能进一步解释一下使用单一外壳的必要性吗?
-
@mtk: 抱歉,我不会切换到其他编辑器。
-
@canaa 是一个想法,我也坚持使用 VIM,没有其他人像它一样舒适 :)
-
@canaaerus:如果我理解正确的话,最后的需要是能够看到您之前执行的编译文档的命令的结果。 Vim 有几个功能可以帮助完成这项任务,如
quickfix- 在vim-faq 上有一些参考资料。这将允许您在 Vim 中查看编译结果。以前的结果仍然可以通过:cp命令获得,它还允许您跳转到错误引用的特定行,尽管能够使用 Vim 的惊人功能浏览结果。