Linux下vim配置文件
来源:互联网 发布:高乐股份 人工智能 编辑:程序博客网 时间:2024/05/17 23:59
前言
更新说明:添加了常用的编程相关的插件 如NERDTree,OmniCppComplete,L9,AutoComplPop
需要下载的整个配置压缩包的请移步至最新更新地址 http://www.github.com/jealdean/abodu
需要注意的是 在使用之前 需要将 文件头部 global variables 部分 的变量名 根据自己的实际情况来设置一下 否则 闹出版权纠纷就大麻烦了
实际配置文件内容如下:
"//=============================================================="// Copyright (c) 2007 - 2015 Abodu.com Inc. All Rights Reserved"// DESP: vim settings "// AUTHOR: jealdean"// ChgOn: 2015-04-19 01:22:34"// lastest update see [ http://www.github.com/jealdean/abodu ]"//==============================================================""{{{1 GLOBAL-VARIABLES let g:mapleader=';'let g:author='Roll Stone'let g:email='jealdean@outlook.com'let g:strVersion='1.1'let g:startyear='2007'let g:org='Abodu.com Inc. All Rights Reserved'"GENERAL-SETTINGS {{{1"basic-settings {{{2set nu nu noet bs=2 sts=4 ts=4 sw=4 tw=80set nobk noeb wrap lbr list hidden set is hls sc sm acd ttm=100set list lcs=tab:\¦\ set ai si ww=h,l,>,< wig=*.bak,*.o,*.e,*~,*.sw* "tab键自动完成会忽略这些后缀名的文件set errorformat=%f:%l:%m"当打开头文件的时候,自动搜索的路径set path=.,include,../include,set path+=../../include,/usr/include "set path+=/usr/include/mysql "add for mysql"set path+=/usr/src/kernel/include "add for linux kernel"Colors {{{2set t_Co=256let g:solarized_termcolors=256colo solarized" Encodings {{{2set encoding=utf-8set fenc=utf-8set fencs=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936,chineseset ambiwidth=double"Folds {{{2set fen fdc=2 fdl=10 fdm=syntaxnnoremap <space> @=((foldclosed(line('.'))<0)?'zc':'zo')<cr>"status line {{{2set laststatus=2 "总是显示状态栏set stl=%F[%1*%M%*%n%R%H%w%m%h][%l,%v,%p%%]\ %=\ set stl+=%0([%{&ft},%{&fileformat},%{&fileencoding}][%{strftime('%Y%m%d-%H:%M:%S')}]%)\ "FUNCTIONS{{{1"{{{2 UD_AIAddfunc! UD_AIAdd() let n = 1 while n < 5 let line=getline(n) if line =~ '.*\/.*$' return endif let n+=1 endwhile "make some local variables let lCP=' Copyright (c) '.g:startyear.' - '.strftime('%Y').' '.g:org let lGL='==============================================================' let lName =' NAME: '.expand('%:t') let lDesc =' DESC: ' let lAuthor =' AUTHOR: '.g:author.'('.g:email.')' let lVersion=' VERSION: '.g:strVersion let lCrTime =' CREATE: '.strftime('%Y-%m-%d %T') let lLuTime =' LUTIME: '.strftime('%Y-%m-%d %T') let lGLS='/*' let lGLE=' */' let lPF =' *!' let lfn=buffer_name("%") if lfn=~ '\.sh$' let lGLE='' let lPF ='#' let lGLS='#!/bin/sh' elseif lfn =~ '\.pl*' let lGLE='' let lPF ='#' let lGLS='#!/bin/perl' endif call append(0,[lGLS \,lPF.lGL \,lPF.lName \,lPF.lDesc \,lPF.lAuthor \,lPF.lVersion \,lPF.lCrTime \,lPF.lLuTime \,lPF,lPF.lCP \,lPF.lGL \,lGLE])endfunc"{{{2 UD_AIDetectfunc! UD_AIDetect() let n=1 let updated=0 while n<10 let line=getline(n) if (line =~ ".*NAME.*" || line =~ ".*FileName.*" || line =~ ".*Title.*") let newline=substitute(line,":.*$",": ".expand("%:t"),"g") call setline(n,newline) let updated = 1 elseif ( line =~ '.*LUTIME.*' || line =~ '.*ChgOn.*' || line =~ '.*LastChangedTime.*' ) let newline=substitute(line,':.*$',': '.strftime('%Y-%m-%d %T'),'g') call setline(n,newline) let updated = 1 endif let n+=1 endwhile if updated == 0 call UD_AIAdd() endifendfunc"MAPPINGS {{{1"{{{2 autocmdsif has("autocmd") au BufRead *vimrc set ft=vim fdm=marker au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif au BufEnter * :lch %:p:h au InsertEnter * set cul cuc au InsertLeave * set nocuc nocul au BufRead,BufNewFile {make,Make,*mk}* set ft=make noet au FileType c,cpp,java,make set noet nu fen ts=4 sw=4 tw=80 ci cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s au BufRead,BufNewFile *vimrc,*.vim set nu fen et ft=vim tw=80 fdm=marker au FileWritePre,BufRead *.{java,c*,h*} silent exec "%! astyle -T4A2k1W3" au BufNewFile,BufNew *.{sh,awk,pl,c*,h*} silent call UD_AIAdd() au BufWritePre,FileWritePre,FileAppendPre *.{sh,awk,pl,java,c*,h*},*vimrc silent call UD_AIDetect()endif " has (autocmd)""{{{2 extend %au FileType html,xml,json set mps+=<:>au BufRead,FileType c,cpp,java set ai si ci fdm=syntax errorformat=%f:%l:%m mps+==:;au FileType c,cpp set path+=.,include,../include,/usr/include"{{{2 <F1> - <F12> mappings"<F1> - OVERRIDE Linux Help ShortKeymap <F1> <esc>:exec "help ".expand("<cword>")<cr>"<F2> - 删除相邻的多个空行只保留一行nmap <F2> :silent %s/^[ \r\n]\{3,\}//g<cr>imap <F2> <esc>:silent %s/^[ \r\n]\{3,\}//g<cr>"<F3> 开启/关闭NERDTree nmap <F3> :NERDTreeToggle<cr>imap <F3> <esc> :NERDTreeToggle<cr>"<F4> - update tlistnmap <F4> :TlistUpdate<cr>imap <F4> <esc>:TlistUpdate<cr>"<F6> - 开启/关闭粘贴模式set pastetoggle=<F6>"<F8> - Mapping for helptagsnmap <silent><F8> :helptags ~/.vim/doc <cr>"PLUGINS: {{{1"{{{2 "Switches:syntax enablefiletype onfiletype plugin onfiletype indent onfiletype plugin indent on"{{{2 "NERDTree:"当仅剩下NERDTree窗口时自动关闭au BufEnter * if(winnr("$")==1 && exists("b:NERDTreeType")&& b:NERDTreeType == "primary")|q|endif"{{{2 "Csupport:let g:C_CFlags='-Wall -g 'let g:C_Libs='-lm -lpthread '"let g:C_CFlags+=' -I/usr/include/mysql -I../../include'"let g:C_Libs+=' -L/usr/lib64/mysql -lmysqlclient'let g:C_CplusFlags=g:C_CFlagslet g:C_CplusLibs=g:C_Libslet g:C_TypeOfH='cpp'let g:C_InsertFileHeader ='no'let g:C_BraceOnNewLine='yes'let g:C_MapLeader=g:mapleaderlet g:C_Comments='no'let g:C_LineEndCommColDefault=50"{{{2 "DoxygenToolkit:let g:DoxygenToolkit_authorName=g:authorlet g:DoxygenToolkit_briefTag_pre="@Brief " "let g:DoxygenToolkit_commentType ="C++"let g:DoxygenToolkit_paramTag_pre="@Param " let g:DoxygenToolkit_returnTag ="@Return " map <leader>da :DoxAuthor<cr>map <leader>db :DoxBlock<cr>map <leader>dc :DoxComment<cr>map <leader>dl :DoxLicense<cr>map <leader>du :DoxUndoc<cr>imap <leader>da <esc>:DoxAuthor<cr>imap <leader>db <esc>:DoxBlock<cr>imap <leader>dc <esc>:DoxComment<cr>imap <leader>dl <esc>:DoxLicense<cr>imap <leader>du <esc>:DoxUndoc<cr>"{{{2 "Taglist:let Tlist_Auto_Open=0let Tlist_WinWidth=40let Tlist_Exit_OnlyWindow=1let Tlist_Use_Right_Window=0let Tlist_Close_On_Select=1let Tlist_File_Fold_Auto_Close = 1let Tlist_GainFocus_On_ToggleOpen=1let Tlist_Display_Prototype = 1let Tlist_Process_File_Always=0map tl :TlistToggle<cr>"{{{2 "AutoPairs:let g:AutoPairs = {'(':')','[':']','{':'}','"':'"','`':'`'}"{{{2 "OmniCppComplete:map <F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags .<CR>set tags+=~/.vim/tags set completeopt=menu,menuone let OmniCpp_MayCompleteDot=1 "打开 . 操作符let OmniCpp_MayCompleteArrow=1 "打开 -> 操作符let OmniCpp_MayCompleteScope=1 "打开 :: 操作符let OmniCpp_NamespaceSearch=1 "打开命名空间let OmniCpp_GlobalScopeSearch=1 let OmniCpp_ShowPrototypeInAbbr=1 "打开显示函数原型let OmniCpp_SelectFirstItem = 2 "自动弹出时自动跳至第一个let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]autocmd CursorMovedI * if pumvisible() == 0|pclose|endifautocmd InsertLeave * if pumvisible() == 0|pclose|endif"}}} "}}} " /* vim: set ft=vim nu ts=4 sw=4 tw=80: */
0 0
- Linux下vim配置文件
- Linux下vim配置文件
- linux下的VIM配置文件
- Linux下vim的配置文件
- linux下vim和bash配置文件
- Windows下VIM 配置文件
- mac 下vim 配置文件
- linux vim 配置文件
- linux vim 配置文件.vimrc
- linux vim配置文件
- linux vim编辑器配置文件
- Linux下vim配置文件(无第三方插件版本)
- 关于Linux系统下vim编辑器配置文件vimrc摘选
- mac下vim配置文件备份
- vim在linux的配置文件
- linux vim配置文件详细解释
- linux vim编辑器配置文件解释
- linux(4) vim(2) 配置文件
- 转载:Hadoop Streaming 编程
- maven教程初稿
- Linux装载和执行可执行程序的分析
- The Proccess of Loading and Executing a Specific Program in Linux Kernel
- 二分查找算法实例注释
- Linux下vim配置文件
- (others)TCP协议的实现
- TCP/IP,HTTP,SOCKET的区别
- Unity3D手机中Input类touch详解
- TCP实现1
- 网络通信协议的实现
- 在vim和macvim中使用中文帮助文档!
- 网络应用程序的实现
- 2015 Small Business Book Awards Community Choice Winners