最近剛學習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 : run
run : cls run.out
clear
./run.out
run.out : main.cpp
g++ main.cpp -o run.out
.PHONY : read
read : cls read.out
clear
./read.out
read.out : main.cpp
g++ main.cpp -DACM -o read.out
.PHONY : cls
cls:
clear
.PHONY : clean
clean :
-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>不會導致編譯兩次,這樣有利於加快速度,減少硬盤寫入數據。