我的_vimrc配置文件(不定时更新)

vim感觉还是很强大的,只要自己配置好,下面是自己网上找的,留作备忘。

VimL语言: 代码高亮由发芽网提供

001 “=========================================================================
002 ” DesCRiption: 适合自己使用的vimrc文件,for Linux/Windows, GUI/Console
003 
004 ” Aaron Chen
005 
006 ” 本人从互联网收集,非常感谢原作者!
007 “=========================================================================
008 
009 set nocompatible            ” 关闭 vi 兼容模式
010 syntax on                   ” 自动语法高亮
011 colo rainbow_neon           ” 设定配色方案
012 set number                  ” 显示行号
013 set cursorline              ” 突出显示当前行
014 set ruler                   ” 打开状态栏标尺
015 set wrap                    “设置自动折行
016 ” set nowrap                  “设置不自动折行
017 
018 ” hi LineNr guibg=#111111 guifg=#09C7F7        
019                             “行菜单颜色改变
020 
021 set shiftwidth=4            ” 设定 << 和 >> 命令移动时的宽度为 4
022 set softtabstop=4           ” 使得按退格键时可以一次删掉 4 个空格
023 set tabstop=4               ” 设定 tab 长度为 4
024 
025 set nobackup                ” 覆盖文件时不备份
026 set autochdir               ” 自动切换当前目录为当前文件所在的目录
027 
028 filetype plugin indent on   ” 开启插件
029 set backupcopy=yes          ” 设置备份时的行为为覆盖
030 set ignorecase smartcase    ” 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
031 set nowrapscan              ” 禁止在搜索到文件两端时重新搜索
032 set incsearch               ” 输入搜索内容时就显示搜索结果
033 set hlsearch                ” 搜索时高亮显示被找到的文本
034 set noerrorbells            ” 关闭错误信息响铃
035 set novisualbell            ” 关闭使用可视响铃代替呼叫
036 set t_vb=                   ” 置空错误铃声的终端代码
037 ” set showmatch               ” 插入括号时,短暂地跳转到匹配的对应括号
038 ” set matchtime=2             ” 短暂跳转到匹配括号的时间
039 set magic                   ” 设置魔术
040 set hidden                  ” 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
041 set guioptions-=T           ” 隐藏工具栏
042 ” set guioptions-=m           ” 隐藏菜单栏
043 set smartindent             ” 开启新行时使用智能自动缩进
044 set backspace=indent,eol,start
045                             ” 不设定在插入状态无法用退格键和 Delete 键删除回车符
046 set cmdheight=1             ” 设定命令行的行数为 1
047 set laststatus=1            ” 显示状态栏 (默认值为 1, 无法显示状态栏)
048 set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)
049                             ” 设置在状态行显示的信息
050 ” set foldenable              ” 开始折叠
051 ” set foldmethod=syntax       ” 设置语法折叠
052 ” set foldcolumn=0            ” 设置折叠区域的宽度
053 ” setlocal foldlevel=1        ” 设置折叠层数为
054 ” set foldclose=all           ” 设置为自动关闭折叠                            
055 ” nnoremap <space> @=((foldclosed(line(‘.’)) < 0) ? ‘zc’ : ‘zo’)<CR>
056                             ” 用空格键来开关折叠
057 
058 “———————————————
059 ” Use CTRL-S for saving, also in Insert mode
060 “———————————————
061 noremap <CS> :update<CR>
062 vnoremap <CS> <CC>:update<CR>
063 inoremap <CS> <CO>:update<CR>
064 
065 
066 “———————————————
067 “英文字体设置
068 “———————————————
069 set guifont=Arial_monospaced_for_SAP:h10:cANSI
070 
071 
072 “———————————————
073 ” 自动补全括号
074 “———————————————
075 :inoremap ()<ESC>i
076 :inoremap <cr>=ClosePair(‘)’)<CR>
077 :inoremap { {}<ESC>i
078 :inoremap } <cr>=ClosePair(‘}’)<CR>
079 :inoremap [ []<ESC>i
080 :inoremap ] <cr>=ClosePair(‘]’)<CR>
081 :inoremap < <><ESC>i
082 :inoremap > <cr>=ClosePair(‘>’)<CR>
083 :inoremap ” “”<ESC>i
084 :inoremap ‘ ‘<ESC>i
085 
086 function ClosePair(char)
087 if getline(‘.’)[col(‘.’ 1== a:char
088     return “\<Right>”
089 else
090     return a:char
091 endif
092 endf
093 
094 
095 “———————————————
096 ” vim 在windows下的编码设置
097 “———————————————
098 set encoding=utf-8
099 set fileencodings=utf-8,chinese,latin-1
100 if has(“win32”)
101     set fileencoding=chinese
102 else
103     set fileencoding=utf-8
104 endif
105 “解决菜单乱码
106 source $VIMRUNTIME/delmenu.vim
107 source $VIMRUNTIME/menu.vim
108 “解决consle输出乱码
109 language messages zh_CN.utf-8
110 
111 
112 “———————————————
113 ” 设置= + – * 前后自动空格
114 ” 设置逗号后面自动添加空格
115 “———————————————
116 let g:equ=1
117 if exists(“g:equ”)
118     :inoremap = <cr>=EqualSign(‘=’)<CR>
119     :inoremap + <cr>=EqualSign(‘+’)<CR>
120     :inoremap  <cr>=EqualSign(‘-‘)<CR>
121     :inoremap * <cr>=EqualSign(‘*’)<CR>
122     :inoremap / <c-r>=EqualSign(‘/)<CR>
123     :inoremap , ,<space>
124 
125 ” HTML中会和标签引起冲突
126 ”    :inoremap > <c-r>=EqualSign(‘>’)<CR>
127 ”    :inoremap < <c-r>=EqualSign(‘<‘)<CR>
128 endif
129 
130 function! EqualSign(char)
131 if getline(‘.’)[col(‘.’ 3=~ “[\*-=+\/]”
132     return “\<ESC>xa”.a:char.”\<SPACE>”
133 else
134     return “\<SPACE>”.a:char.”\<SPACE>\<ESC>a”
135 endif
136 endf
137 
138 
139 “———————————————
140 ” F4快捷格式化js代码
141 “———————————————
142 nnoremap <F4> :call g:Jsbeautify()<CR>
143 
144 
145 “———————————————
146 ” F11全屏显示
147 “———————————————
148 if has(‘win32’)
149     map <F11> <Esc>:call libcallnr(“gvimfullscreen.dll”, “ToggleFullScreen”, 0)<CR>    “非插入模式下F11全屏
150     imap <F11> <Esc>:call libcallnr(“gvimfullscreen.dll”, “ToggleFullScreen”, 0)<CR>    “插入模式下F11全屏
151 endi

发表评论

电子邮件地址不会被公开。 必填项已用*标注