mac vim 配置文件
"永远的冰点的VIM配置件"2011/12/17"imbingdian@gmail.com"http://wlog.cnifv:version<700echoerr'This_vimrcrequiresVim7orlater.'quitendif"设置菜单语言setlangmenu=zh_cn"========="功能函数"========="获取当前目录funcGetPWD()returnsubstitute(getcwd(),"","","g")endf"========="环境配置"========="保留历史记录sethistory=600"命令行于状态行setch=1setstl=\[File]\%F%m%r%h%y[%{&fileformat},%{&fileencoding}]\%w\\[PWD]\%r%{GetPWD()}%h\%=\[Line]\%l,%c\%=\%Psetls=2"始终显示状态行"状态栏显示目前所执行的指令setshowcmd"控制台响铃(关闭遇到错误时的声音提示):setnoerrorbells:setnovisualbell:sett_vb="closevisualbell"行控制setlinebreak"英文单词在换行时不被截断setnocompatible"设置不兼容VIsettextwidth=80"设置每行80个字符自动换行,加上换行符setwrap"设置自动折行"缩进setautoindent"设置自动缩进setsmartindent"设置智能缩进"行号和标尺setnumber"行号setruler"在右下角显示光标位置的状态行setrulerformat=%15(%c%V\%p%%%)"标签页settabpagemax=20"最多20个标签setshowtabline=2"总是显示标签栏"tab转化为4个字符settabstop=4setexpandtabsetsmarttabsetshiftwidth=4setsofttabstop=4"设置行高setlinespace=4"插入模式下使用<BS>、<Del><C-W><C-U>setbackspace=indent,eol,start"自动重新读入setautoread"自动改变当前目录ifhas('netbeans_intg')setautochdirendif"搜索setignorecase"在查找时忽略大小写setincsearch"关闭显示查找匹配过程sethlsearch"高亮显示搜索的内容"显示匹配的括号"setshowmatch"匹配配对的字符func!MatchingQuotes()inoremap(()<left>inoremap[[]<left>inoremap{{}<left>inoremap"""<left>inoremap'''<left>endf"在所有模式下都允许使用鼠标,还可以是n,v,i,c等setmouse=a"恢复上次文件打开位置setviminfo='10,\"100,:20,%,n~/.viminfoauBufReadPost*ifline("'\"")>0|ifline("'\"")<=line("$")|exe("norm'\"")|else|exe"norm$"|endif|endif"Diff模式的时候鼠标同步滚动forVim7.3ifhas('cursorbind')setcursorbindend"====================="多语言环境"默认为UTF-8编码"=====================ifhas("multi_byte")setencoding=utf-8"Englishmessagesonly"languagemessageszh_CN.utf-8ifhas('win32')languageenglishlet&termencoding=&encodingendifsetfencs=utf-8,gbk,chinese,latin1setformatoptions+=mMsetnobomb"不使用Unicode签名ifv:lang=~?'^\(zh\)\|\(ja\)\|\(ko\)'setambiwidth=doubleendifelseechoerr"Sorry,thisversionof(g)vimwasnotcompiledwith+multi_byte"endiffiletypepluginindenton"打开文件类型检测":helpmbyte-IMEifhas('multi_byte_ime')highlightCursorguibg=#F0E68Cguifg=#708090highlightCursorIMguibg=Purpleguifg=NONEendif"====================="AutoCmd自动运行"=====================ifhas("autocmd")"括号自动补全func!AutoClose():inoremap(()<ESC>i:inoremap"""<ESC>i:inoremap'''<ESC>i:inoremap{{}<ESC>i:inoremap[[]<ESC>i:inoremap)<c-r>=ClosePair(')')<CR>:inoremap}<c-r>=ClosePair('}')<CR>:inoremap]<c-r>=ClosePair(']')<CR>endffunc!ClosePair(char)ifgetline('.')[col('.')-1]==a:charreturn"\<Right>"elsereturna:charendifendfaugroupvimrcEx"记住上次文件位置au!autocmdFileTypetextsetlocaltextwidth=80autocmdBufReadPost*\ifline("'\"")>0&&line("'\"")<=line("$")|\exe"normalg`\""|\endifaugroupEND"AutoclosequotationmarksforPHP,Javascript,etc,fileauFileTypephp,javascriptexeAutoClose()auFileTypephp,javascriptexeMatchingQuotes()"AutoCheckSyntax"auBufWritePost,FileWritePost*.js,*.phpcallCheckSyntax(1)"JavaScript语法高亮auFileTypehtml,javascriptletg:javascript_enable_domhtmlcss=1auBufRead,BufNewFile*.jssetfjquery"打开javascript对dom、html和css的支持letjavascript_enable_domhtmlcss=1"给各语言文件添加Dictifhas('win32')lets:dict_dir=$VIM.'\vimfiles\dict\'elselets:dict_dir=$HOME."/.vim/dict/"endiflets:dict_dir="setlocaldict+=".s:dict_dirauFileTypephpexecs:dict_dir."php_funclist.dict"auFileTypecssexecs:dict_dir."css.dict"auFileTypejavascriptexecs:dict_dir."javascript.dict""增加ActionScript语法支持auBufNewFile,BufRead,BufEnter,WinEnter,FileType*.assetfactionscript"CSS3语法支持auBufRead,BufNewFile*.csssetft=csssyntax=css3"增加Objective-C语法支持auBufNewFile,BufRead,BufEnter,WinEnter,FileType*.m,*.hsetfobjc"将指定文件的换行符转换成UNIX格式auFileTypephp,javascript,html,css,python,vim,vimwikisetff=unix"保存编辑状态auBufWinLeave*ifexpand('%')!=''&&&buftype==''|mkview|endifauBufRead*ifexpand('%')!=''&&&buftype==''|silentloadview|syntaxon|endifendif"========="图形界面"=========ifhas('gui_running')"只显示菜单setguioptions=mcr"高亮光标所在的行setcursorline"编辑器配色"colorschemezenburn"colorschemedusk"colorschemebreeze"colorschememolokaisetbackground=light"forsolarizedcolorschemesolarizedifhas("win32")"Windows兼容配置source$VIMRUNTIME/delmenu.vimsource$VIMRUNTIME/menu.vim"f11最大化/vimfiles/extra/fullscreen/gvimfullscreen.dll移动到安装目录"nmap<f11>:calllibcallnr('gvimfullscreen.dll','ToggleFullScreen',0)<cr>"nmap<Leader><Leader>:calllibcallnr('gvimfullscreen.dll','ToggleFullScreen',0)<cr>"自动最大化窗口auGUIEnter*simalt~x"给Win32下的gVim窗口设置透明度http://www.vim.org/scripts/script.php?script_id=687"/vimfiles/extra/vimtweak/vimtweak.dll移动到安装目录"auGUIEnter*calllibcallnr("vimtweak.dll","SetAlpha",250)"字体配置"http://support.microsoft.com/kb/306527/zh-cn"setguifont=Droid\Sans\Mono:h20.5:cANSI"setguifontwide=YouYuan:h20.5:cGB2312"cygwin路径"setshell=d:\cygwin\bin\mintty.exe\-endif"UnderMacifhas("gui_macvim")"开启抗锯齿渲染setanti"MacVim下的字体配置"setguifont=Courier_New:h24"setguifontwide=YouYuan:h24"setguifontwide=Microsoft\Yahei\Mono:h24"setguifontwide=YouYuan:h23"setguifontwide=YouYuan:h24"setguifont=Droid\Sans\Mono:h24"setguifontwide=Yahei_Mono:h24setguifont=Monaco:h24setguifontwide=YouYuan:h24"半透明和窗口大小settransparency=2setlines=300columns=120"使用MacVim原生的全屏幕功能lets:lines=&lineslets:columns=&columnsfunc!FullScreenEnter()setlines=999columns=999setfuendffunc!FullScreenLeave()let&lines=s:lineslet&columns=s:columnssetnofuendffunc!FullScreenToggle()if&fullscreencallFullScreenLeave()elsecallFullScreenEnter()endifendfsetguioptions+=e"Mac下,按\\切换全屏nmap<f11>:callFullScreenToggle()<cr>nmap<Leader><Leader>:callFullScreenToggle()<cr>"IlikeTCSH:^)setshell=/bin/tcsh"Setinputmethodoffsetimdisable"SetQuickTemplatePathletg:QuickTemplatePath=$HOME.'/.vim/templates/'"如果为空文件,则自动设置当前目录为桌面lcd~/Desktop/endif"UnderLinux/Unixetc.ifhas("unix")&&!has('gui_macvim')setguifont=Courier\10\Pitch\11endifendif"JSLint.vimifhas("win32")letg:jslint_command=$VIMFILES.'/extra/jsl/win/jsl.exe'elseletg:jslint_command=$VIMFILES.'/extra/jsl/mac/jsl'endifletg:jslint_highlight_color='#996600'"letg:jslint_command_options='-conf'.$VIMFILES.'/extra/jsl/jsl.conf-nofilelisting-nocontext-nosummary-nologo-process'"letg:jslint_command_options='-nofilelisting-nocontext-nosummary-nologo-process'"========="插件"========="Calendar"http://www.vim.org/scripts/script.php?script_id=52ifhas("gui_macvim")letg:calendar_diary=$HOME.'/.vim/diary/'endifmapcal:Calendar<cr>"NERDTree"http://www.vim.org/scripts/script.php?script_id=1658letNERDTreeWinSize=22mapntree:NERDTree<cr>mapnk:NERDTreeClose<cr>map<leader>n:NERDTreeToggle<cr>"新建XHTML、PHP、Javascript文件的快捷键nmap<C-c><C-h>:NewQuickTemplateTabxhtml<cr>nmap<C-c><C-g>:NewQuickTemplateTabhtml<cr>nmap<C-c><C-p>:NewQuickTemplateTabphp<cr>nmap<C-c><C-j>:NewQuickTemplateTabjavascript<cr>nmap<C-c><C-c>:NewQuickTemplateTabcss<cr>"jsbeauty"http://www.vim.org/scripts/script.php?script_id=2727"\ff"========="快捷键"========="标签相关的快捷键Ctrlmaptn:tabnext<cr>maptp:tabprevious<cr>maptc:tabclose<cr>map<C-n>:tabnew<cr>map<C-Tab>:tabnext<cr>"最近打开的文件nmap<Leader>mr:MRU<cr>"字体大小"http://www.vim.org/scripts/script.php?script_id=2809"<Leader>==Begin"fontsize"mode"<Leader>++Incrementfontsize"<Leader>--Decrementfontsize"<Leader>00Reverttodefaultfontsize"在文件名上按gf时,在新的tab中打开mapgf:tabnew<cfile><cr>"返回当前时间func!GetTimeInfo()"returnstrftime('%Y-%m-%d%H:%M:%S')returnstrftime('%Y-%m-%d')endfunction"插入模式按Ctrl+D(ate)插入当前时间imap<C-d><C-r>=GetTimeInfo()<cr>"F12启动firefoxifhas("win32")map<F12>:silent!!"C:\ProgramFiles\MozillaFirefox\firefox.exe"%<CR>endif"zen-coding,(c+y+,)letg:user_zen_expandabbr_key='<c-e>'letg:use_zen_complete_tag=1"保证语法高亮syntaxon"========="帮助"=========":shell进入终端"jsbeauty\ffsethelplang=cn"========="js、css压缩"========="autocmdBufWriteCmd*.js:callCompileJS()"保存时自动压缩js"默认:Gcc命令压缩js"autocmdBufWriteCmd*.js:callCompressCss()"保存时自动压缩css"默认:Ycc命令压缩css
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。