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