当前位置: > Linux服务器 > 环境配置 >

Vim 配置

时间:2015-01-13 22:16来源:linux.it.net.cn 作者:IT

1、配置文件的位置

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。
2、设置语法高亮显示
1) 打开vimrc,添加以下语句来使得语法高亮显示:


 
  1. syntax on  

 


2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:


 
  1. export TERM=xterm-color  

3、设置Windows风格的C/C++自动缩进(添加以下set语句到vimrc中)
1)设置(软)制表符宽度为4:

 
  1. set tabstop=4  
  2. set softtabstop=4  

2)设置缩进的空格数为4

 
  1. set shiftwidth=4  

3)设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:

 
  1. set autoindent  

4)设置使用 C/C++ 语言的自动缩进方式:

 
  1. set cindent  

5)设置C/C++语言的具体缩进方式(以我的windows风格为例):

 
  1. set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s  

6)如果想在左侧显示文本的行号,可以用以下语句:
set nu
7)最后,如果没有下列语句,就加上吧:

 
  1. if &term=="xterm"  
  2. set t_Co=8  
  3. set t_Sb=^[[4%dm  
  4. set t_Sf=^[[3%dm  
  5. endif  


本文对vim的设置仅仅针对UBUNTU与Fedora系统,其他LINUX版本我没有实验过,敬请读者谅解!谢谢

在UBUNTU中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc

在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc

在终端 输入以下命令来编辑vimrc配置文件:(也可以在编辑文件过程中用shift + :输入对应命令来实现)
sudo vim /etc/vim/vimrc
或者 sudo gedit /etc/vim/vimrc

1、显示行号

在文件末端添加一新行,输入 set nu

2、语法高亮
在文件中找到 "syntax on   这一行,去掉前面的双引号",双引号是注释的意思

3、自动缩进

在文件末尾添加一行,输入 set autoindent
在添加一行,输入         set cindent
其中 autoindent 是自动缩进; cindent是特别针对 C语言语法自动缩进

注意:如果设置好以上设置后,VIM没有作出相应的动作,那么请你把你的VIM升级到最新版,一般只要在终端输入以下命令即可:sudo apt-get install vim

 

 

1 shiftwidth

这个是用于程序中自动缩进所使用的空白长度指示的。一般来说为了保持程序的美观,和下面的参数最好一致。同时它也是符号移位长度的制定者。

2 tabstop

定义tab所等同的空格长度,一般来说最好设置成8,因为如果是其它值的话,可能引起文件在打印之类的场合中看起来很别扭。除非你设置了 expandtab模式,也就是把tabs转换成空格,这样的话就不会一起混淆,不过毕竟制表符为8是最常用最普遍的设置,所以一般还是不要改。

3 softtabstop

如果我们希望改变程序中的缩进怎么办?
shiftwidth 和 tabstop不一样的话,你会发现程序比较难看的。这时候,softtabstop
就起作用了。可以从vim的说明中看到,一旦设置了softtabstop的值时,你按下tab键,插入的是空格和tab制表符的混合,具体如何混合取决于你设定的softtabstop,举个例子,如果设定softtabstop=8, 那么按下tab键,插入的就是正常的一个制表符;如果设定 softtabstop=16,那么插入的就是两个制表符;如果softtabstop=12,那么插入的就是一个制表符加上4个空格;如果 softtabstop=4呢?那么一开始,插入的就是4个空格,此时一旦你再按下一次tab,这次的四个空格就会和上次的四个空格组合起来变成一个制表符换句话说,softtabstop是“逢8空格进1制表符”,前提是你tabstop=8。

4 关于expandtab

举个例子,在多人一起开发项目时,为了使代码风格尽量保持一致,一般不允许在代码使用TAB符,而以4个空格代之。我们可以编辑一个文件,包含下面的内容:
set shiftwidth=4
set expandtab

然后把下面的命令加入到.vimrc中:

autocmd FileType c,cpp set shiftwidth=4 | set expandtab

就可以只在编辑c和cpp文件时实行这种设置了

蓝色部分转载于http://blog.163.com/allan_36983689/blog/static/316982402010118414355/

 

 

fileformats选项,用于处理文件格式问题。以下命令,告诉vim将UNIX文件格式做为第一选择,而将MS-DOS的文件格式做为第二选择:

:set fileformats=unix,dos

检测到的文件格式会被存放在fileformat选项中,我们可以用以下命令来查询:

:set fileformat?

我们还可以利用fileformat选项,来转换种文件格式。例如,使用以下命令将名为readme.txt的MS-DOS格式的文件,转换为UNIX格式的文件。

:set fileformat=unix

在默认情况下,Vim认为文件是由行组成的,并且文件最后一行是以<EOL>为结束符的。如果你想设置文件以<EOL>结束符结尾,则可以用以下命令:

:set endofline

如果你想设置文件不以<EOL>结束符来结尾,则可以使用以下命令:

:set noendofline

 

 

如果你使用以下命令进入<list mode>,那么就可以清楚的看到以“$”表示的换行符和以“^I”表示的制表符。

:set list

 

你可以使用以下命令退出<list mode>:

:set nolist

 

 

删除换行

可以用以下命令删除换行符:

:%s/\n//g

可以用以下命令删除DOS文件中的回车符“^M”:

:%s/\r//g

可以用以下命令转换DOS回车符“^M”为真正的换行符:

:%s/\r/\r/g

可以用以下命令删除行尾的空格以及DOS回车符。它没有使用“/”字符作为替换命令各个参数间的分隔符,而是使用了“#”字符。命令还使用了“\?”正则表达式,用来匹配它前面出现的字符0次或1次。

:%s#\s*\r\?$##

可以用以下命令删除三行空行:

:%s/^\n\{3}//

可以用以下命令将连续的两个空行替换成一个空行:

:%s/\n\n/\r/g

 

 

自动换行

在默认情况下,Vim是不会自动换行的,也就是说我们需要自己决定回车的位置。但是我们也可以通过指定textwidth选项,让Vim自动在指定位置换行。例如,使用以下命令指定在30列时自动换行。由于在遇到空格时才会自动换行,所以换行的精确位置可能会小于你指定的列宽。

:set textwidth=29

而以下命令告诉Vim从右面算起当达到10个字符的空格时要换行:

:set wrapmargin=10

在指定了文本宽度的情况下,当我们将一行中的前几个文字删掉时,Vim并不会将后面行中的文本移动上来,而是形成了一些长短不一的段落,这样看起来不是很好。可以有几种方法处理这个问题:

一种方法是,在可视化模式下选中这些文本,然后用gp命令来格式化选中的段落。另一种方法是,使用gqmotion命令来完成格式。例如要格式化5行,就可以用命令:gq4j。这个命令告诉Vim要格式化本行,同时要格式化下面的4行,这样就达到了格式化5行的目的。如果要格式化整个段落,可以将光标放在段落的第一行上,然后执行命令gq}。而使用命令gqip可以格式化当前段落,而且并不必要将光标放在段落的第一行上。

 

如果要想格式化一行,可以使用命令gqgq,也可以简记为gqq

注意:选项textwidth优先于wrapmargin。如果要使wrapmargin选项生效,必须将textwidth设置为0(这也是默认值)。

合并行

命令J使两行合并为一行,同时用空格分隔这两行。

通过设置joinspace选项,可以控制合并两行时的分隔符(如果一行是以标点符号来结尾)。如果设置:set nojoinspaces,用J命令合并两行时会用一个空格来分隔;如果设置:set joinspaces,用J命令合并两行时会用两个空格来分隔。如果不希望用空格来分隔合并的行,可以使用gJ命令。

我们也可以使用:join命令,将几行合并为一行并使用空格来分隔各行。如果不希望加入空格,那么可以使用:join!命令。

命令小结
:set fileformat 设置文件格式
:set endofline 设置文件结束符
:set noendofline 取消文件结束符
:set list 进入List Mode
:set nolist 退出List Mode
:%s/\n//g 删除换行符
:set textwidth 设置行宽
:set textwidth 设置行边距
:join 合并多行
J 合并两行


以上灰色部分转载于http://blog.sina.com.cn/s/blog_4c76784c0100uaf9.html

 

转载于 https://github.com/ma6174/vim

 


 
  1. set sw=4  
  2. set ts=4  
  3. set et  
  4. set smarttab  
  5. set smartindent  
  6. set lbr  
  7. set fo+=mB  
  8. set sm  
  9. set selection=inclusive  
  10. set wildmenu  
  11. set mousemodel=popup  
  12.   
  13. au FileType php setlocal dict+=~/.vim/dict/php_funclist.dict  
  14. au FileType css setlocal dict+=~/.vim/dict/css.dict  
  15. au FileType c setlocal dict+=~/.vim/dict/c.dict  
  16. au FileType cpp setlocal dict+=~/.vim/dict/cpp.dict  
  17. au FileType scale setlocal dict+=~/.vim/dict/scale.dict  
  18. au FileType javascript setlocal dict+=~/.vim/dict/javascript.dict  
  19. au FileType html setlocal dict+=~/.vim/dict/javascript.dict  
  20. au FileType html setlocal dict+=~/.vim/dict/css.dict  
  21.   
  22. "  
  23. "syntastic相关  
  24. execute pathogen#infect()  
  25. let g:syntastic_python_checkers=['pylint']  
  26. let g:syntastic_php_checkers=['php', 'phpcs', 'phpmd']  
  27. "golang  
  28. "Processing... % (ctrl+c to stop)  
  29. let g:fencview_autodetect=0  
  30. set rtp+=$GOROOT/misc/vim  
  31. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  32. " 显示相关    
  33. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  34. syntax on  
  35. set cul "高亮光标所在行  
  36. set cuc  
  37. set shortmess=atI   " 启动的时候不显示那个援助乌干达儿童的提示    
  38. set go=             " 不要图形按钮    
  39. "color desert     " 设置背景主题    
  40. color ron     " 设置背景主题    
  41. "color torte     " 设置背景主题    
  42. "set guifont=Courier_New:h10:cANSI   " 设置字体    
  43. "autocmd InsertLeave * se nocul  " 用浅色高亮当前行    
  44. autocmd InsertEnter * se cul    " 用浅色高亮当前行    
  45. set ruler           " 显示标尺    
  46. set showcmd         " 输入的命令显示出来,看的清楚些    
  47. "set whichwrap+=<,>,h,l   " 允许backspace和光标键跨越行边界(不建议)    
  48. set scrolloff=3     " 光标移动到buffer的顶部和底部时保持3行距离    
  49. set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}   "状态行显示的内容    
  50. set laststatus=2    " 启动显示状态行(1),总是显示状态行(2)    
  51. "set foldenable      " 允许折叠    
  52. ""set foldmethod=manual   " 手动折叠    
  53. set nocompatible  "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限    
  54. " 显示中文帮助  
  55. if version >= 603  
  56.     set helplang=cn  
  57.     set encoding=utf-8  
  58. endif  
  59. " 自动缩进  
  60. set autoindent  
  61. set cindent  
  62. " Tab键的宽度  
  63. set tabstop=4  
  64. " 统一缩进为4  
  65. set softtabstop=4  
  66. set shiftwidth=4  
  67. " 不要用空格代替制表符  
  68. set expandtab  
  69. " 在行和段开始处使用制表符  
  70. set smarttab  
  71. " 显示行号  
  72. set number  
  73. " 历史记录数  
  74. set history=1000  
  75. "搜索逐字符高亮  
  76. set hlsearch  
  77. set incsearch  
  78. "语言设置  
  79. set langmenu=zh_CN.UTF-8  
  80. set helplang=cn  
  81. " 总是显示状态行  
  82. set cmdheight=2  
  83. " 侦测文件类型  
  84. filetype on  
  85. " 载入文件类型插件  
  86. filetype plugin on  
  87. " 为特定文件类型载入相关缩进文件  
  88. filetype indent on  
  89. " 保存全局变量  
  90. set viminfo+=!  
  91. " 带有如下符号的单词不要被换行分割  
  92. set iskeyword+=_,$,@,%,#,-  
  93. " 字符间插入的像素行数目  
  94.   
  95. "markdown配置  
  96. au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}   set filetype=mkd  
  97. au BufRead,BufNewFile *.{go}   set filetype=go  
  98. au BufRead,BufNewFile *.{js}   set filetype=javascript  
  99. "rkdown to HTML    
  100. nmap md :!~/.vim/markdown.pl % > %.html <CR><CR>  
  101. nmap fi :!firefox %.html & <CR><CR>  
  102. nmap \ \cc  
  103. vmap \ \cc  
  104.   
  105. "将tab替换为空格  
  106. nmap tt :%s/\t/    /g<CR>  
  107.   
  108.   
  109.   
  110. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  111. """""新文件标题  
  112. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  113. "新建.c,.h,.sh,.java文件,自动插入文件头   
  114. autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java,*.py exec ":call SetTitle()"   
  115. ""定义函数SetTitle,自动插入文件头   
  116. func SetTitle()   
  117.     "如果文件类型为.sh文件   
  118.     if &filetype == 'sh'   
  119.         call setline(1,"\#!/bin/bash")   
  120.         call append(line("."), "")   
  121.     elseif &filetype == 'python'  
  122.         call setline(1,"#!/usr/bin/env python")  
  123.         call append(line("."),"# coding=utf-8")  
  124.         call append(line(".")+1, "")   
  125. "    elseif &filetype == 'mkd'  
  126. "        call setline(1,"<head><meta charset=\"UTF-8\"></head>")  
  127.     else   
  128.         call setline(1, "/*************************************************************************")   
  129.         call append(line("."), "    > File Name: ".expand("%"))   
  130.         call append(line(".")+1, "  > Author: ma6174")   
  131.         call append(line(".")+2, "  > Mail: ma6174@163.com ")   
  132.         call append(line(".")+3, "  > Created Time: ".strftime("%c"))   
  133.         call append(line(".")+4, " ************************************************************************/")   
  134.         call append(line(".")+5, "")  
  135.     endif  
  136.     if &filetype == 'cpp'  
  137.         call append(line(".")+6, "#include<iostream>")  
  138.         call append(line(".")+7, "using namespace std;")  
  139.         call append(line(".")+8, "")  
  140.     endif  
  141.     if &filetype == 'c'  
  142.         call append(line(".")+6, "#include<stdio.h>")  
  143.         call append(line(".")+7, "")  
  144.     endif  
  145. "   if &filetype == 'java'  
  146. "       call append(line(".")+6,"public class ".expand("%"))  
  147. "       call append(line(".")+7,"")  
  148. "   endif  
  149.     "新建文件后,自动定位到文件末尾  
  150. endfunc   
  151. autocmd BufNewFile * normal G  
  152.   
  153.   
  154. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  155. "键盘命令  
  156. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  157. :nmap <silent> <F9> <ESC>:Tlist<RETURN>  
  158. map! <C-Z> <Esc>zzi  
  159. map! <C-O> <C-Y>,  
  160. map <C-A> ggVG$"+y  
  161. map <F12> gg=G  
  162. map <C-w> <C-w>w  
  163. imap <C-k> <C-y>,  
  164. imap <C-j> <ESC>  
  165. " 选中状态下 Ctrl+c 复制  
  166. "map <C-v> "*pa  
  167. imap <C-v> <Esc>"*pa  
  168. imap <C-a> <Esc>^  
  169. imap <C-e> <Esc>$  
  170. vmap <C-c> "+y  
  171. set mouse=v  
  172. "set clipboard=unnamed  
  173. "去空行    
  174. nnoremap <F2> :g/^\s*$/d<CR>   
  175. "比较文件    
  176. nnoremap <C-F2> :vert diffsplit   
  177. "nnoremap <Leader>fu :CtrlPFunky<Cr>  
  178. "nnoremap <C-n> :CtrlPFunky<Cr>  
  179. "列出当前目录文件    
  180. map <F3> :NERDTree<CR>    
  181. "打开树状文件目录    
  182. map <C-F3> \be    
  183. :autocmd BufRead,BufNewFile *.dot map <F5> :w<CR>:!dot -Tjpg -o %<.jpg % && eog %<.jpg  <CR><CR> && exec "redr!"  
  184. "C,C++ 按F5编译运行  
  185. map <F5> :call CompileRunGcc()<CR>  
  186. func! CompileRunGcc()  
  187.     exec "w"  
  188.     if &filetype == 'c'  
  189.         exec "!g++ % -o %<"  
  190.         exec "!time ./%<"  
  191.     elseif &filetype == 'cpp'  
  192.         exec "!g++ % -o %<"  
  193.         exec "!time ./%<"  
  194.     elseif &filetype == 'java'   
  195.         exec "!javac %"   
  196.         exec "!time java %<"  
  197.     elseif &filetype == 'sh'  
  198.         :!time bash %  
  199.     elseif &filetype == 'python'  
  200.         exec "!time python2.7 %"  
  201.     elseif &filetype == 'html'  
  202.         exec "!firefox % &"  
  203.     elseif &filetype == 'go'  
  204. "        exec "!go build %<"  
  205.         exec "!time go run %"  
  206.     elseif &filetype == 'mkd'  
  207.         exec "!~/.vim/markdown.pl % > %.html &"  
  208.         exec "!firefox %.html &"  
  209.     endif  
  210. endfunc  
  211. "C,C++的调试  
  212. map <F8> :call Rungdb()<CR>  
  213. func! Rungdb()  
  214.     exec "w"  
  215.     exec "!g++ % -g -o %<"  
  216.     exec "!gdb ./%<"  
  217. endfunc  
  218.   
  219.   
  220. "代码格式优化化  
  221.   
  222. map <F6> :call FormartSrc()<CR><CR>  
  223.   
  224. "定义FormartSrc()  
  225. func FormartSrc()  
  226.     exec "w"  
  227.     if &filetype == 'c'  
  228.         exec "!astyle --style=ansi -a --suffix=none %"  
  229.     elseif &filetype == 'cpp' || &filetype == 'hpp'  
  230.         exec "r !astyle --style=ansi --one-line=keep-statements -a --suffix=none %> /dev/null 2>&1"  
  231.     elseif &filetype == 'perl'  
  232.         exec "!astyle --style=gnu --suffix=none %"  
  233.     elseif &filetype == 'py'||&filetype == 'python'  
  234.         exec "r !autopep8 -i --aggressive %"  
  235.     elseif &filetype == 'java'  
  236.         exec "!astyle --style=java --suffix=none %"  
  237.     elseif &filetype == 'jsp'  
  238.         exec "!astyle --style=gnu --suffix=none %"  
  239.     elseif &filetype == 'xml'  
  240.         exec "!astyle --style=gnu --suffix=none %"  
  241.     else  
  242.         exec "normal gg=G"  
  243.         return  
  244.     endif  
  245.     exec "e! %"  
  246. endfunc  
  247. "结束定义FormartSrc  
  248.   
  249.   
  250.   
  251.   
  252.   
  253. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  254. ""实用设置  
  255. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  256. if has("autocmd")  
  257.       autocmd BufReadPost *  
  258.           \ if line("'\"") > 0 && line("'\"") <= line("$") |  
  259.           \   exe "normal g`\"" |  
  260.           \ endif  
  261. endif  
  262. "当打开vim且没有文件时自动打开NERDTree  
  263. autocmd vimenter * if !argc() | NERDTree | endif  
  264. " 只剩 NERDTree时自动关闭  
  265. autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif  
  266.   
  267. " 设置当文件被改动时自动载入  
  268. set autoread  
  269. " quickfix模式  
  270. autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>  
  271. "代码补全   
  272. set completeopt=preview,menu   
  273. "允许插件    
  274. "filetype plugin on  
  275. "共享剪贴板    
  276. "set clipboard+=unnamed   
  277. "自动保存  
  278. set autowrite  
  279. "set ruler                   " 打开状态栏标尺  
  280. "set cursorline              " 突出显示当前行  
  281. set magic                   " 设置魔术  
  282. set guioptions-=T           " 隐藏工具栏  
  283. set guioptions-=m           " 隐藏菜单栏  
  284. ""set foldcolumn=0  
  285. ""set foldmethod=indent   
  286. ""set foldlevel=3   
  287. " 不要使用vi的键盘模式,而是vim自己的  
  288. set nocompatible  
  289. " 去掉输入错误的提示声音  
  290. set noeb  
  291. " 在处理未保存或只读文件的时候,弹出确认  
  292. set confirm  
  293. "禁止生成临时文件  
  294. set nobackup  
  295. set noswapfile  
  296. "搜索忽略大小写  
  297. set ignorecase  
  298.   
  299.   
  300.   
  301.   
  302. set linespace=0  
  303. " 增强模式中的命令行自动完成操作  
  304. set wildmenu  
  305. " 使回格键(backspace)正常处理indent, eol, start等  
  306. set backspace=2  
  307. " 允许backspace和光标键跨越行边界  
  308. set whichwrap+=<,>,h,l  
  309. " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)  
  310. set mouse=a  
  311. set selection=exclusive  
  312. set selectmode=mouse,key  
  313. " 通过使用: commands命令,告诉我们文件的哪一行被改变过  
  314. set report=0  
  315. " 在被分割的窗口间显示空白,便于阅读  
  316. set fillchars=vert:\ ,stl:\ ,stlnc:\  
  317. " 高亮显示匹配的括号  
  318. set showmatch  
  319. " 匹配括号高亮的时间(单位是十分之一秒)  
  320. set matchtime=1  
  321. " 光标移动到buffer的顶部和底部时保持3行距离  
  322. set scrolloff=3  
  323. " 为C程序提供自动缩进  
  324. "自动补全  
  325. "":inoremap ( ()<ESC>i  
  326. "":inoremap ) <c-r>=ClosePair(')')<CR>  
  327. ":inoremap { {<CR>}<ESC>O  
  328. ":inoremap } <c-r>=ClosePair('}')<CR>  
  329. "":inoremap [ []<ESC>i  
  330. "":inoremap ] <c-r>=ClosePair(']')<CR>  
  331. "":inoremap " ""<ESC>i  
  332. "":inoremap ' ''<ESC>i  
  333. ""function! ClosePair(char)  
  334. ""  if getline('.')[col('.') - 1] == a:char  
  335. ""      return "\<Right>"  
  336. ""  else  
  337. ""      return a:char  
  338. ""  endif  
  339. ""endfunction  
  340. filetype plugin indent on   
  341. "打开文件类型检测, 加了这句才可以用智能补全  
  342. set completeopt=longest,menu  
  343. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  344. " CTags的设定    
  345. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  346. let Tlist_Sort_Type = "name"    " 按照名称排序    
  347. let Tlist_Use_Right_Window = 1  " 在右侧显示窗口    
  348. let Tlist_Compart_Format = 1    " 压缩方式    
  349. let Tlist_Exist_OnlyWindow = 1  " 如果只有一个buffer,kill窗口也kill掉buffer    
  350. ""let Tlist_File_Fold_Auto_Close = 0  " 不要关闭其他文件的tags    
  351. ""let Tlist_Enable_Fold_Column = 0    " 不要显示折叠树    
  352. "let Tlist_Show_One_File=1            "不同时显示多个文件的tag,只显示当前文件的  
  353. "设置tags    
  354. "set tags=tags    
  355. "set autochdir   
  356.   
  357.   
  358.   
  359.   
  360.   
  361.   
  362.   
  363.   
  364.   
  365.   
  366.   
  367. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  368. "其他东东  
  369. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  370. "默认打开Taglist   
  371. let Tlist_Auto_Open=0   
  372. """"""""""""""""""""""""""""""   
  373. " Tag list (ctags)   
  374. """"""""""""""""""""""""""""""""   
  375. let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'   
  376. let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的   
  377. let Tlist_File_Fold_Auto_Close = 1  
  378. let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim   
  379. let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口  
  380. " minibufexpl插件的一般设置  
  381. let g:miniBufExplMapWindowNavVim = 1  
  382. let g:miniBufExplMapWindowNavArrows = 1  
  383. let g:miniBufExplMapCTabSwitchBufs = 1  
  384. let g:miniBufExplModSelTarget = 1    
  385. nmap tl :Tlist<cr>  
  386.   
  387.   
  388.   
  389. "输入法  
  390. :let g:vimim_map='c-/'  
  391. ":let g:vimim_cloud='sougou' " QQ云输入  
  392. :let g:vimim_punctuation=0  " 不用中文标点  
  393. :set pastetoggle=<C-H>  
  394. :let g:vimim_cloud=-1  
  395.   
  396.   
  397. "python补全  
  398. let g:pydiction_location = '~/.vim/after/complete-dict'  
  399. let g:pydiction_menu_height = 20  
  400. let Tlist_Ctags_Cmd='/usr/local/bin/ctags'  
  401. let g:miniBufExplMapWindowNavVim = 1  
  402. let g:miniBufExplMapWindowNavArrows = 1  
  403. let g:miniBufExplMapCTabSwitchBufs = 1  
  404. let g:miniBufExplModSelTarget = 1  
  405.   
  406.   
  407. set iskeyword+=.  
  408. set termencoding=utf-8  
  409. set encoding=utf8  
  410. set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030  
  411.   
  412. autocmd FileType python set omnifunc=pythoncomplete#Complete  
  413.   
  414. "set nocompatible               " be iMproved  
  415. "filetype off                   " required!  
  416.   
  417. set rtp+=~/.vim/bundle/vundle/  
  418. call vundle#rc()  
  419.   
  420. " let Vundle manage Vundle  
  421. " required!   
  422. Bundle 'gmarik/vundle'  
  423.   
  424. " My Bundles here:  
  425. "  
  426. " original repos on github  
  427. Bundle 'tpope/vim-fugitive'  
  428. Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}  
  429. Bundle 'Yggdroot/indentLine'  
  430. let g:indentLine_char = '┊'  
  431. "ndle 'tpope/vim-rails.git'  
  432. " vim-scripts repos  
  433. Bundle 'L9'  
  434. Bundle 'FuzzyFinder'  
  435. " non github repos  
  436. Bundle 'git://git.wincent.com/command-t.git'  
  437. Bundle 'Auto-Pairs'  
  438. Bundle 'python-imports.vim'  
  439. Bundle 'CaptureClipboard'  
  440. Bundle 'ctrlp-modified.vim'  
  441. Bundle 'last_edit_marker.vim'  
  442. Bundle 'synmark.vim'  
  443. "Bundle 'Python-mode-klen'  
  444. Bundle 'SQLComplete.vim'  
  445. Bundle 'Javascript-OmniCompletion-with-YUI-and-j'  
  446. "Bundle 'JavaScript-Indent'  
  447. "Bundle 'Better-Javascript-Indentation'  
  448. Bundle 'jslint.vim'  
  449. Bundle "pangloss/vim-javascript"  
  450. Bundle 'Vim-Script-Updater'  
  451. Bundle 'ctrlp.vim'  
  452. Bundle 'tacahiroy/ctrlp-funky'  
  453. Bundle 'jsbeautify'  
  454. Bundle 'The-NERD-Commenter'  
  455. "django  
  456. Bundle 'django_templates.vim'  
  457. Bundle 'Django-Projects'  
  458.   
  459. "Bundle 'FredKSchott/CoVim'  
  460. "Bundle 'djangojump'  
  461. " ...  
  462. let g:html_indent_inctags = "html,body,head,tbody"  
  463. let g:html_indent_script1 = "inc"  
  464. let g:html_indent_style1 = "inc"  
  465.   
  466. filetype plugin indent on     " required!  
  467. "  
  468. " Brief help  
  469. " :BundleList          - list configured bundles  
  470. " :BundleInstall(!)    - install(update) bundles  
  471. " :BundleSearch(!) foo - search(or refresh cache first) for foo  
  472. " :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles  
  473. "  
  474. " see :h vundle for more details or wiki for FAQ  
  475. " NOTE: comments after Bundle command are not allowed..  
  476. "  
  477. "  
  478. "ctrlp设置  
  479. "  
  480. set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.png,*.jpg,*.gif     " MacOSX/Linux  
  481. set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe,*.pyc,*.png,*.jpg,*.gif  " Windows  
  482.   
  483. let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'  
  484. let g:ctrlp_custom_ignore = '\v\.(exe|so|dll)$'  
  485. let g:ctrlp_extensions = ['funky']  
  486.   
  487. let NERDTreeIgnore=['\.pyc']  
  488.  



(责任编辑:IT)
------分隔线----------------------------