在Vim中打开一个小窗口以执行命令

时间:2014-03-23 09:54:19

标签: shell vim

我需要编写大量代码并经常编译。我讨厌来回切换各种窗口只是为了编译代码。是否可以在底部打开一个小窗口并运行调用shell并在需要时关闭该窗口?

4 个答案:

答案 0 :(得分:1)

使用GVim或MacVim,您可以在命令行中运行外部命令:Gvim / MacVim附带一个(非常)有限的shell,无论编译器输出什么,都会愉快地显示。一般使用模式是:

:!command
:!command %

使用CLI Vim,相同的方法将暂停Vim并返回shell以执行命令。

在这两种情况下,您都会收到一条消息,要求您按ENTER键返回正常编辑状态。

使用:make | cw将是一个稍微复杂的选择,还可以在quickfix窗口中显示错误。

更复杂的方法是将Tim Pope的Dispatch插件与tmux或屏幕结合使用。

答案 1 :(得分:0)

听起来像Screen的问题 http://www.gnu.org/software/screen/

命令的快速参考 http://aperiodic.net/screen/quick_reference

答案 2 :(得分:0)

也许映射一个键来封装编译器并运行程序jf编译成功:

:map F8 :!cc % & ./a.out

或者只是

:sh
make run
Ctrl-D

答案 3 :(得分:0)

我使用tmux来实现类似的目标。我在〜/ .tmux.conf 文件中有以下内容:

bind s splitw -v -p 25 -c '#{pane_current_path}' '/bin/bash'
bind q kill-pane 

在按 Ctrl-b + s 前缀+ s )时,会在底部打开一个包含bash shell的新窗格。我可以从那里运行shell命令: find grep make 等。当我完成后,我按 Ctrl- b + q 关闭shell。

要在每个bash会话中启用tmux,请将以下内容添加到〜/ .bashrc 中:

[[ -z "$TMUX" ]] && exec tmux