1. runtime! debian.vim
  2. "设置编码
  3. set encoding=utf-
  4. set fencs=utf-,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
  5. set fileencodings=utf-,ucs-bom,chinese
  6.  
  7. "语言设置
  8. set langmenu=zh_CN.UTF-
  9.  
  10. "设置语法高亮
  11. syntax enable
  12. syntax on
  13.  
  14. "设置配色方案
  15. colorscheme torte
  16.  
  17. "可以在buffer的任何地方使用鼠标
  18. set mouse=a
  19. set selection=exclusive
  20. set selectmode=mouse,key
  21.  
  22. "高亮显示匹配的括号
  23. set showmatch
  24.  
  25. "去掉vi一致性
  26. set nocompatible
  27.  
  28. "设置缩进
  29. set tabstop=
  30. set softtabstop=
  31. set shiftwidth=
  32. set autoindent
  33. set cindent
  34. if &term=="xterm"
  35. set t_Co=
  36. set t_Sb=^[[%dm
  37. set t_Sf=^[[%dm
  38. endif
  39.  
  40. "打开文件类型自动检测功能
  41. filetype on
  42.  
  43. "设置taglist
  44. let Tlist_Show_One_File= "显示多个文件的tags
  45. let Tlist_File_Fold_Auto_Close= "非当前文件,函数列表折叠隐藏
  46. let Tlist_Exit_OnlyWindow= "在taglist是最后一个窗口时退出vim
  47. let Tlist_Use_SingleClick= "单击时跳转
  48. let Tlist_GainFocus_On_ToggleOpen= "打开taglist时获得输入焦点
  49. let Tlist_Process_File_Always= "不管taglist窗口是否打开,始终解析文件中的tag
  50.  
  51. "设置WinManager插件
  52. let g:winManagerWindowLayout='FileExplorer|TagList'
  53. nmap wm :WMToggle<cr>
  54. map <silent> <F9> :WMToggle<cr> "F9绑定至WinManager,即打开WimManager
  55.  
  56. "设置CSCOPE
  57. set cscopequickfix=s-,c-,d-,i-,t-,e- "设定是否使用quickfix窗口显示cscope结果
  58.  
  59. "设置Grep插件
  60. nnoremap <silent> <F3> :Grep<CR>
  61.  
  62. "设置一键编译
  63. map <F6> :make<CR>
  64.  
  65. "设置自动补全
  66. filetype plugin indent on "打开文件类型检测
  67. set completeopt=longest,menu "关掉智能补全时的预览窗口
  68.  
  69. "启动vim时如果存在tags则自动加载
  70. if exists("tags")
  71. set tags=./tags
  72. endif
  73.  
  74. "设置按F12就更新tags的方法
  75. map <F12> :call Do_CsTag()<CR>
  76. nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>:copen<CR>
  77. nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>
  78. nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>:copen<CR>
  79. nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>:copen<CR>
  80. nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>:copen<CR>
  81. nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>:copen<CR>
  82. nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>:copen<CR>
  83. nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>:copen<CR>
  84. function Do_CsTag()
  85. let dir = getcwd()
  86. if filereadable("tags")
  87. if(g:iswindows==)
  88. let tagsdeleted=delete(dir."\\"."tags")
  89. else
  90. let tagsdeleted=delete("./"."tags")
  91. endif
  92. if(tagsdeleted!=)
  93. echohl WarningMsg | echo "Fail to do tags! I cannot delete the tags" | echohl None
  94. return
  95. endif
  96. endif
  97.  
  98. if has("cscope")
  99. silent! execute "cs kill -1"
  100. endif
  101.  
  102. if filereadable("cscope.files")
  103. if(g:iswindows==)
  104. let csfilesdeleted=delete(dir."\\"."cscope.files")
  105. else
  106. let csfilesdeleted=delete("./"."cscope.files")
  107. endif
  108. if(csfilesdeleted!=)
  109. echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.files" | echohl None
  110. return
  111. endif
  112. endif
  113.  
  114. if filereadable("cscope.out")
  115. if(g:iswindows==)
  116. let csoutdeleted=delete(dir."\\"."cscope.out")
  117. else
  118. let csoutdeleted=delete("./"."cscope.out")
  119. endif
  120. if(csoutdeleted!=)
  121. echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.out" | echohl None
  122. return
  123. endif
  124. endif
  125.  
  126. if(executable('ctags'))
  127. "silent! execute "!ctags -R --c-types=+p --fields=+S *"
  128. silent! execute "!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."
  129. endif
  130.  
  131. if(executable('cscope') && has("cscope") )
  132. if(g:iswindows!=)
  133. silent! execute "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.java' -o -name '*.cs' > cscope.files"
  134. else
  135. silent! execute "!dir /s/b *.c,*.cpp,*.h,*.java,*.cs >> cscope.files"
  136. endif
  137. silent! execute "!cscope -b"
  138. execute "normal :"
  139.  
  140. if filereadable("cscope.out")
  141. execute "cs add cscope.out"
  142. endif
  143. endif
  144. endfunction
  145.  
  146. "设置默认shell
  147. set shell=bash
  148.  
  149. "设置VIM记录的历史数
  150. set history=
  151.  
  152. "设置当文件被外部改变的时侯自动读入文件
  153. if exists("&autoread")
  154. set autoread
  155. endif
  156.  
  157. "设置ambiwidth
  158. set ambiwidth=double
  159.  
  160. "设置文件类型
  161. set ffs=unix,dos,mac
  162.  
  163. "设置增量搜索模式
  164. set incsearch
  165.  
  166. "设置静音模式
  167. set noerrorbells
  168. set novisualbell
  169. set t_vb=
  170.  
  171. "不要备份文件
  172. set nobackup
  173. set nowb

~/.vimrc config的更多相关文章

  1. vimrc config and NERDTree

    nmap <C-N> :tabnext<CR> 下载和配置 NERDTree插件的官方地址如下,可以从这里获取最新的版本 https://github.com/scrooloo ...

  2. 大神的vim配置

    大神的vim配置,O(∩_∩)O spf13-vim : Steve Francia's Vim Distribution __ _ _____ _ ___ _ __ / _/ |___ / __ _ ...

  3. neovim的新体验

    A. 缘由  vim下的CtrlP插件好用,但是当文件较多时,不能很快检索,时有卡死的情况发生.听说neovim引入了很多新的功能,例如异步处理,job管理等. B. 安装neovim1. Ubunt ...

  4. neovim初次安装使用

    github下载neovim代码 按readme中安装,中间可能 要安装一些库 将vim的配置关联到nvim,发现和vim是一样的 ln -s ~/.vim ~/.config/nvim ln -s ...

  5. 如何设置Vimrc

    .title { text-align: center } .todo { font-family: monospace; color: red } .done { color: green } .t ...

  6. linux vim taglist config

    "vim config .vimrc "taglist map <silent> <F10> :TlistToggle let tlist_php_sett ...

  7. 编写一份好的 Vimrc

    编写一份好的 Vimrc 目录 如何 Vimrc 色彩 空白字符与制表符 UI 配置 搜索 折叠 移动 用户自定义的前缀快捷按键 插件CtrlP 启动配置 终端Tmux 自动命令及其分组 备份 自定义 ...

  8. vim 配置.vimrc文件

    下面这个.vimrc文件是根据公司里的一个前辈配置的,这里记录下,方便以后使用.它的功能,其实跟网上很多.vimrc配置的相比,还是小儿科.我记录下来,主要还是因为自己已经习惯了这个工作环境跟快捷键. ...

  9. 我的.vimrc配置

    termux平台下,通过pkg update && pkg upgrade && pkg install vim来获得vim.可是,当我配置.vimrc时发现如果我每在 ...

随机推荐

  1. jQuery获取Select选中的Text和Value,根据Value值动态添加属性

    语法解释:1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发2. var chec ...

  2. &lt;Android&gt;从窗口泄漏谈android:configChanges属性

    今天有幸去哥们的大公司做了半天的暂时工,一个偶现的Bug折腾了他好久,好不easy今天抓到了异常Log日志.大致的意思就是android.view.windowleaked--窗口泄漏.我在网上查了资 ...

  3. PagerSlidingTabStrip

    https://github.com/jpardogo/PagerSlidingTabStrip     

  4. [HTTP2] HTTP1 probs and HTTP2 saves

    1. HOL (HEADS of LINE BLOCKING) Too many requests in the header tag. Broswer can allow 6 reuqest to ...

  5. 删除sd卡的文件

    public static void deleteAllFile(){ String path = Environment.getExternalStorageDirectory().getAbsol ...

  6. MySQL特殊语法---replace into

    MySQL中有这样的SQL语句 1. replace into tbl_name(col_name, ...) values(...) 2. replace into tbl_name(col_nam ...

  7. 创建本地RPM源之更新系统旧版软件mysql

    事情起因 系统版本为Centos6.6 ,因为之前同事没有采用最小化选择性安装,所以系统安装好后自带有mysql5.1的三个安装包: [root@test ~]# rpm -qa | grep mys ...

  8. 数据库sharding(scale up to scale out)

    sharding是将一个大数据库按照一定规则拆分成多个小数据库的一门技术. 当我们的应用数据量越来越多,访问量越来越大的时候,我们会作何选择?继续提升数据库服务器的性能还是采用一项技术让数据库平滑扩展 ...

  9. Highcharts在IE中不能一次性正常显示的一种解决办法

    由于客户要求必须在IE浏览器下兼容图表,故选用了兼容性较好的Highcharts.另外说一句,博主尝试过ichartjs.ECharts.YUI,兼容性都没有Highcharts给力(所有的兼容性问题 ...

  10. 关于微软企业库中依赖注入容器Unity两种生成对象的实现u

    http://www.byywee.com/page/M0/S261/261037.html