vim执行php或者c/c++的快捷键
经常我们会编写一些测试代码,这些代码一般只是临时测试某一个函数,测试过后基本上就没什么用了。
如果使用IDE,这好办,基本上都有一些快速运行的键,比如在ZendStudio里,将代码编写好了以后,只需要按一下F5,就可以马上出来执行结果,而且这个文件都可以不用保存。
如果使用VIM来编写代码,可能很多朋友就会想了,有没有什么方法来建立一个快捷键,能快速的运行我们所编写的代码呢?!!
答案当然是肯定了的,不然也不会写这篇日志来讨论这个问题了。
在介绍方法之前,先来谈一下自己以前的执行方式吧!
先拿PHP来讲吧,最传统的方式就是将编写好的代码放在apache的根目录,然后通过浏览器来运行,或者使用php命令来运行php.可以使用php的r参数
hqlong@~$ php -r "echo 'hqlong';"
来快速测试,或者使用q参数
hqlong@~$ php -q test.php
来运行。
接下来讲怎么将vim支持一键执行。
大致原理是使用键盘映射,将快捷键映射到执行的命令。
在.vimrc中添加
nmap < F5 > < ESC >:!clear && php -q < C-R >%< cr >
即当我们按下F5时,就相当于执行了如下操作。
1.按下ESC,然后再按下:,进入vim命令行模式
2.执行clear清屏操作。
3.然后运行当前脚本。
4.最后执行回车操作.
下面有几个指令需要解释一下:
< C - R >%:得到当前文件的名字,包括路径.(按ctrl+r,然后再按%)
接下来可以测试一下.
vim /tmp/test.php
< ? php echo "hqlong"; ?>
保存后,按F5,
就是快速的得出执行结果。
基于c/c++也同样可以做出映射来,比如我们用F6来执行C++代码。
那么就只需在.vimrc中添加
nmap < F6 > < ESC >:!clear && g++ < C-R >% -o test && ./test< cr >
这里如果我们测试如下代码。
vim test.cpp
# include < iostream > using namespace std; int main() { cout << "hqlong"; return 0; }
将会在当前上当下生成一个test可执行文件,并执行它。
所以的这一切都是由于nmap的强大映射功能。
希望对大家有所帮助,欢迎对不明白的地方进行讨论。
机器人 2009-06-23 22:59 于 北京 晴