博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
国内某.vimrc
阅读量:6564 次
发布时间:2019-06-24

本文共 9868 字,大约阅读时间需要 32 分钟。

1 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  2 " 显示相关    3 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  4 set shortmess=atI   " 启动的时候不显示那个援助乌干达儿童的提示    5 set go=             " 不要图形按钮    6 "color asmanian2     " 设置背景主题    7 "set guifont=Courier_New:h10:cANSI   " 设置字体    8 autocmd InsertLeave * se nocul  " 用浅色高亮当前行    9 autocmd InsertEnter * se cul    " 用浅色高亮当前行   10 set ruler           " 显示标尺   11 set showcmd         " 输入的命令显示出来,看的清楚些   12 "set whichwrap+=<,>,h,l   " 允许backspace和光标键跨越行边界(不建议)   13 set scrolloff=3     " 光标移动到buffer的顶部和底部时保持3行距离   14 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}   "状态行显示的内容   15 set laststatus=2    " 启动显示状态行(1),总是显示状态行(2)   16 "set foldenable      " 允许折叠   17 set foldmethod=manual   " 手动折叠   18 set nocompatible  "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限   19 " 显示中文帮助 20 if version >= 603 21     set helplang=cn 22     set encoding=utf-8 23 endif 24 " 自动缩进 25 set autoindent 26 set cindent 27 " Tab键的宽度 28 set tabstop=4 29 " 统一缩进为4 30 set softtabstop=4 31 set shiftwidth=4 32 " 不要用空格代替制表符 33 set noexpandtab 34 " 在行和段开始处使用制表符 35 set smarttab 36 " 显示行号 37 set number 38 " 历史记录数 39 set history=1000 40 "搜索逐字符高亮 41 set hlsearch 42 set incsearch 43 "语言设置 44 set langmenu=zh_CN.UTF-8 45 set helplang=cn 46 " 总是显示状态行 47 set cmdheight=2 48 " 侦测文件类型 49 filetype on 50 " 载入文件类型插件 51 filetype plugin on 52 " 为特定文件类型载入相关缩进文件 53 filetype indent on 54 " 保存全局变量 55 set viminfo+=! 56 " 带有如下符号的单词不要被换行分割 57 set iskeyword+=_,$,@,%,#,- 58 " 字符间插入的像素行数目 59  60 "markdown配置 61 au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}   set filetype=mkd 62 "rkdown to HTML   63 nmap md :!~/.vim/markdown.pl % > %.html 
64 nmap fi :!firefox %.html &
65 66 67 68 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 69 """""新文件标题 70 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 71 "新建.c,.h,.sh,.java文件,自动插入文件头 72 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java,*.py,*.md exec ":call SetTitle()" 73 ""定义函数SetTitle,自动插入文件头 74 func SetTitle() 75 "如果文件类型为.sh文件 76 if &filetype == 'sh' 77 call setline(1,"\#########################################################################") 78 call append(line("."), "\# File Name: ".expand("%")) 79 call append(line(".")+1, "\# Author: ma6174") 80 call append(line(".")+2, "\# mail: ma6174@163.com") 81 call append(line(".")+3, "\# Created Time: ".strftime("%c")) 82 call append(line(".")+4, "\#########################################################################") 83 call append(line(".")+5, "\#!/bin/bash") 84 call append(line(".")+6, "") 85 elseif &filetype == 'python' 86 call setline(1,"#!/usr/bin/env python") 87 call append(line("."),"#coding=utf-8") 88 call append(line(".")+1, "") 89 elseif &filetype == 'mkd' 90 call setline(1,"
") 91 else 92 call setline(1, "/*************************************************************************") 93 call append(line("."), " > File Name: ".expand("%")) 94 call append(line(".")+1, " > Author: ma6174") 95 call append(line(".")+2, " > Mail: ma6174@163.com ") 96 call append(line(".")+3, " > Created Time: ".strftime("%c")) 97 call append(line(".")+4, " ************************************************************************/") 98 call append(line(".")+5, "") 99 endif100 if &filetype == 'cpp'101 call append(line(".")+6, "#include
")102 call append(line(".")+7, "using namespace std;")103 call append(line(".")+8, "")104 endif105 if &filetype == 'c'106 call append(line(".")+6, "#include
")107 call append(line(".")+7, "")108 endif109 " if &filetype == 'java'110 " call append(line(".")+6,"public class ".expand("%"))111 " call append(line(".")+7,"")112 " endif113 "新建文件后,自动定位到文件末尾114 autocmd BufNewFile * normal G115 endfunc 116 117 118 119 120 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""121 "键盘命令122 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""123 :nmap
:Tlist
124 map
ggVGY125 map!
ggVGY126 map
gg=G127 " 选中状态下 Ctrl+c 复制128 vmap
"+y129 "去空行 130 nnoremap
:g/^\s*$/d
131 "比较文件 132 nnoremap
:vert diffsplit 133 "列出当前目录文件 134 map
:tabnew .
135 "打开树状文件目录 136 map
\be 137 "C,C++ 按F5编译运行138 map
:call CompileRunGcc()
139 func! CompileRunGcc()140 exec "w"141 if &filetype == 'c'142 exec "!g++ % -o %<"143 exec "! ./%<"144 elseif &filetype == 'cpp'145 exec "!g++ % -o %<"146 exec "! ./%<"147 elseif &filetype == 'java' 148 exec "!javac %" 149 exec "!java %<"150 elseif &filetype == 'sh'151 :!./%152 elseif &filetype == 'python'153 exec "!python %"154 elseif &filetype == 'mkd'155 " exec "!touch ~/temp.html"156 " exec "!perl ~/.vim/markdown.pl % > /tmp/temp.html<"
157 " exec "!markdown % > /tmp/temp.html<"
158 " exec "md"159 exec "!firefox /tmp/markdown.html &"160 endif161 endfunc162 "C,C++的调试163 map
:call Rungdb()
164 func! Rungdb()165 exec "w"166 exec "!g++ % -g -o %<"167 exec "!gdb ./%<"168 endfunc169 170 171 172 173 174 175 176 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""177 ""实用设置178 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""179 if has("autocmd")180 autocmd BufReadPost *181 \ if line("'\"") > 0 && line("'\"") <= line("$") |182 \ exe "normal g`\"" |183 \ endif184 endif185 186 " 设置当文件被改动时自动载入187 set autoread188 " quickfix模式189 autocmd FileType c,cpp map
:w
:make
190 "代码补全 191 set completeopt=preview,menu 192 "允许插件 193 filetype plugin on194 "共享剪贴板 195 "set clipboard+=unnamed 196 "自动保存197 set autowrite198 set ruler " 打开状态栏标尺199 set cursorline " 突出显示当前行200 set magic " 设置魔术201 set guioptions-=T " 隐藏工具栏202 set guioptions-=m " 隐藏菜单栏203 set foldcolumn=0204 set foldmethod=indent 205 set foldlevel=3 206 " 不要使用vi的键盘模式,而是vim自己的207 set nocompatible208 " 去掉输入错误的提示声音209 set noeb210 " 在处理未保存或只读文件的时候,弹出确认211 set confirm212 "禁止生成临时文件213 set nobackup214 set noswapfile215 "搜索忽略大小写216 set ignorecase217 218 219 220 221 set linespace=0222 " 增强模式中的命令行自动完成操作223 set wildmenu224 " 使回格键(backspace)正常处理indent, eol, start等225 set backspace=2226 " 允许backspace和光标键跨越行边界227 set whichwrap+=<,>,h,l228 " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)229 set mouse=a230 set selection=exclusive231 set selectmode=mouse,key232 " 通过使用: commands命令,告诉我们文件的哪一行被改变过233 set report=0234 " 在被分割的窗口间显示空白,便于阅读235 set fillchars=vert:\ ,stl:\ ,stlnc:\236 " 高亮显示匹配的括号237 set showmatch238 " 匹配括号高亮的时间(单位是十分之一秒)239 set matchtime=1240 " 光标移动到buffer的顶部和底部时保持3行距离241 set scrolloff=3242 " 为C程序提供自动缩进243 set smartindent244 " 高亮显示普通txt文件(需要txt.vim脚本)245 au BufRead,BufNewFile * setfiletype txt246 "自动补全247 :inoremap ( ()
i248 :inoremap )
=ClosePair(')')
249 ":inoremap { {
}
O250 ":inoremap }
=ClosePair('}')
251 :inoremap [ []
i252 :inoremap ]
=ClosePair(']')
253 :inoremap " ""
i254 :inoremap ' ''
i255 function! ClosePair(char)256 if getline('.')[col('.') - 1] == a:char257 return "\
"258 else259 return a:char260 endif261 endfunction262 filetype plugin indent on 263 "打开文件类型检测, 加了这句才可以用智能补全264 set completeopt=longest,menu265 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""266 " CTags的设定 267 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""268 let Tlist_Sort_Type = "name" " 按照名称排序 269 let Tlist_Use_Right_Window = 1 " 在右侧显示窗口 270 let Tlist_Compart_Format = 1 " 压缩方式 271 let Tlist_Exist_OnlyWindow = 1 " 如果只有一个buffer,kill窗口也kill掉buffer 272 let Tlist_File_Fold_Auto_Close = 0 " 不要关闭其他文件的tags 273 let Tlist_Enable_Fold_Column = 0 " 不要显示折叠树 274 "let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的275 "设置tags 276 "set tags=tags 277 "set autochdir 278 279 280 281 282 283 284 285 286 287 288 289 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""290 "其他东东291 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""292 "默认打开Taglist 293 let Tlist_Auto_Open=1 294 """""""""""""""""""""""""""""" 295 " Tag list (ctags) 296 """""""""""""""""""""""""""""""" 297 let Tlist_Ctags_Cmd = '/usr/local/bin/ctags' 298 let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的 299 let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim 300 let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口301 " minibufexpl插件的一般设置302 let g:miniBufExplMapWindowNavVim = 1303 let g:miniBufExplMapWindowNavArrows = 1304 let g:miniBufExplMapCTabSwitchBufs = 1305 let g:miniBufExplModSelTarget = 1 306 307 308 309 310 311 312 313 314 315 316 317 318 "输入法319 :let g:vimim_map='c-/'320 :let g:vimim_cloud='qq' " QQ云输入321 :let g:vimim_punctuation=0 " 不用中文标点322 :set pastetoggle=
323 324 325 "python补全326 let g:pydiction_location = '~/.vim/after/complete-dict'327 let g:pydiction_menu_height = 20328 let Tlist_Ctags_Cmd='/usr/local/bin/ctags'329 let g:miniBufExplMapWindowNavVim = 1330 let g:miniBufExplMapWindowNavArrows = 1331 let g:miniBufExplMapCTabSwitchBufs = 1332 let g:miniBufExplModSelTarget = 1333 334 335 336 337 set iskeyword+=.338 set fileencodings=utf-8339 set termencoding=utf-8340 set encoding=utf8341 set fileencoding=utf8342 set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030343 let &termencoding=&encoding344 345 346 347 autocmd FileType python set omnifunc=pythoncomplete#Complete

转载于:https://www.cnblogs.com/myNameis/archive/2012/08/13/2637075.html

你可能感兴趣的文章
C++学习之路: 模板函数
查看>>
无线发射功率以及接收灵敏度
查看>>
冲刺周期二第二天
查看>>
自己写的python正则表达式
查看>>
《zw版·Halcon-delphi系列原创教程》 Halcon分类函数016,xld,xld轮廓
查看>>
Google Job: Software Engineer - Beijing
查看>>
[NOIP2001] 提高组 洛谷P1025 数的划分
查看>>
Bzoj2753 [SCOI2012]滑雪与时间胶囊
查看>>
Bzoj3994 [SDOI2015]约数个数和
查看>>
【转】QT样式表 (QStyleSheet)
查看>>
Xcode基础
查看>>
Objective-C 中的 self 和 super
查看>>
DQL、DML、DDL、DCL区别
查看>>
Windows下编程--模拟时钟的实现
查看>>
二十一、MySQL NULL 值处理
查看>>
12、NIO--Path、、Paths、Files
查看>>
【uva 12174】Shuffle(算法效率--滑动窗口)
查看>>
input placeholder属性IE、360浏览器兼容性问题
查看>>
unix2dos/dos2unix
查看>>
svn
查看>>