" 永远的冰点的VIM配置件
" 2011/12/17
" imbingdian@gmail.com
" http://wlog.cn
if v:version < 700
echoerr 'This _vimrc requires Vim 7 or later.'
quit
endif
" 设置菜单语言
set langmenu=zh_cn
" =========
" 功能函数
" =========
" 获取当前目录
func GetPWD()
return substitute(getcwd(), "", "", "g")
endf
" =========
" 环境配置
" =========
" 保留历史记录
set history=600
" 命令行于状态行
set ch=1
set stl=\ [File]\ %F%m%r%h%y[%{&fileformat},%{&fileencoding}]\ %w\ \ [PWD]\ %r%{GetPWD()}%h\ %=\ [Line]\ %l,%c\ %=\ %P
set ls=2    "始终显示状态行
" 状态栏显示目前所执行的指令
set showcmd
" 控制台响铃(关闭遇到错误时的声音提示)
:set noerrorbells
:set novisualbell
:set t_vb= "close visual bell
" 行控制
set linebreak   "英文单词在换行时不被截断
set nocompatible    "设置不兼容VI
set textwidth=80    "设置每行80个字符自动换行,加上换行符
set wrap    "设置自动折行
" 缩进
set autoindent      "设置自动缩进
set smartindent     "设置智能缩进
" 行号和标尺
set number  "行号
set ruler   "在右下角显示光标位置的状态行
set rulerformat=%15(%c%V\ %p%%%)
" 标签页
set tabpagemax=20   "最多20个标签
set showtabline=2   "总是显示标签栏
" tab转化为4个字符
set tabstop=4
set expandtab
set smarttab
set shiftwidth=4
set softtabstop=4
"设置行高
set linespace=4
" 插入模式下使用 <BS>、<Del> <C-W> <C-U>
set backspace=indent,eol,start
" 自动重新读入
set autoread
" 自动改变当前目录
if has('netbeans_intg')
set autochdir
endif
"搜索
set ignorecase     "在查找时忽略大小写
set incsearch    "关闭显示查找匹配过程
set hlsearch    "高亮显示搜索的内容
" 显示匹配的括号
" set showmatch
" 匹配配对的字符
func! MatchingQuotes()
inoremap ( ()<left>
inoremap [ []<left>
inoremap { {}<left>
inoremap " ""<left>
inoremap ' ''<left>
endf
" 在所有模式下都允许使用鼠标,还可以是n,v,i,c等
set mouse=a
" 恢复上次文件打开位置
set viminfo='10,\"100,:20,%,n~/.viminfo
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
" Diff 模式的时候鼠标同步滚动 for Vim7.3
if has('cursorbind')
set cursorbind
end
" =====================
" 多语言环境
"    默认为 UTF-8 编码
" =====================
if has("multi_byte")
set encoding=utf-8    " English messages only    "language messages zh_CN.utf-8
if has('win32')
language english
let &termencoding=&encoding
endif
set fencs=utf-8,gbk,chinese,latin1
set formatoptions+=mM
set nobomb " 不使用 Unicode 签名
if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'
set ambiwidth=double
endif
else
echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
endif
filetype plugin indent on   "打开文件类型检测
" :help mbyte-IME
if has('multi_byte_ime')
highlight Cursor guibg=#F0E68C guifg=#708090
highlight CursorIM guibg=Purple guifg=NONE
endif
" =====================
" AutoCmd 自动运行
" =====================
if has("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>
endf
func! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
augroup vimrcEx     "记住上次文件位置
au!
autocmd FileType text setlocal textwidth=80
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\   exe "normal g`\"" |
\ endif
augroup END    " Auto close quotation marks for PHP, Javascript, etc, file
au FileType php,javascript exe AutoClose()
au FileType php,javascript exe MatchingQuotes()    " Auto Check Syntax    " au BufWritePost,FileWritePost *.js,*.php call CheckSyntax(1)    " JavaScript 语法高亮
au FileType html,javascript let g:javascript_enable_domhtmlcss = 1
au BufRead,BufNewFile *.js setf jquery    " 打开javascript对dom、html和css的支持
let javascript_enable_domhtmlcss=1    " 给各语言文件添加 Dict
if has('win32')
let s:dict_dir = $VIM.'\vimfiles\dict\'
else
let s:dict_dir = $HOME."/.vim/dict/"
endif
let s:dict_dir = "setlocal dict+=".s:dict_dir
au FileType php exec s:dict_dir."php_funclist.dict"
au FileType css exec s:dict_dir."css.dict"
au FileType javascript exec s:dict_dir."javascript.dict"    " 增加 ActionScript 语法支持
au BufNewFile,BufRead,BufEnter,WinEnter,FileType *.as setf actionscript    " CSS3 语法支持
au BufRead,BufNewFile *.css set ft=css syntax=css3    " 增加 Objective-C 语法支持
au BufNewFile,BufRead,BufEnter,WinEnter,FileType *.m,*.h setf objc    " 将指定文件的换行符转换成 UNIX 格式
au FileType php,javascript,html,css,python,vim,vimwiki set ff=unix    " 保存编辑状态
au BufWinLeave * if expand('%') != '' && &buftype == '' | mkview | endif
au BufRead     * if expand('%') != '' && &buftype == '' | silent loadview | syntax on | endif
endif
" =========
" 图形界面
" =========
if has('gui_running')    " 只显示菜单
set guioptions=mcr    " 高亮光标所在的行
set cursorline    " 编辑器配色    "colorscheme zenburn    "colorscheme dusk    "colorscheme breeze    "colorscheme molokai
set background=light "for solarized
colorscheme solarized
if has("win32")    " Windows 兼容配置
source $VIMRUNTIME/delmenu.vim    source $VIMRUNTIME/menu.vim    " f11 最大化 /vimfiles/extra/fullscreen/gvimfullscreen.dll移动到安装目录    "nmap <f11> :call libcallnr('gvimfullscreen.dll', 'ToggleFullScreen', 0)<cr>    "nmap <Leader><Leader> :call libcallnr('gvimfullscreen.dll', 'ToggleFullScreen', 0)<cr>    " 自动最大化窗口
au GUIEnter * simalt ~x    " 给 Win32 下的 gVim 窗口设置透明度 http://www.vim.org/scripts/script.php?script_id=687    "/vimfiles/extra/vimtweak/vimtweak.dll移动到安装目录    " au GUIEnter * call libcallnr("vimtweak.dll", "SetAlpha", 250)    " 字体配置    "http://support.microsoft.com/kb/306527/zh-cn    "set guifont=Droid\ Sans\ Mono:h10.5:cANSI    "set guifontwide=YouYuan:h10.5:cGB2312    "cygwin路径    "set shell=d:\cygwin\bin\mintty.exe\ -
endif    " Under Mac
if has("gui_macvim")    "开启抗锯齿渲染
set anti    " MacVim 下的字体配置    "set guifont=Courier_New:h14    "set guifontwide=YouYuan:h14    "set guifontwide=Microsoft\ Yahei\ Mono:h14    "set guifontwide=YouYuan:h13    "set guifontwide=YouYuan:h14    "set guifont=Droid\ Sans\ Mono:h14    "set guifontwide=Yahei_Mono:h14
set guifont=Monaco:h14
set guifontwide=YouYuan:h14    " 半透明和窗口大小
set transparency=2
set lines=300 columns=120    " 使用 MacVim 原生的全屏幕功能
let s:lines=&lines
let s:columns=&columns
func! FullScreenEnter()
set lines=999 columns=999
set fu
endf
func! FullScreenLeave()
let &lines=s:lines
let &columns=s:columns
set nofu
endf
func! FullScreenToggle()
if &fullscreen
call FullScreenLeave()
else
call FullScreenEnter()
endif
endf
set guioptions+=e    " Mac 下,按 \\ 切换全屏
nmap <f11> :call FullScreenToggle()<cr>
nmap <Leader><Leader> :call FullScreenToggle()<cr>    " I like TCSH :^)
set shell=/bin/tcsh    " Set input method off
set imdisable    " Set QuickTemplatePath
let g:QuickTemplatePath = $HOME.'/.vim/templates/'    " 如果为空文件,则自动设置当前目录为桌面
lcd ~/Desktop/
endif    " Under Linux/Unix etc.
if has("unix") && !has('gui_macvim')
set guifont=Courier\ 10\ Pitch\ 11
endif
endif
" JSLint.vim
if has("win32")
let g:jslint_command = $VIMFILES . '/extra/jsl/win/jsl.exe'
else
let g:jslint_command = $VIMFILES . '/extra/jsl/mac/jsl'
endif
let g:jslint_highlight_color  = '#996600'
"let g:jslint_command_options = '-conf ' .  $VIMFILES . '/extra/jsl/jsl.conf -nofilelisting -nocontext -nosummary -nologo -process'
"let g:jslint_command_options = '-nofilelisting -nocontext -nosummary -nologo -process'
" =========
" 插件
" =========
" Calendar
" http://www.vim.org/scripts/script.php?script_id=52
if has("gui_macvim")
let g:calendar_diary=$HOME.'/.vim/diary/'
endif
map cal :Calendar<cr>
" NERDTree
" http://www.vim.org/scripts/script.php?script_id=1658
let NERDTreeWinSize=22
map ntree :NERDTree <cr>
map nk :NERDTreeClose <cr>
map <leader>n :NERDTreeToggle<cr>
" 新建 XHTML 、PHP、Javascript 文件的快捷键
nmap <C-c><C-h> :NewQuickTemplateTab xhtml<cr>
nmap  <C-c><C-g> :NewQuickTemplateTab html<cr>
nmap <C-c><C-p> :NewQuickTemplateTab php<cr>
nmap <C-c><C-j> :NewQuickTemplateTab javascript<cr>
nmap <C-c><C-c> :NewQuickTemplateTab css<cr>
" jsbeauty
"http://www.vim.org/scripts/script.php?script_id=2727
" \ff
" =========
" 快捷键
" =========
" 标签相关的快捷键 Ctrl
map tn :tabnext<cr>
map tp :tabprevious<cr>
map tc :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 "font size" mode
"<Leader>++    Increment font size
"<Leader>--    Decrement font size
"<Leader>00    Revert to default font size
" 在文件名上按gf时,在新的tab中打开
map gf :tabnew <cfile><cr>
" 返回当前时间
func! GetTimeInfo()    "return strftime('%Y-%m-%d %H:%M:%S')
return strftime('%Y-%m-%d')
endfunction
" 插入模式按 Ctrl + D(ate) 插入当前时间
imap <C-d> <C-r>=GetTimeInfo()<cr>
"F12启动firefox
if has("win32")
map <F12> :silent! !"C:\Program Files\Mozilla Firefox\firefox.exe" % <CR>
endif
"zen-coding,(c+y+,)
let g:user_zen_expandabbr_key = '<c-e>'
let g:use_zen_complete_tag = 1
" 保证语法高亮
syntax on
" =========
" 帮助
" =========
" :shell 进入终端
" jsbeauty \ff
set helplang=cn
" =========
" js、css压缩
" =========
"autocmd BufWriteCmd *.js :call CompileJS()  "保存时自动压缩js
"默认 :Gcc 命令压缩js
"autocmd BufWriteCmd *.js :call CompressCss()  "保存时自动压缩css
"默认 :Ycc 命令压缩css

转载于:https://blog.51cto.com/973797893/1725780

mac vim 配置文件相关推荐

  1. vim 配置文件 ,高亮+自动缩进+行号+折叠+优化

    vim 配置文件 ,高亮+自动缩进+行号+折叠+优化 http://apps.hi.baidu.com/share/detail/31767352 将一下代码copy到 用户目录下 新建文件为  .v ...

  2. Mac vim环境配置

    Mac vim环境配置 vim环境安装 vimrc配置文件 vim插件安装 vim环境安装 # mac下安装brew $ ruby -e "$(curl -fsSL https://raw. ...

  3. 最好的vim配置文件 不需要下载插件(转)

    不好意思没找到原作者(转) 配置文件和所有插件下载: http://www.mediafire.com/?kgjy0dbdsxn 目地: 当初之所以发布此史上最强vim配置文件的更新版,是因为我要在好 ...

  4. 2022 最新 Mac Vim 开发环境的部署与配置

    2022 最新 Mac Vim 开发环境的部署与配置 效果图 Vim 插件简介 插件名 描述 pope/vim-fugitive Vim 编辑器中的 Git 包装器插件,它可以让我们在 Vim 编辑器 ...

  5. vim配置文件收集(作为c/c++和脚本开发的环境)

    vim配置文件收集(作为c/c++和脚本开发的环境) - StamHe的专栏 - 博客频道 - CSDN.NET vim配置文件收集(作为c/c++和脚本开发的环境) 分类: Linux系统配置 20 ...

  6. 转载~vim配置文件

    转载-vim配置文件 转载自:小码哥的博客 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本 ...

  7. 强大的vim配置文件,让编程更随意

    花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按"F8"可进行C.C ...

  8. 【转】强大的vim配置文件,让编程更随意

    原文地址:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主 ...

  9. Vim配置文件(全平台可用)2012-05-01版

    Vim配置文件(全平台可用)2012-05-01版 - 代码分享 - 开源中国社区 Vim配置文件(全平台可用)2012-05-01版 Ruchee 发布于 2012年04月30日 11时, 22评/ ...

最新文章

  1. java中实现选择文件_Java 实现文件选择对话框及功能
  2. P3196 [HNOI2008]神奇的国度(弦图的最小染色问题)
  3. RedHat6.5-Linux安装telnet服务
  4. mysql 值到99999后不增值了_MySQL数据库之更新语句精解(一)
  5. spring boot地一讲
  6. 想象中的同居生活 VS 真实的同居生活
  7. javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第3部分
  8. SQL Server Query界面不能录入中文
  9. 在CentOS5.5上做Heroku的开发
  10. 淮北师范18-19计算机科学与技术大类实验课试卷
  11. 轻量级 Java Web 服务框架漫谈
  12. ffmpeg 提高编解码效率_介绍几款强大常用的PS插件,让你的工作效率大大提高(含插件如何安装使用教程)...
  13. webdriver.chrome()禁止加载图片
  14. mysql在linux下的完整安装
  15. RouterOS 端口映射与回流
  16. 手把手分析 mfc 程序创建 代码执行流程
  17. 开发板连接了有线路由器,然后咋的就能通到外网了(udhcp)
  18. Java递归删除空文件夹
  19. 【Matlab】帮助文档打不开
  20. extern C和__declspec(dllexport)以及__declspec(dllimport) 和def的简单解析

热门文章

  1. php 采集暂停的原因,为什么小弟我curl的每次都只能抓取18个左右就自动停止了...
  2. 数据分析师mysql基础_数据分析师之mysql入门——数据检索
  3. Android可滑动画板,Android 利用 Canvas 画画板
  4. C++socket编程(九):9.1 UDP实战Syslog服务器
  5. springboot日志配输出路径配置_Spring Boot 日志配置方法(超详细)
  6. android 正在上传动画,安卓系统上传文件动态显示进度条,进度条经常卡在99%有时也会卡住不显示完整的文字。...
  7. java钟使用dwr_DWR中各种java方法的调用
  8. TCL微型计算机如何投屏,TCL电视怎么投屏?3个办法帮助你完美解决
  9. php oci8 11,Linux下PHP5.2 Oracle客户端扩展(OCI8)安装
  10. java 类型 装箱和拆箱