Vim安装与设置
工欲善其事,必先利其器。Vim就是這樣一把利器,而只有通過不斷的錘煉Vim才可以得到更快的開發效率。
接觸Vim已經快5年,卻還經常會出現“原來還可以這樣!”的感慨,越是用Vim,越能體會到Vim的博大精深,可能再用5年,能發掘的東西也不足Vim全部機能的20%吧。
這篇日志算是對現階段的用Vim的一個階段性總結,希望下一個5年會有更多新的發現。
Vim安裝與設置
Vim 64bit安裝
系統環境為Win7 64bit +?Vim7.3 64bit。假設安裝目錄為D:\Vim。
首先下載vim73-x64.zip解壓到D:\Vim。運行cmd
cd D:\Vim\vim73 install輸入d執行安裝即可。
安裝完成后”D:\Vim\_vimrc”就是vim的配置文件了
我們可以首先做一些基礎配置
Vim基本配置
設置工作目錄為當前編輯文件的目錄
set bsdir=buffer set autochdir編碼設置
set enc=utf-8 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936語言設置
set langmenu=zh_CN.UTF-8 language message zh_CN.UTF-8 set helplang=cn source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim禁止生成備份文件
set nobackup搜索忽略大小寫
set ignorecase搜索逐字符高亮
set incsearch行內替換
set gdefault始終顯示行號
set nu!顯示光標的坐標
set ruler設置Tab鍵的寬度
set shiftwidth=4 set tabstop=4將Tab鍵更改為四個空格
set expandtab這里是為了php的編碼規范需求,所以也可以將文件只限定為php生效
autocmd FileType php set expandtab根據編輯模式更改輸入法光標顏色,同時禁用IME自動切換
if has('multi_byte_ime')hi Cursor guifg=bg guibg=Orange gui=NONEhi CursorIM guifg=NONE guibg=Skyblue gui=NONEset iminsert=0 imsearch=0 endif禁用自動縮進
set noautoindent與Windows共享剪貼板
set clipboard+=unnamed編輯vimrc之后,重新加載
autocmd! bufwritepost _vimrc source $VIM/_vimrc設置配色方案
最后選擇一個自己喜歡的配色方案,可以通過
:color 方案名來切換嘗試。如果仍然沒有滿意的,那么可以去官網下載更多Vim配色方案。下載后放在”D:\Vim\vimfiles\colors”。
然后可以在配置文件中寫入
colorscheme 方案名來指定一套方案作為默認的配色方案。
至此就完成了Vim的基礎配置,如果不寫代碼的話,以上的配置已經足以應付日常需求。
Vim插件
Vim插件管理
Vim最強大之處還是由于有無窮無盡的插件,但是Vim對于插件的管理實在是弱爆了。傳統的插件安裝就是下載插件后丟到plugin目錄下完事。但 是由于插件編寫的質量參差,又沒有統一的規范,久而久之Vim的插件隨著安裝數量的增加就會變得難以維護,而插件管理的需求也就應運而生。
目前Vim有數個插件管理方案,比如pathogen, muzuiget,vim-flavor,vundle等等。
經過再三考慮,最終選擇了Vundle作為我的Vim插件管理方式。
Vundle基于Git構架,每一個插件都是一個項目的Repository,通過Vundle可以用簡單的指令,一鍵安裝/刪除/更新所有插件。
Vundle的安裝
安裝Git
Vundle在Linux非常容易安裝,在Windows下首先需要安裝Git。
下載msysgit并安裝。同時建議安裝一個TortoiseGit作為圖形界面。
Git安裝后將Git的路徑加入系統環境變量,win7下Git的路徑為
C:\Program Files (x86)\Git\cmd然后運行cmd,輸入
git --version如果能顯示Git版本信息,說明安裝成功
git version 1.7.10.msysgit.1在Win32下還需要建立一個Curl腳本用于Vundle的遠程鏈接。在Git的路徑下新建一個空文本文件,改名為curl.cmd,編輯內容為
@rem Do not use "echo off" to not affect any child calls. @setlocal@rem Get the abolute path to the parent directory, which is assumed to be the @rem Git installation root. @for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI @set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH%@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH% @if not exist "%HOME%" @set HOME=%USERPROFILE%@curl.exe %*保存后在cmd中輸入
curl --version如果可以看到版本信息說明運行成功。
安裝Vundle
Git安裝完畢后,Clone Vundle到”D:\Vim\vimfiles\bundle”下,此時目錄結構應該如下
D:\vim +---vim73 +---vimfiles+---bundle| +---vundle+---colors配置Vundle
按照Vundle官方給出的配置,所有通過Vundle安裝的插件會被安裝到Windows的用戶目錄下,這里我做了修改,直接安裝到Vim目錄下更加方便管理
編輯_vimrc加入
filetype off"此處規定Vundle的路徑 set rtp+=$VIM/vimfiles/bundle/vundle/"此處規定插件的安裝路徑 call vundle#rc('$VIM/vimfiles/bundle/')Bundle 'gmarik/vundle' filetype plugin indent on通過Vundle安裝插件
Vundle安裝插件有三種形式,一種是一個從官方移植的Vim Script,只需要在配置中寫腳本的名字,比如
Bundle 'neocomplcache'第二種是指定一個github上的項目名,以作者/項目的形式
Bundle 'gmarik/vundle'最后還可以指定一個完整的git repos地址
Bundle 'git://git.wincent.com/command-t.git'將要安裝的插件在配置文件中寫好,最后執行
:BundleInstall就可以一鍵安裝了。安裝有問題可以按l鍵查看log。我在第一次安裝時出現了“can't resolve proxy 'null' for https”的報警,調查發現是因為git啟用了代理的原因,可以運行cmd
git config --global --unset http.proxy解決。
Vundle常用指令
- :BundleList 列出已經安裝的插件
- :BundleInstall 安裝所有配置文件中的插件
- :BundleInstall! 更新所有插件
- :BundleSearch 搜索插件
- :BundleClean! 根據配置文件刪除插件
Vim必裝插件
語法及高亮
我選擇的插件有
Bundle 'JavaScript-syntax' Bundle 'jQuery' Bundle 'othree/html5.vim' Bundle 'groenewege/vim-less' Bundle 'Markdown' Bundle 'Markdown-syntax' Bundle 'php.vim-html-enhanced'主要支持了JavaScript/jQuery/HTML5/LESS/Markdown
HTML/JS混排縮進改善
Bundle "pangloss/vim-javascript"代碼自動補全
代碼自動補全是否優秀是評判一個IDE的重要標準,之前一直在使用ctag+supertab作為自動補全,但是ctag的補全必須借助不斷更新tag文件,不夠智能。所以在看到了neocomplcache后,毫不猶豫的改用了neocomplcache作為新的Vim自動補全插件。
neocomplcache可以做到:
- 根據文件類型補全語言內置元素
- 根據include關系自動尋找上下文補全要素
- 自動生成緩存,優先從緩存中查找
另外一個非常有助于提高效率的插件是snipMate,可以根據不同語言自動補全代碼段,比如在php下寫for+Tab鍵,就會自動生成這樣一段代碼
for ($i = 0; $i < count; $i++) { // code... }注意這里使用的snipMate和neocomplcache都是官方版本的修改版。
Bundle "MarcWeber/vim-addon-mw-utils" Bundle "tomtom/tlib_vim" Bundle "snipmate-snippets" Bundle "garbas/vim-snipmate"Vim插件配置
安裝完上述插件后還需要做一些小的配置
"自定義關聯文件類型 au BufNewFile,BufRead *.less set filetype=css au BufNewFile,BufRead *.phtml set filetype=php au BufRead,BufNewFile *.js set ft=javascript.jquery"---NeoComplCache 啟動 let g:neocomplcache_enable_at_startup = 1編程字體
寫代碼還需要一個愉快的字體,Consola和Monaco這兩種經典的等寬字體可以用做英文字體。中文字體微軟雅黑足以勝任,下面是Consola,Monaco以及和微軟雅黑的混合字體
- Consola
- Monaco
- YaHei Consolas Hybrid
- Yahei Mono
安裝字體后自行選擇以下的配置
"set guifont=Monaco:h9 "set gfw=YaHei\ Consolas\ Hybrid:h9 "set guifont=Consolas:h12 "set guifont=YaHei\ Consolas\ Hybrid:h12 "set guifont=Yahei\ Mono:h12自定義指令
常用自定義指令就一條:
nmap mm :%s/\r//g<cr>用于刪除win32下難看的藍色^M(其實是換行符\r)
最后附上我的Vim配置On Github
http://yp.oss.org.cn/blog/show_resource.php?resource_id=1561%E3%80%82
?
轉載于:https://www.cnblogs.com/whuper/p/4807223.html
總結
- 上一篇: 使用Windows的分析等待链(anal
- 下一篇: 电磁学讲义2:库仑定律