目录

vimrc

  1. if has("syntax")
  2. syntax on
  3. endif
  4. set nocompatible "取消vi 兼容模式
  5. "{{{ paste mode f6,f7
  6. :map <F6> :set paste<CR>
  7. :map <F7> :set nopaste<CR>
  8. :imap <F6> <C-O>:set paste<CR>
  9. :imap <F7> <nop>
  10. :set pastetoggle=<F6>
  11. "}}}
  12. "{{{ fold
  13. set foldenable " 开始折叠
  14. set foldmethod=syntax " 设置语法折叠
  15. set foldcolumn=0 " 设置折叠区域的宽度
  16. setlocal foldlevel=0 " 设置折叠层数
  17. "set foldopen=all "光标到达折叠快时,自动打开
  18. set foldclose=all " 离开代码块后,自动折叠
  19. " 用空格键来开关折叠
  20. nnoremap <space> zi
  21. "}}}
  22. set mouse=v "可视模式
  23. set mouse=a " Enable mouse usage (all modes) 启用鼠标方便翻页,移动光标
  24. set showmatch " Show matching brackets.
  25. "set ignorecase " Do case insensitive matching
  26. "set smartcase " Do smart case matching
  27. set nobackup "no backup
  28. set autoread " 设置当文件被改动时自动载入
  29. set autowrite " Automatically save before commands like :next and :make
  30. set hidden " Hide buffers when they are abandoned
  31. set nu "show line number
  32. set ruler "show cursor site in right below
  33. set tabstop=4 " 统一缩进为4
  34. set shiftwidth=4
  35. set incsearch " 输入字符串就显示匹配点
  36. set hlsearch " 高亮度搜寻
  37. set autoindent "自动缩进
  38. set cindent
  39. set completeopt=longest,menu
  40. set completeopt=preview,menu "代码补全
  41. "{{{start----- 自动补全 -----------------
  42. :inoremap ( ()<ESC>i
  43. :inoremap ) <c-r>=ClosePair(')')<CR>
  44. :inoremap { {<CR>}<ESC>O
  45. :inoremap } <c-r>=ClosePair('}')<CR>
  46. :inoremap [ []<ESC>i
  47. :inoremap ] <c-r>=ClosePair(']')<CR>
  48. :inoremap " ""<ESC>i
  49. :inoremap ' ''<ESC>i
  50. function! ClosePair(char)
  51. if getline('.')[col('.') - 1] == a:char
  52. return "\<Right>"
  53. else
  54. return a:char
  55. endif
  56. endfunction
  57. "}}} "end--------------------------------
  58. "----- 打开文件类型检测-----------------
  59. filetype plugin indent on
  60. au BufNewFile,BufRead *.h set filetype=h
  61. "start---------- definition SetTitle() ------------------------------------
  62. autocmd BufNewFile *.cpp,*.c,*.h,*.sh,*.java exec ":call SetTitle()"
  63. func SetTitle()
  64. if &filetype == 'sh'
  65. call setline(1,"\#########################################################################")
  66. call append(line("."), "\# File Name: ".expand("%"))
  67. call append(line(".")+1, "\# Author: ims")
  68. call append(line(".")+2, "\# Created Time: ".strftime("%c"))
  69. call append(line(".")+3, "\#########################################################################")
  70. call append(line(".")+4, "\#!/bin/bash")
  71. call append(line(".")+5, "")
  72. else
  73. call setline(1, "/*************************************************************************")
  74. call append(line("."), " > File Name: ".expand("%"))
  75. call append(line(".")+1, " > Author: ims")
  76. call append(line(".")+2, " > Created Time: ".strftime("%c"))
  77. call append(line(".")+3, " ************************************************************************/")
  78. call append(line(".")+4, "")
  79. endif
  80. if &filetype == 'cpp'
  81. call append(line(".")+5, "#include<iostream>")
  82. call append(line(".")+6, "using namespace std;")
  83. call append(line(".")+7, "")
  84. call append(line(".")+8, "int main()")
  85. call append(line(".")+9, "{")
  86. call append(line(".")+10, "\t")
  87. call append(line(".")+11, "\treturn 0;")
  88. call append(line(".")+12, "}")
  89. endif
  90. if &filetype == 'h'
  91. let tem= expand("%")
  92. let lens= strlen(tem)
  93. let substr = strpart(tem,0,lens-2)
  94. let headstr = toupper(substr).'_H'
  95. call append(line(".")+5, '#ifndef '.headstr)
  96. call append(line(".")+6, '#define '.headstr)
  97. call append(line(".")+7, "")
  98. call append(line(".")+8, " ")
  99. call append(line(".")+9, "#endif")
  100. set filetype=cpp
  101. endif
  102. if &filetype == 'c'
  103. call append(line(".")+5, "#include<stdio.h>")
  104. call append(line(".")+6, "")
  105. call append(line(".")+7, "")
  106. call append(line(".")+8, "int main()")
  107. call append(line(".")+9, "{")
  108. call append(line(".")+10, "\t")
  109. call append(line(".")+11, "\treturn 0;")
  110. call append(line(".")+12, "}")
  111. endif
  112. normal 12G"
  113. endfunc
  114. au BufRead *.h set filetype=cpp
  115. "end----------- SetTitle() --------------------------------
  116. "start------- set title of file of .py ----------
  117. autocmd BufNewFile *.py exec ":call SetTitleOfFilePy()"
  118. func SetTitleOfFilePy()
  119. call setline(1,"\#! /usr/bin/python3.5")
  120. call append(line("."), "\# -*- coding: UTF-8 -*-")
  121. call append(line(".")+1, "\####################################################################")
  122. call append(line(".")+2, "\# File Name: ".expand("%"))
  123. call append(line(".")+3, "\# Author: ims")
  124. call append(line(".")+4, "\# Created Time: ".strftime("%c"))
  125. call append(line(".")+5, "\####################################################################")
  126. call append(line(".")+6, "")
  127. call append(line(".")+7, "")
  128. normal 9G
  129. endfunc
  130. "end--------------------------------------------
  131. "start------运行.c/.cpp/.java/.sh文件-----------------
  132. nnoremap <F4> :call CompileRunGcc()<CR>
  133. func! CompileRunGcc()
  134. exec "w"
  135. if &filetype == 'c'
  136. exec "!g++ % -o %<"
  137. exec "! ./%<"
  138. elseif &filetype == 'cpp'
  139. exec "!g++ % -std=c++11 -o %<"
  140. exec "! ./%<"
  141. elseif &filetype == 'java' :
  142. exec "!javac %"
  143. exec "!java %<"
  144. elseif &filetype == 'sh'
  145. exec "!chmod +x %"
  146. :!./%
  147. endif
  148. endfunc
  149. "end------------------------------------------
  150. "start------运行.py 文件 <F4> ----------------
  151. nnoremap <F3> :call RunPy()<CR>
  152. func! RunPy()
  153. exec "w"
  154. exec "!chmod +x %"
  155. :!./%
  156. endfunc
  157. "end-----------------------------------
  158. "{{{ cscope setting
  159. if has("cscope")
  160. set csprg=/usr/bin/cscope
  161. set csto=1
  162. set cst
  163. set nocsverb
  164. " add any database in current directory
  165. if filereadable("cscope.out")
  166. cs add cscope.out
  167. endif
  168. set csverb
  169. endif
  170. "}}}
  171. "{{{ CtrlP Settings
  172. " two setting can prevent change of ctrlp_working_path
  173. set noautochdir
  174. let g:ctrlp_working_path_mode = 0
  175. "}}}
  176. "{{{ map ctags,srcExpl,NerdTree:F8,F9,F10,F12
  177. " Open and close the taglist.vim separately
  178. nnoremap <F9> :TrinityToggleTagList<CR>
  179. " Open and close the srcexpl.vim separately
  180. nnoremap <F10> :TrinityToggleSourceExplorer<CR>
  181. " Open and close the NERD_tree.vim separately
  182. nnoremap <F12> :TrinityToggleNERDTree<CR>
  183. " Open and close all the three plugins on the same time
  184. "nnoremap <F12> :TrinityToggleAll<CR>
  185. "}}}
  186. "add command from tutor
  187. :let mapleader = "\\"
  188. :let maplocalleader = "\\"
  189. "{{{ my shortcut key
  190. :nnoremap <localleader>q :q<cr>
  191. :nnoremap <localleader>qq :q!<cr>
  192. :nnoremap <localleader>wq :wq<cr>
  193. :nnoremap <localleader>wa :wa<cr>
  194. :nnoremap <localleader>qa :qa<cr>
  195. :nnoremap <localleader>s :%s/
  196. :nnoremap <localleader>sh :ConqueTerm bash <cr>
  197. :nnoremap <localleader>shs :ConqueTermSplit bash<cr>
  198. :nnoremap <localleader>shv :ConqueTermVSplit bash<cr>
  199. :nnoremap <localleader>sht :ConqueTermTab bash<cr>
  200. :nnoremap <localleader>y "+y<cr>
  201. :nnoremap <localleader>yy "+yy<cr>
  202. :nnoremap <localleader>yw "+yw<cr>
  203. :nnoremap <localleader>/ :/\<\>
  204. :nnoremap <localleader>? :?\<\>
  205. :inoremap <c-d> <esc>ddo
  206. :nnoremap <localleader>ev :vsplit$MYVIMRC<cr>
  207. :nnoremap <localleader>ms :vsplit $VIMRUNTIME/colors/ims.vim<cr>
  208. :nnoremap <localleader>sv :source$MYVIMRC<cr>
  209. :inoremap jk <esc>
  210. :nnoremap <leader>" viw<esc>a"<esc>hbi"<esc>lel
  211. :nnoremap <leader>' viw<esc>a'<esc>hbi'<esc>lel
  212. :autocmd FileType cpp nnoremap <buffer> <localleader>c I//<esc>
  213. :autocmd FileType python nnoremap <buffer> <localleader>c I#<esc>
  214. :autocmd FileType python :iabbrev <buffer> if if()<left>
  215. :autocmd FileType cpp :iabbrev <buffer> for for(int i=0; i< ; i++)<esc>7h
  216. :autocmd FileType c :iabbrev <buffer> for for(int i=0; i< ; i++)<esc>7h
  217. "}}}
  218. "{{{ cscope cs find
  219. :nnoremap <c-@> :cs f
  220. "}}}
  221. "{{{ format text
  222. nmap <tab> V>
  223. nmap <s-tab> V<
  224. vmap <tab> >gv
  225. vmap <s-tab> <gv
  226. "}}}
  227. "sdvc{{{
  228. set keywordprg=sdcv\ -u\ 朗道英汉字典5.0
  229. function! Mydict()
  230. let retstr=system('sdcv '.expand("<cword>"))
  231. windo if expand("%")=="dict-win" |q!|endif
  232. 30vsp dict-win
  233. setlocal buftype=nofile bufhidden=hide noswapfile
  234. 1s/^/\=retstr/
  235. 1
  236. endfunction
  237. nnoremap F :call Mydict()<CR>
  238. "use sdcv instead man
  239. :set keywordprg=sdcv
  240. "}}}
  241. "{{{ minibufexplore settings
  242. let g:miniBufExplMapWindowNavVim = 1
  243. let g:miniBufExplMapWindowNavArrows = 1
  244. let g:miniBufExplMapCTabSwitchBufs = 1
  245. let g:miniBufExplModSelTarget = 1
  246. let g:bufExplorerMaxHeight=3
  247. "}}}
  248. "{{{ Colors Settings
  249. colorscheme ims
  250. set guifont=Consolas:h13:cANSI
  251. "}}}
  252. set clipboard+=unnamedplus

ims.vim

  1. " Vim color file modify from industrial
  2. " Maintainer: ims
  3. let colors_name = "ims"
  4. " Remark: "industry" stands for 'industrial' color scheme. In industrial
  5. " HMI (Human-Machine-Interface) programming, using a standard color
  6. " scheme is mandatory in many cases (in traffic-lights for example):
  7. " LIGHT_RED is 'Warning'
  8. " LIGHT_YELLOW is 'Attention'
  9. " LIGHT_GREEN is 'Normal'
  10. " LIGHT_MAGENTA is 'Warning-Attention' (light RED-YELLOW)
  11. " LIGHT_CYAN is 'Attention-Normal' (light YELLOW-GREEN).
  12. " BLACK is Dark-High-Contrast Background for maximum safety.
  13. " BLUE is Shade of BLACK (not supposed to get attention).
  14. "
  15. " Industrial color scheme is by nature clear, safe and productive.
  16. " Yet, depends on the file type's syntax, it might appear incorrect.
  17. " Reset to dark background, then reset everything to defaults:
  18. set background=dark
  19. highlight clear
  20. if exists("syntax_on")
  21. syntax reset
  22. endif
  23. " First set Normal to regular white on black text colors:
  24. hi Normal ctermfg=LightGray ctermbg=233 guifg=#dddddd guibg=Black
  25. " Syntax highlighting (other color-groups using default, see :help group-name):
  26. hi Comment cterm=NONE ctermfg=DarkCyan gui=NONE guifg=#00aaaa "包括非活动 buf explore 文件名
  27. hi Constant cterm=NONE ctermfg=LightCyan gui=NONE guifg=#00ffff
  28. hi Identifier cterm=NONE ctermfg=LightMagenta gui=NONE guifg=#ff00ff
  29. hi Function cterm=NONE ctermfg=LightGreen gui=NONE guifg=#00ff00
  30. hi Statement cterm=NONE ctermfg=White gui=bold guifg=#ffffff
  31. hi PreProc cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
  32. hi Type cterm=NONE ctermfg=LightGreen gui=bold guifg=#00ff00
  33. hi Special cterm=NONE ctermfg=Yellow gui=NONE guifg=#ff0000 "包括活动 buf explore 文件名
  34. hi Delimiter cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
  35. hi Statement cterm=bold ctermfg=green "system function
  36. hi StatusLine cterm=none ctermfg=DarkCyan ctermbg=234 guifg=blue guibg=darkgray gui=none
  37. hi StatusLineNC cterm=none ctermfg=235 ctermbg=235 guifg=black guibg=darkgray gui=none
  38. hi VertSplit cterm=none ctermfg=DarkCyan ctermbg=234 guifg=black guibg=LightRed gui=none
  39. hi CursorLine cterm=none ctermbg=235
  40. hi CursorColumn cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
  41. set cul
  42. "set cuc
  43. hi LineNr ctermfg=DarkCyan ctermbg=234
  44. hi MatchParen ctermfg=16 ctermbg=208 cterm=bold
  45. hi ModeMsg ctermfg=red " color of insert
  46. hi MoreMsg ctermfg=229
  47. hi Operator ctermfg=Yellow
  48. hi Directory ctermfg=118 cterm=bold
  49. hi Error ctermfg=219 ctermbg=89
  50. hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold
  51. hi Exception ctermfg=118 cterm=bold
  52. hi Float ctermfg=135
  53. hi FoldColumn ctermfg=67 ctermbg=16
  54. hi Folded ctermfg=67 ctermbg=16
  55. hi Function ctermfg=118
  56. hi Identifier ctermfg=208
  57. hi Ignore ctermfg=244 ctermbg=232
  58. hi IncSearch ctermfg=Yellow ctermbg=red
  59. hi Keyword ctermfg=161 cterm=bold
  60. hi Label ctermfg=229 cterm=none
  61. hi Macro ctermfg=193
  62. hi SpecialKey ctermfg=81
  63. hi Type ctermfg=118 cterm=none
  64. hi Structure ctermfg=118 cterm=none
  65. hi Macro ctermfg=161 cterm=bold
  66. hi PreCondit ctermfg=161 cterm=bold
  67. hi StorageClass ctermfg=208
  68. "hi Tag ctermfg=161
  69. hi Title ctermfg=166
  70. hi Todo ctermfg=231 ctermbg=232 cterm=bold
  71. "test
  72. augroup hightlightFun
  73. autocmd!
  74. " hilight function name
  75. autocmd BufNewFile,BufRead,BufWrite * :syntax match cfunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
  76. autocmd BufNewFile,BufRead,BufWrite * :syntax match cfunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
  77. hi cfunctions ctermfg=81 "(这一行就是给函数名加颜色的)
  78. autocmd BufNewFile,BufRead,BufWrite * :syntax match operators "[=\*\&\%\-\>\<\+]"
  79. autocmd BufNewFile,BufRead,BufWrite * :syntax match operators "\<WORD32\>"
  80. autocmd BufNewFile,BufRead,BufWrite * :syntax match operators "\<WORD16\>"
  81. autocmd BufNewFile,BufRead,BufWrite * :syntax match operators "\<BYTE\>"
  82. hi operators ctermfg=DarkCyan "
  83. augroup END
  84. :function SetLocalStatusLine()
  85. : setlocal statusline =%f
  86. setlocal statusline +=%2*%r%*
  87. setlocal statusline +=%=%y
  88. setlocal statusline +=%{\"[\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\"+\":\"\").\"]\"}
  89. setlocal statusline +=[%{&ff}][a:%03.3b]
  90. setlocal statusline +=[r:%l/%2*%L%*,c:%c]
  91. setlocal statusline +=%1*%m%*
  92. setlocal statusline +=%3*[%p%%]%*
  93. hi User1 cterm=bold ctermfg=1 ctermbg=234
  94. hi User2 cterm=none ctermfg=11 ctermbg=234
  95. hi User3 cterm=none ctermfg=10 ctermbg=234
  96. set laststatus=2
  97. :endfunction
  98. augroup filetype_statusline
  99. autocmd!
  100. autocmd FileType c call SetLocalStatusLine()
  101. autocmd FileType cpp call SetLocalStatusLine()
  102. autocmd FileType python call SetLocalStatusLine()
  103. augroup END
  104. set showcmd
  105. "vim -R file 只读
  106. "vim -M 不能修改模式
  107. "Cursor光标
  108. "ErrorMsg命令行中的错误提示
  109. "Folded折叠行
  110. "LineNr行号
  111. "NonText非文本区(控制字符和一些特殊字符和编辑器空白区等)
  112. "Normal编辑区一般文本的前景和背景色
  113. "Search搜索
  114. "StatusLine状态行
  115. "Visual圈选区
  116. hi Search cterm=none ctermfg=red ctermbg=185
  117. hi Visual cterm=none ctermbg=239

vimrc同步文档的更多相关文章

  1. 从Mac的Finder中访问你的iCloud文档

    [从Mac的Finder中访问你的iCloud文档] 从OS X 10.7.2开始,iCloud就深入Mac当中,我们也可以在Finder中访问储存在iCloud中的文件,甚至当你拥有多台Mac的时候 ...

  2. ToShowDoc拯救不想写文档的你

    ToShowDoc拯救不想写文档的你 写注释已经够折磨开发者了,显然天天curd的我们再去写文档岂不是分分种要被逼疯. 我想每个人都有这种经历 加了一个参数文档忘了更新 参数名更改文档忘了更新 删掉一 ...

  3. 使用 python 创建&更改 word 文档

    使用 python 修改 word 文档 说明:这个需求是老师想要一个自动识别 word 文档中指定位置的分数,并填入相应表格. 使用库 python-docx 的官方文档地址是:python-doc ...

  4. 制作一个文档同步工具,自动同步到gitee中。。。

    之所以要做这个工具是为了让自己可以随时用电脑时能记录日常工作或生活.一般只需要简单记录下就行了.这样我在家里的和公司里的记录都能同步看到. 这样后期整理的时候看到几个关键词就能想起来具体的事情,有的也 ...

  5. 马克飞象 Markdown 使用和学习

    第三方学习网站 http://sspai.com/25137https://maxiang.io/ 使用工具:有道云笔记 https://note.youdao.com/ 新建时使用Mardown类型 ...

  6. #第一用Markdown编辑器#

    Markdown初次使用 This is a simple Markdown editor based on 'Markdown' it's * italic * style. it's also _ ...

  7. 转贴: 更改Outlook2013数据文件的位置

    转自: 老田博客 近日体验了一下微软OFFICE 2013 说实话 除了与skydriver深度整合实现云同步文档外 其他的功能对我这样的『Light User』实在是大材小用 wps足够了 在使用过 ...

  8. 从idea到ipo

    **************************************************************************************************** ...

  9. 开始使用Mac OS X——写给Mac新人

    本文转自博客园:http://www.cnblogs.com/chijianqiang/archive/2011/08/03/2126593.html 写这篇文档的原因有两个,一.身边使用Mac的朋友 ...

随机推荐

  1. LNAMP服务器环境(源码安装)

    在安装前先看下它们安装时所需要的依赖库:http://www.cnblogs.com/fps2tao/p/7699448.html 1.nginx源码安装 下载:http://nginx.org/en ...

  2. Atitit 乌合之众读后感attilax总结 与读后感结构规范总结

    Atitit 乌合之众读后感attilax总结 与读后感结构规范总结 1. 背景概览与鸟瞰overview 1 1.1. 社会背景 与 历史事件背景  与历史时间背景 1 1.2. 书籍简绍 2 1. ...

  3. MongoDB Notes

    MongoDB 启动一个 mongo 实例 $ docker run --name some-mongo -d daocloud.io/mongo 由于该镜像的 Dockerfile 中包含了 EXP ...

  4. 每天进步一点点——mysql——mysqlbinlog

    一.        简单介绍 mysqlbinlog:用于查看server生成的二进制日志的工具. 二.       命令格式 mysqlbinlog 选项日志文件1 三.       经常使用參数 ...

  5. MYSQL 优化器 源码解析

    http://www.unofficialmysqlguide.com/introduction.html https://dev.mysql.com/doc/refman/8.0/en/explai ...

  6. 5款最好的免费在线网站CSS验证器

    这里是一个名单, 5免费在线CSS验证器的网站.这些网站让你验证你的CSS代码的自由,没有任何麻烦.你可以选择上传文件,验证CSS添加URL,或简单的复制和粘贴完整的CSS代码.好的方面是,这些网站不 ...

  7. C#学习笔记(34)——委托传值(回忆版)

    说明(2018-4-6 20:31:03): 1. 昨天晚上看三层,看完第一天的最后一节,会员的修改和增加,感觉欲仙欲死,果断关机睡觉. 2. 上午搞了半天哈利波特的原版书epub的下载,结果都没发现 ...

  8. SAP Brazil J1BTAX 为税收例外创建税收组(翻译)

    很多人对如何维持巴西的税收仍有疑问.前段时间,一家有几个税务问题的公司联系我帮助他们,我发现多年来,由于他们的税务计算系统缺少配置,他们正在进行手动调整. 维持税收的第一条规则是: TAXBRJ = ...

  9. RecyclerView+SwpieRefreshLayout(转载)

    开源库BaseRecyclerViewAdapterHelperhttp://blog.csdn.net/xiangzhihong8/article/details/52138669http://ww ...

  10. POI导出复杂的excel;excel公共样式类;excel拼接定制类;数据科学计数法转为普通值

    一.excel公共样式类(包含数据科学计数法转为普通值) package com.thinkgem.jeesite.common.utils.excel; import org.apache.poi. ...