Vim环境配置 for ACM C++

来源:互联网 发布:淘宝直通车使用教程 编辑:程序博客网 时间:2024/05/17 12:25

最近刚学习Vim,简单配置一下。


1. 代码染色和自动换行

直接使用vim提供的标准配置文件即可。教程直接摘录 vimtutor 第八讲:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      第八講︰創建一個啟動腳本


                         ** 啟用vim的功能 **


  Vim的功能特性要比vi多得多,但大部分功能都沒有缺省激活。為了啟動更多的
  功能,您得創建一個vimrc文件。


  1. 開始編輯vimrc文件,這取決于您所使用的操作系統︰


     :edit ~/.vimrc             這是Unix系統所使用的命令
     :edit $VIM/_vimrc          這是Windows系統所使用的命令


  2. 接著導入vimrc范例文件︰


     :read $VIMRUNTIME/vimrc_example.vim


  3. 保存文件,命令為︰


     :write


  在下次您啟動vim的時候,編輯器就會有了語法高亮的功能。您可以繼續把您喜
  歡的其它功能設置添加到這個vimrc文件中。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


2. 针对ACM C++做一些特殊的配置

针对ACM C++,可能我们需要这个的设定:按<F9>编译执行。这种设定只是针对.cpp文件,对于python可能我们的执行方式就不一样了。

这里我们可以使用vim中autocmd命令针对不用的文件后缀名使用不用的配置文件。可以在上方新建的.vimrc中加入:

autocmd FileType cpp source ~/.vim/cpp.vim
这样对于cpp文件我们就调用了cpp.vim中的配置了。

为了实现快捷键的编译执行,我们需要在cpp.vim中加入按键映射指令。

map <F9> :!make read<CR>map <F8> :!make run<CR>
我们使用F8和F9两个按键对别对应make中read和run的编译选项。为什么这样做呢?

3. Makefile的配置

.PHONY : runrun : cls run.outclear./run.outrun.out : main.cppg++ main.cpp -o run.out.PHONY : readread : cls read.outclear./read.outread.out : main.cppg++ main.cpp -DACM -o read.out.PHONY : clscls:clear.PHONY : cleanclean :-rm run* read* *~

我们使用run和read两个非文件的编译选项,read比run多出来的就是多了一个ACM的宏定义。我们用这个宏定义实现输入数据的重定向,并且可以不注释掉freopen函数直接提交代码,减少很多麻烦。

而run选项直接运行生成的程序,方便调试。

而run和run.out分开来的原因是方便显示,减少重复编译。

看一些运行时的状态图吧:

main.cpp代码示例:


in.txt中我们输入一些很简单的数据,比如

1 1

2 2

3 3

4 4

然后在vim中,我们按下<F9>键,可以看到:


如果代码错误,比如a+b写成了a++b,按下<F9>后可以看到的结果是这样的:


可以比较清晰的看到错误的原因。

正常状态下不修改代码连续按下两次<F9>不会导致编译两次,这样有利于加快速度,减少硬盘写入数据。


总结

Vim,Makefile,g++这些工具我们都需要了解多一点。笔者也是刚学习,暂时配置的环境可以满足ACM敲代码的需求。以后应该会随着学习的深入修改出更方便的配置来。另外本文的测试环境是Mac OS X,Linux应该大同小异,Windows需要配置的可能就更多了。
0 0
原创粉丝点击