小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Vim配置文件(全平臺(tái)可用)2012

 lchjczw 2013-03-04
本版本是我使用Vim一周年的紀(jì)念版,也是最后一版, 以后不再更新,還望各位朋友見(jiàn)諒

我是去年(2011年)5月1日正式開(kāi)始使用Vim編輯器的,從此劍不離手,給予了我極大的幫助

這是我使用Vim一周年的感悟:《 使用Vim一周年紀(jì)念

望有緣人能通過(guò)我發(fā)布的這些集成版本快速入門(mén),步入Vim殿堂,提高編碼效率,享受編碼樂(lè)趣

經(jīng)過(guò)著色的配置文件請(qǐng)?jiān)L問(wèn)下面的鏈接

完整配置的下載地址見(jiàn)本文末尾

-----------------------------------------

相比4月1日那一版,本版本并沒(méi)有太大的變化,只是上一版?zhèn)戎赜赗uby/Rails的開(kāi)發(fā),而這一版偏重于Python/Django

所以鑒于此,上一版的 Vim2012-04-01.7z和當(dāng)前版本的 Vim2012-05-01.7z文件會(huì)永久保存在我的下載目錄,以供有需者隨時(shí)下載

考慮到VimWiki使用的人并不多,所以本版本對(duì)其進(jìn)行了移除,此外還有其他部分插件也進(jìn)行了刪減

上一版的保存快捷鍵是Ctrl + S,這一版換成了jj,還望注意

此外,如果源文件路徑含有中文字符,那么調(diào)用Taglist是顯示不出函數(shù)列表的,所以請(qǐng)新人注意,路徑不要使用中文(這也是基本的常識(shí))

老規(guī)矩,所有常用的按鍵說(shuō)明全部寫(xiě)在了配置文件的最前面,Windows下為_(kāi)vimrc,Linux下為.vimrc

-----------------------------------------

本版本的主要功能

01、支持常規(guī)的語(yǔ)法高亮、代碼縮進(jìn)、每行80個(gè)字符提示
02、支持括號(hào)、引號(hào)自動(dòng)匹配
03、支持單源文件一鍵編譯、運(yùn)行 [已配置支持C/C++、Java、Haskell、Lua、Perl、Python、Ruby]
04、支持一鍵載入語(yǔ)法模板
05、集成snipMate,支持tab鍵補(bǔ)全 [已完整配置支持的語(yǔ)種有C/C++、Python/Django、Ruby/Rails]
06、集成zencoding,支持網(wǎng)頁(yè)的快速編碼
07、集成minibufexpl、NERD_tree、taglist等常規(guī)插件,便于開(kāi)發(fā)工程級(jí)項(xiàng)目
08、支持GTK+和Qt的語(yǔ)法高亮
09、集成txtbrowser,對(duì)普通的txt文本文件也有良好的渲染
10、對(duì)于HTML文件,默認(rèn)載入Django Template語(yǔ)法高亮模式,便于Python/Django開(kāi)發(fā)
11、集成Powerline,支持狀態(tài)欄彩色顯示
12、支持ctags函數(shù)跳轉(zhuǎn) [Linux && Cygwin用戶需要安裝有ctags才能使用]

-----------------------------------------

更多功能請(qǐng)自行查看Vim配置文件 [Windows為_(kāi)vimrc,Linux和Cygwin為.vimrc]

zencoding簡(jiǎn)易的使用說(shuō)明請(qǐng)參考:

snipMate支持的關(guān)鍵字,請(qǐng)自行查看vimfiles/snippets目錄下的各個(gè)文件(Linux對(duì)應(yīng)的目錄為.vim/snippets),你也可以自行修改和配置

下面是配置的具體安裝方法,分Windows和Linux && Cygwin兩個(gè)版本,請(qǐng)根據(jù)需要參考

-----------------------------------------

Windows下的安裝方法

01、訪問(wèn)http://www./download.php#pc下載最新的Gvim

02、安裝Gvim到任意目錄,這兒為方便講解,我假定你安裝到了D:\Apps\Gvim

03、將D:\Apps\Gvim\vim73目錄加入環(huán)境變量 [不知何為環(huán)境變量者,請(qǐng)Google]

04、刪除Gvim安裝目錄下的vimfiles目錄

05、復(fù)制提供的vimfiles目錄到D:\Apps\Gvim下,取代已刪目錄的位置

06、將提供的小工具軟件全部復(fù)制到D:\Apps\Gvim\vim73目錄下

07、復(fù)制_vimrc到D:\Apps\Gvim進(jìn)行替換

08、復(fù)制Monaco.ttf到C:\WINDOWS\Fonts目錄下進(jìn)行字體的安裝

09、使用任意文本編輯器打開(kāi)_vimrc,將名字、郵箱、網(wǎng)址等全部替換為你自己的信息,如遇路徑不同也全部替換為你本機(jī)的實(shí)際路徑

10、然后。。。然后就大功告成了,接下只需學(xué)習(xí)如何使用而已,使用說(shuō)明全部集中在_vimrc文件的頭部

-----------------------------------------

Linux && Cywgin下的安裝方法

01、請(qǐng)確認(rèn)已安裝Vim,這兒不提供Vim的安裝指導(dǎo),如有需要請(qǐng)Google

02、刪除家目錄的.vim文件夾和.vimrc文件,如果沒(méi)有則不需要執(zhí)行刪除動(dòng)作 [使用命令 rm -rf .vim .vimrc]

03、復(fù)制Linux_Cygwin目錄下的所有文件到家目錄 [在下載的Linux_Cygwin文件夾上打開(kāi)終端,然后執(zhí)行命令 cp -r . ~]

04、使用任意文本編輯器打開(kāi).vimrc,將名字、郵箱、網(wǎng)址等全部替換為你自己的信息,如遇路徑不同也全部替換為你本機(jī)的實(shí)際路徑

05、如此這般就配置好了,盡情享受編碼的樂(lè)趣吧,使用說(shuō)明全部集中在.vimrc文件的頭部

-----------------------------------------

ctags簡(jiǎn)易的使用說(shuō)明,這兒以C/C++為例

01、首先確保系統(tǒng)能夠找到ctags.exe,也就是ctags.exe添加到了系統(tǒng)環(huán)境變量

02、以MinGW為例,到編譯器安裝目錄的include目錄(比如C:\MinGW\include)執(zhí)行命令 ctags -R --languages=c,c++

03、在_vimrc文件中添加一行 set tags+=C:\MinGW\include\tags

04、以后編輯C/C++源文件時(shí),鍵入一小部分字符,然后按Ctrl + P即可擁有C/C++的代碼提示

05、將光標(biāo)移到某個(gè)函數(shù)名上,按Ctrl + ],Vim將自動(dòng)跳轉(zhuǎn)到該函數(shù)的定義,按Ctrl + T返回

以上只是ctags簡(jiǎn)單的用法,更專業(yè)的介紹請(qǐng)Google

-----------------------------------------

資料目錄提供了幾份實(shí)用的Vim教程和圖解,希望能給你學(xué)習(xí)Vim的使用帶來(lái)幫助


上一版本的下載地址: http://www./download/Vim2012-04-01.7z

-----------------------------------------
標(biāo)簽: Vim GVim

代碼片段(1)

[代碼] _vimrc

001" -----------------   Author: Ruchee
002" -----------------    Email: my@
003" -----------------  WebSite: http://www.
004" -----------------     Date: 2012-05-01
005 
006 
007" Ctrl + H                   --光標(biāo)移當(dāng)前行行首
008" Ctrl + J                   --光標(biāo)移下一行行首
009" Ctrl + K                   --光標(biāo)移上一行行尾
010" Ctrl + L                   --光標(biāo)移當(dāng)前行行尾
011" Ctrl + C                   --編譯 [支持C/C++、Java、Haskll]
012" Ctrl + R                   --運(yùn)行 [支持C/C++、Java、Haskell、Lua、Perl、Python、Ruby]
013" Ctrl + ]                   --轉(zhuǎn)到函數(shù)定義
014" Ctrl + T                   --返回調(diào)用函數(shù)
015" Ctrl + E                   --一步加載語(yǔ)法模板和作者、時(shí)間信息
016 
017" <C-P>                      --單詞補(bǔ)全
018" <C-X><C-L>                 --整行補(bǔ)全
019" Tab鍵                      --插入模式下的全功能語(yǔ)法結(jié)構(gòu)補(bǔ)全 [snipMate插件]
020" Shift + Insert             --向Vim中粘貼從別處復(fù)制的內(nèi)容
021 
022" u [小寫(xiě)]                   --單步復(fù)原 [非插入模式]
023" U [大寫(xiě)]                   --整行復(fù)原 [非插入模式]
024 
025" jj                         --保存文件并留在插入模式 [插入模式]
026" kk                         --返回Normal模式 [插入模式]
027" nt                         --打開(kāi)NERDTree [非插入模式]
028" tl                         --打開(kāi)TagList [非插入模式]
029 
030" za                         --打開(kāi)或關(guān)閉當(dāng)前折疊
031" zM                         --關(guān)閉所有折疊
032" zR                         --打開(kāi)所有折疊
033 
034" :set syntax=cpp            --手動(dòng)選擇語(yǔ)法高亮 [或 :set filetype=cpp]
035 
036" :%!xxd                     --轉(zhuǎn)儲(chǔ)二進(jìn)制文件,以十六進(jìn)制形式顯示
037" :%!xxd -r                  --還原二進(jìn)制文件
038 
039 
040" ---------- 主要插件詳細(xì)用法說(shuō)明 ---------------------
041 
042" :Tlist                     --呼出變量和函數(shù)列表 [TagList插件]
043" :LoadTemplate              --呼出語(yǔ)法模板 [Load_Template插件]
044" :AuthorInfoDetect          --添加作者、時(shí)間等信息 [NERD_commenter && authorinfo插件]
045 
046" ---------- a.vim [自動(dòng)切換C/C++同名頭文件] ----------
047"
048" :A                         --切換同名頭文件并獨(dú)占整個(gè)屏幕
049" :AS                        --切換同名頭文件并垂直分屏,頭文件在上
050" :AV                        --切換同名頭文件并水平分割,頭文件在左
051 
052" ---------- mark.vim [追蹤高亮指定關(guān)鍵字] ------------
053"
054" \m                         --normal模式下,在想要高亮的單詞上面敲擊\m即可高亮或取消高亮該單詞
055" :Mark                      --取消所有高亮
056" :Mark abc                  --指定高亮單詞 abc 或取消高亮 abc
057 
058" ---------- NERDTree [智能文件瀏覽器] ----------------
059"
060" :NERDTree                  --啟動(dòng)NERDTree插件
061" o [小寫(xiě)]                   --切換當(dāng)前文件或目錄的打開(kāi)、關(guān)閉狀態(tài)
062" u                          --打開(kāi)上層目錄
063" p [小寫(xiě)]                   --返回上層目錄
064" P [大寫(xiě)]                   --返回根目錄
065" K                          --轉(zhuǎn)到當(dāng)前目錄第一個(gè)節(jié)點(diǎn)
066" J                          --轉(zhuǎn)到當(dāng)前目錄最后的節(jié)點(diǎn)
067" m                          --顯示文件系統(tǒng)菜單 [增、刪、移]
068" ?                          --彈出幫助菜單
069" q                          --退出該插件
070 
071 
072" 將所有以.html結(jié)尾的文檔以Django Template語(yǔ)法進(jìn)行渲染
073" 本配置語(yǔ)句必須放在所有配置的最前面
074au BufNewFile,BufRead *.html setf htmldjango
075 
076colorscheme blackboard       " 著色模式:藍(lán)色背景
077set guifont=Monaco:h10       " 字體 && 字號(hào)
078set tabstop=4                " 設(shè)置tab鍵的寬度
079set shiftwidth=4             " 換行時(shí)行間交錯(cuò)使用4個(gè)空格
080set autoindent               " 自動(dòng)對(duì)齊
081set backspace=2              " 設(shè)置退格鍵可用
082set cindent shiftwidth=4     " 自動(dòng)縮進(jìn)4空格
083set smartindent              " 智能自動(dòng)縮進(jìn)
084set ai!                      " 設(shè)置自動(dòng)縮進(jìn)
085set nu!                      " 顯示行號(hào)
086"set showmatch               " 顯示括號(hào)配對(duì)情況
087set mouse=a                  " 啟用鼠標(biāo)
088set ruler                    " 右下角顯示光標(biāo)位置的狀態(tài)行
089set incsearch                " 查找book時(shí),當(dāng)輸入/b時(shí)會(huì)自動(dòng)找到
090set hlsearch                 " 開(kāi)啟高亮顯示結(jié)果
091set incsearch                " 開(kāi)啟實(shí)時(shí)搜索功能
092set nowrapscan               " 搜索到文件兩端時(shí)不重新搜索
093set nocompatible             " 關(guān)閉兼容模式
094set vb t_vb=                 " 關(guān)閉提示音
095"set cursorline              " 突出顯示當(dāng)前行
096set hidden                   " 允許在有未保存的修改時(shí)切換緩沖區(qū)
097set list                     " 顯示Tab符,使用一高亮豎線代替
098set listchars=tab:\|\ ,
099 
100syntax enable                " 打開(kāi)語(yǔ)法高亮
101syntax on                    " 開(kāi)啟文件類型偵測(cè)
102filetype indent on           " 針對(duì)不同的文件類型采用不同的縮進(jìn)格式
103filetype plugin on           " 針對(duì)不同的文件類型加載對(duì)應(yīng)的插件
104filetype plugin indent on    " 啟用自動(dòng)補(bǔ)全
105 
106 
107if has("gui_running")
108    au GUIEnter * simalt ~x  " 窗口啟動(dòng)時(shí)自動(dòng)最大化
109    "winpos 20 20            " 指定窗口出現(xiàn)的位置,坐標(biāo)原點(diǎn)在屏幕左上角
110    "set lines=20 columns=90 " 指定窗口大小,lines為高度,columns為寬度
111    "set guioptions-=m       " 隱藏菜單欄
112    "set guioptions-=T       " 隱藏工具欄
113    "set guioptions-=L       " 隱藏左側(cè)滾動(dòng)條
114    "set guioptions-=r       " 隱藏右側(cè)滾動(dòng)條
115    "set guioptions-=b       " 隱藏底部滾動(dòng)條
116    "set showtabline=0       " 隱藏Tab欄
117endif
118 
119set writebackup              " 設(shè)置無(wú)備份文件
120set nobackup
121set autochdir                " 設(shè)定文件瀏覽器目錄為當(dāng)前目錄
122"set nowrap                  " 設(shè)置不自動(dòng)換行
123set foldmethod=syntax        " 選擇代碼折疊類型
124set foldlevel=100            " 禁止自動(dòng)折疊
125 
126set laststatus=2             " 開(kāi)啟狀態(tài)欄信息
127set cmdheight=2              " 命令行的高度,默認(rèn)為1,這里設(shè)為2
128 
129" 每行超過(guò)80個(gè)的字符用下劃線標(biāo)示
130au BufRead,BufNewFile *.s,*.asm,*.h,*.c,*.cpp,*.cc,*.java,*.cs,*.erl,*.hs,*.sh,*.lua,*.pl,*.pm,*.php,*.py,*.rb,*.erb,*.vim,*.js,*.css,*.xml,*.html,*.xhtml 2match Underlined /.\%81v/
131 
132 
133" 設(shè)置編碼
134set fenc=utf-8
135set encoding=utf-8
136set fileencodings=utf-8,gbk,cp936,latin-1
137" 解決菜單亂碼
138source $VIMRUNTIME/delmenu.vim
139source $VIMRUNTIME/menu.vim
140" 解決consle輸出亂碼
141language messages zh_CN.utf-8
142 
143 
144" For Haskell
145:let hs_highlight_delimiters=1            " 高亮定界符
146:let hs_highlight_boolean=1               " 把True和False識(shí)別為關(guān)鍵字
147:let hs_highlight_types=1                 " 把基本類型的名字識(shí)別為關(guān)鍵字
148:let hs_highlight_more_types=1            " 把更多常用類型識(shí)別為關(guān)鍵字
149:let hs_highlight_debug=1                 " 高亮調(diào)試函數(shù)的名字
150:let hs_allow_hash_operator=1             " 阻止把#高亮為錯(cuò)誤
151 
152 
153" ======= 引號(hào) && 括號(hào)自動(dòng)匹配 ======= "
154 
155:inoremap ( ()<ESC>i
156 
157:inoremap ) <c-r>=ClosePair(')')<CR>
158 
159:inoremap { {}<ESC>i
160 
161:inoremap } <c-r>=ClosePair('}')<CR>
162 
163:inoremap [ []<ESC>i
164 
165:inoremap ] <c-r>=ClosePair(']')<CR>
166 
167":inoremap < <><ESC>i
168 
169":inoremap > <c-r>=ClosePair('>')<CR>
170 
171:inoremap " ""<ESC>i
172 
173:inoremap ' ''<ESC>i
174 
175:inoremap ` ``<ESC>i
176 
177function ClosePair(char)
178    if getline('.')[col('.') - 1] == a:char
179        return "\<Right>"
180    else
181        return a:char
182    endif
183endf
184 
185 
186" MiniBufExplorer     多個(gè)文件切換 可使用鼠標(biāo)雙擊相應(yīng)文件名進(jìn)行切換
187let g:miniBufExplMapWindowNavVim=1
188let g:miniBufExplMapWindowNavArrows=1
189let g:miniBufExplMapCTabSwitchBufs=1
190let g:miniBufExplModSelTarget=1
191 
192" :Tlist              調(diào)用TagList
193let Tlist_Show_One_File=1                    " 只顯示當(dāng)前文件的tags
194let Tlist_Exit_OnlyWindow=1                  " 如果Taglist窗口是最后一個(gè)窗口則退出Vim
195let Tlist_Use_Right_Window=1                 " 在右側(cè)窗口中顯示
196let Tlist_File_Fold_Auto_Close=1             " 自動(dòng)折疊
197 
198" TxtBrowser          高亮TXT文本文件
199au BufRead,BufNewFile *.txt setlocal ft=txt
200 
201" :LoadTemplate       根據(jù)文件后綴自動(dòng)加載模板
202let g:template_path='D:/Apps/Gvim/vimfiles/template/'
203 
204" :AuthorInfoDetect   自動(dòng)添加作者、時(shí)間等信息,本質(zhì)是NERD_commenter && authorinfo的結(jié)合
205let g:vimrc_author='Ruchee'
206let g:vimrc_email='my@'
207let g:vimrc_homepage='http://www.'
208 
209" Ctrl + H            將光標(biāo)移到當(dāng)前行的行首
210imap <c-h> <ESC>I
211 
212" Ctrl + J            將光標(biāo)移到下一行的行首
213imap <c-j> <ESC>jI
214 
215" Ctrl + K            將光標(biāo)移到上一行的末尾
216imap <c-k> <ESC>kA
217 
218" Ctrl + L            將光標(biāo)移到當(dāng)前行的行尾
219imap <c-l> <ESC>A
220 
221" Ctrl + E            一步加載語(yǔ)法模板和作者、時(shí)間信息
222map <c-e> <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi
223imap <c-e> <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi
224vmap <c-e> <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi
225 
226" jj                  保存文件并留在插入模式 [插入模式]
227imap jj <ESC>:w<CR>li
228 
229" kk                  返回Normal模式 [插入模式]
230imap kk <ESC>l
231 
232" nt                  打開(kāi)NERDTree [非插入模式]
233map nt :NERDTree<CR>
234 
235" tl                  打開(kāi)Taglist [非插入模式]
236map tl :Tlist<CR><c-l>
237 
238 
239" ======= 編譯 && 運(yùn)行 ======= "
240 
241" 編譯源文件
242func! CompileCode()
243        exec "w"
244        if &filetype == "c"
245            exec "!gcc -Wall -std=c99 %<.c -o %<"
246        elseif &filetype == "cpp"
247            exec "!g++ -Wall -std=c++98 %<.cpp -o %<"
248        elseif &filetype == "java"
249            exec "!javac %<.java"
250        elseif &filetype == "haskell"
251            exec "!ghc --make %<.hs -o %<"
252        elseif &filetype == "lua"
253            exec "!lua %<.lua"
254        elseif &filetype == "perl"
255            exec "!perl %<.pl"
256        elseif &filetype == "python"
257            exec "!python %<.py"
258        elseif &filetype == "ruby"
259            exec "!ruby %<.rb"
260        endif
261endfunc
262 
263" 運(yùn)行可執(zhí)行文件
264func! RunCode()
265        exec "w"
266        if &filetype == "c" || &filetype == "cpp" || &filetype == "haskell"
267            exec "! %<.exe"
268        elseif &filetype == "java"
269            exec "!java %<"
270        elseif &filetype == "lua"
271            exec "!lua %<.lua"
272        elseif &filetype == "perl"
273            exec "!perl %<.pl"
274        elseif &filetype == "python"
275            exec "!python %<.py"
276        elseif &filetype == "ruby"
277            exec "!ruby %<.rb"
278        endif
279endfunc
280 
281" Ctrl + C 一鍵保存、編譯
282map <c-c> :call CompileCode()<CR>
283imap <c-c> <ESC>:call CompileCode()<CR>
284vmap <c-c> <ESC>:call CompileCode()<CR>
285 
286" Ctrl + R 一鍵保存、運(yùn)行
287map <c-r> :call RunCode()<CR>
288imap <c-r> <ESC>:call RunCode()<CR>
289vmap <c-r> <ESC>:call RunCode()<CR>

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約