VIM實在是深不可測,可以說是個萬能的editor,而且所需系統資源極少,適合老舊電腦。不過學習曲綫比較陡。這陣子看了一些關於javascript,jquery,xhtml,css的tutorial,就想說把vim設定成一個好用的IDE,作業起來方便。
1:安裝JQeury 語法顏色
到這裏下載:http://www.vim.org/scripts/script.php?script_id=2416 ,儲存到 syntax底下。
然後在 .vimrc 加入這一行 :
au BufRead,BufNewFile jquery.*.js set ft=javascript syntax=jquery
2:安裝縮排
http://www.vim.org/scripts/script.php?script_id=1397
今天依然介绍vim这个大杀器的一个插件:xml.vim。 可以在这里下载这个插件,非常小只有50几kb,把它复制到~/.vim/ftpplugin目录下,然后在vim的配置文件 ~/.vimrc 中添加一行:
filetype plugin indent on
保存,重新用vim或者Gvim打开一个html文件,或者html.erb文件,在通常模式下,输入gg=G 会发现vim帮我们自动格式化了html代码,所有的缩进都很完美。
Tags: vim
3:安裝Javascript 語法顏色
到這裏下載 : http://www.vim.org/scripts/script.php?script_id=1491 ,放在syntax 底下。
4:javascript 語法檢查
這個不算太好用,不像pyflakes可以及時的檢查錯誤,先用着吧。首先安裝 javascriptlint ,下載 :http://www.javascriptlint.com/download/jsl-0.3.0-src.tar.gz , 然後解壓縮。在該目錄內執行:
(1) make -f Makefile.ref all ,執行完會產生以下目錄
(2) cd Linux_All_DBG.OBJ/
(3) sudo cp jsl jscpucfg /usr/local/bin/
(4) jsl -help:conf > jsl.conf (照 http://blogs.linux.ie/kenguest/2007/03/18/integrating-javascript-lint-with-vim/ 的說明做 jsl -help:conf > etc/jsl.conf 會出現 permission denied,,就算用 sudo 還是不行,,所以就先輸出成 jsl.conf 再 cp 進 /etc )
(5) cp jsl.conf /etc/
然後在 .vimrc 加入:
set makeprg=jsl\ -nologo\ -nofilelisting\ -nosummary\ -nocontext\ -conf\ '/etc/jsl.conf'\ -process\ %
set errorformat=%f(%l):\ %m
inoremap <silent> <F5> <C-O>:make<CR>
map <silent> <F5> :make<CR>
按F5 就會執行syntax的檢查,,,檢查的有點太詳細了。。我還是比較想用類似 pyflakes的plugin.....
5: javascript 自動補完 autocomplete
到這裏下載 javascript 的 dict , wget https://github.com/tyru/dotfiles/blob/master/dotfiles/.vim/dict/javascript.dict
( 應該用 git,,可是我不太會),然後將javascript.dict 放在 dict/ 底下
再來,下載 neocomlcache.vim 。wget https://github.com/downloads/Shougo/neocomplcache
這個有點意思,,vba是 vim ball ,,不是M$的那個VBA。 先把 neocomplcache-6.1.vba 放到.vim的目錄底下, 然後用 vim 打開它,執行 : source % ,,,竟然就自動安裝好了,,這個好,不用一個一個檔案copy到對應目錄。
然後在 .vimrc 加入:
autocmd FileType js :set dictionary+=~/.vim/dict/javascript.dict
set complete+=k
let g:neocomplcache_enable_at_startup = 1
let g:neocomplcache_enable_auto_select = 0
function! InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\"
else
if pumvisible()
return "\"
else
return "\\"
end
endif
endfunction
inoremap = InsertTabWrapper()
使用起來有點問題,根據 http://tahir0u.com/2011/05/14/356.html ,要按tab才會跳出autocomplete的選項,可是變成不用按也會跑出來,而且按了tab還沒用,,,不過這算是比較方便的dict了。
6:安裝zendcoding ,到這裏下載 http://www.vim.org/scripts/script.php?script_id=2981
解壓縮到相應目錄底下, 不用改 .vimrc 。這個plugin也挺神奇的,寫html很省事,舉例如下:
在 insert模式 ,輸入 hml:5 , 然後 按住 control + y + , (這個是逗號),放開之後,就出現了以下tags
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
呵呵,,這樣少打很多字呢。照 http://tahir0u.com/2011/05/14/356.html 的設定有點問題。。不過介紹的插件很不錯