徘徊在EMACS和VIM之间(三)

转自:http://blog.csdn.net/respawn/article/details/7389196


今天没什么事情做,就想起以前自己钟爱的vim,自从自己重装ubuntu之后就一直没有将vim配置一下... 不是因为自己重装系统而没有保存vim的配置,以前有同学问我要过我的vim配置,

那时候我就发给他了,后来以至于看到大家的vim,怎么神马的都和我的一样子的...我亲爱的同学们,你们参考就行了,这样子赤裸裸的拿来主义让我情何以堪~~~~ !!!

晚上就花了点时间配置了vim,和以前的不一样子.删去不长使用的插件配置,改用比较实用的配置.

基础配置文件是:

[plain] view plain copy
  1. ">>>>>basic settings<<<<  
  2. set nocompatible "关闭与VI的兼容  
  3. set nu! "显示行号  
  4. set wrap "自动折叠  
  5. set mouse=a "任何情况下都使用鼠标  
  6.   
  7. filetype on  
  8. filetype plugin on "开启侦探文件类型  
  9.   
  10. "开启语法高亮显示  
  11. if !exists("syntax_on")  
  12. syntax on  
  13. endif  
  14.   
  15. set filetype=c  "设置默认语言为C  
  16. set tabstop=4   "设置tab距离为4  
  17. set shiftwidth=4  
  18. set expandtab  
  19. set cindent     "使用C语言的对齐方式  
  20. set smartindent "智能自动缩进  
  21. set autoindent  "自动对齐,使用上一行的对齐方式  
  22. set ai!         "设置自动缩进  
  23. set nocp        "可以使用backspace  
  24. set backspace=indent,eol,start "使以前的字符也能使用backspace  
  25. set ignorecase  "搜索的时候不区分大小写 set noic区分大小写  
  26.   
  27. "主题颜色  
  28. "colorscheme pablo   
  29.   
  30. set ruler "编辑过程中,右下角显示光标位置的状态行  
  31. set showmatch    "设置匹配模式,括号自动匹配  
  32. set incsearch    "搜索自动定位  
  33. set hlsearch     "高亮搜索  
  34. set autochdir    "自动切换工作目录  
  35. set lines=38 columns=135 "设置窗口大小  
  36. set cmdheight=1  "设置cmd窗口高度  

set mouse=a "任何情况下都使用鼠标

上面这句对于从window转换过来的用户很有用

想想emacs是可以利用下面的状态栏显示一些有用数据的,所以我也DIY了自己的状态栏:

[plain] view plain copy
  1. "自定义下面显示的状态栏  
  2. set laststatus=2 "2:总是显示状态栏 0:隐藏状态栏  
  3. let statusHead         ="%-.50f\ %h%m%r"  
  4. let statusBreakPoint   ="%<"  
  5. let statusSeparator    ="|"  
  6. let statusFileType     ="%{((&ft\ ==\ \"help\"\ \|\|\ &ft\ ==\ \"\")?\"\":\"[\".&ft.\"]\")}"  
  7. let statusFileFormat   ="[%{(&ff\ ==\ \"unix\")?\"u\":\"d\"}]"  
  8. let statusAscii        ="\{%b:0x%B\}"  
  9. let statusCwd          ="%-.50{getcwd()}"  
  10. let statusBody         =statusFileType.statusFileFormat.statusSeparator.statusAscii.statusSeparator."\ ".statusBreakPoint.statusCwd  
  11. let statusEncoding     ="[%{(&fenc\ ==\ \"\"?&enc:&fenc).(&bomb?\",BOM\":\"\")}]"  
  12. let statusBlank        ="%="  
  13. let statusKeymap       ="%k"  
  14. let statusRuler        ="%-12.(%lL,%c%VC%)\ %P"  
  15. let statusTime         ="%{strftime(\"%Y/%m/%d\ -\ %H:%M\")}"  
  16. let statusEnd=statusKeymap."\ ".statusEncoding.statusRuler."\ ".statusTime  
  17. "" 最终状态栏的模式字符串  
  18. let statusString=statusHead.statusBody.statusBlank.statusEnd  
  19. set statusline=%!statusString  
  20. highlight StatusLine cterm=bold ctermfg=yellow ctermbg=blue  "状态栏颜色设置  

配置的插件倒是不少,截图,我下载的所有插件包:


[plain] view plain copy
  1. neocomplcache    补全插件  
  2.   
  3. cvim             注释,模板插件  
  4.   
  5. ctags            生成tag,辅助taglist插件  
  6.   
  7. taglist          代码浏览插件  
  8.   
  9. nerdtree         文件浏览插件  
  10.   
  11. project          项目插件  
  12.   
  13. clewn            GDB调试插件  
  14.   
  15. DrawIt           画图插件,简单示意图  
  16.   
  17. nerdcommenter    注释插件  
  18.   
  19. DoxygenToolKit   生成文档注释插件,冋了,截图没截到!  

下面是插件配置:

[plain] view plain copy
  1. ">>>>plugins settings<<<<  
  2.   
  3. "文档注释插件DoxygenToolkit settings  
  4. let g:DoxygenToolkit_authorName="forest [email protected]"  
  5. let g:DoxygenToolkit_briefTag_funcName="yes"  
  6. let g:doxygen_enhanced_color=1  
  7. " :DoxAuthor 生成文件注释  
  8. " :DoxLic license注释  
  9. " :Dox 函数/类/结构体注释  
  10.   
  11. "注释插件NERD_commenter settings  
  12. "快捷键参照helptags NERD_commenter.txt  
  13.   
  14. "Taglist  
  15. let Tlist_Use_Right_Window=1 "1:右边显示0:左边显示  
  16. let Tlist_Show_One_File=0 "让其可以同时显示多个文件的函数列表,1:只显示一个  
  17. let TList_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏  
  18. let Tlist_Exit_OnlyWindow=1 "当TagList是最后一个窗口时,自动推出vim  
  19. let Tlist_Process_File_Always=0 "1:一直处理tags 0:不处理  
  20. let Tlist_Inc_Winwidth=0   
  21.   
  22. "快捷键  
  23. "回车键      跳到光标所在的标记的定义处(如将光标移到main函数,按回车键)  
  24. "o      新建一个窗口,跳到标记定义处  
  25. "p      预览标记定义(仍然在taglist窗口)  
  26. "空格      在窗口的最下面显示标记的原型(如函数原型)  
  27. "u      更新标记列表(比如源文件新增了一个函数,并在保存后,可在taglist窗口按u)  
  28. "s      更改排序方式,在按名字排序和按出现顺序排序间切  
  29. "d      删除光标所在的taglist文件(如用vi打开了两个文件f1.c,f2.c可以删除f1.c的标记)  
  30. "x      放大/缩小taglist窗口  
  31. "+      展开(指标记)  
  32. "-      折叠  
  33. "*      全部展开  
  34. "=      全部折叠  
  35. "[[      将光标移到前一个文件的起点  
  36. "]]      将光标移到后一个文件的起点  
  37. "q      退出taglist窗口  
  38.   
  39. "补全插件necomplcache  
  40. let g:neocomplcache_enable_at_startup=1  

我并没有绑定快捷键, 即使是用emacs的时候我也是很少绑定快捷键的.主要还是自己不是很喜欢吧~~

晒晒我的vim的截图~~



接合ctags使用vim浏览源码的时候是很舒服的..

以后会给vim配置一个svn插件~~ 那就差不多了...

你可能感兴趣的:(Linux,vim/emacs)