非常抱歉,这是我12年的配置了,曾经在开源中国社区分享过,后面也在不断更新和修改。比较适合前端工程师使用。
vim的配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
set nocompatible syntax enable " 打开语法高亮 syntax on " 开启文件类型侦测 filetype indent on " 针对不同的文件类型采用不同的缩进格式;indent on就是按indent目录下脚本自动缩进 filetype plugin off " 针对不同的文件类型加载对应的插件;plugin on就是允许执行 ftplugin目录下的文件类型特定的脚本。 set rtp+=~/.vim/bundle/vundle/ call vundle#rc() Bundle 'maksimr/vim-jsbeautify' "filetype plugin indent on "合并写法 set tabstop=4 " 设置tab键的宽度 set shiftwidth=4 " 换行时行间交错使用4个空格 set autoindent " 自动对齐 set backspace=2 " 设置退格键可用 set cindent shiftwidth=4 " 自动缩进4空格 set smartindent " 智能自动缩进 set ai! " 设置自动缩进 set nu! " 显示行号 set showmatch " 显示括号配对情况 set matchtime=5 " 匹配括号高亮的时间(单位是十分之一秒) set mouse=a " 启用鼠标 set ruler " 右下角显示光标位置的状态行 set incsearch " 查找book时,当输入/b时会自动找到 set hlsearch " 开启高亮显示结果 set incsearch " 开启实时搜索功能 set nowrapscan " 搜索到文件两端时不重新搜索 map nh :noh<cr> set nocompatible " 关闭兼容模式 set vb t_vb= " 关闭提示音 set cursorline " 突出显示当前行 set hidden " 允许在有未保存的修改时切换缓冲区 set list set lcs=tab:\|\ hi SpecialKey guifg=#0087AF set history=1000 " 历史记录数 set ignorecase "搜索忽略大小写 " 自动插入匹配括号 "inoremap ( ()<LEFT> "inoremap [ []<LEFT> "inoremap { {}<LEFT> "inoremap < <><LEFT> "inoremap " ""<LEFT> "inoremap ' ''<LEFT> "set nowrap " 设置不自动换行 set wrap " 设置自动换行 map nw :set nowrap<CR> set writebackup " 设置无备份文件 set nobackup set directory=.,$TEMP "解决“无法打开未命名交换文件,恢复将不可能”错误 "set autochdir " 设定文件浏览器目录为当前目录 "set foldenable " 开始折叠 "set foldmethod=indent " 设置语法折叠;za/zo/zO折叠和展开 "set foldcolumn=0 " 设置折叠区域的宽度 "setlocal foldlevel=1 " 设置折叠层数为 "set foldlevelstart=99 " 打开文件是默认不折叠代码 "set foldclose=all " 设置为自动关闭折叠 "nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> " 用空格键来开关折叠 set laststatus=2 " 开启状态栏信息 set cmdheight=1 " 命令行的高度,默认为1,这里可以重设 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %y%r%m%*%=\ %{strftime(\"%y/%m/%d\ -\ %H:%M\")} " 状态行显示的内容 [包括系统平台、文件类型、坐标、所占比例、时间等 set shm+=I "去掉启动画面 map JJ <Esc> imap jj <Esc> autocmd BufEnter * cd %:p:h "自动将 Vim 工作目录迁移到所打开文本文件的目录下 map tt :tabnew<CR> "tt新建标签; map tn :tabn<CR> map tp :tabp<CR> "map <A-Left> :tabp<CR> "切换标签页;使用Alt+←切换 "map <A-Right> :tabn<CR> "切换标签页;使用Alt+→切换 "map <Tab> :tabn<CR> "使用tab切换标签页 map cc :tabc<CR> "按cc关闭当前标签 map <S-C> :tabc<CR> "按Shift+c关闭当前标签 map to :tabo<CR> "关闭其他标签 set showtabline=1 "设置标签栏的显示,0永远不显示 1两个以上显示 2 永远显示 map ft :set ft=html<CR> nmap <S-L> dd "提高用dd命令删除行的性能 nmap kil :g/^\s*$/d<CR> "标签页栏中去除当前所编辑文件的路径信息,只保留文件名 function ShortTabLabel () let bufnrlist = tabpagebuflist (v:lnum) let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1]) let filename = fnamemodify (label, ':t') return filename endfunction set guitablabel=%{ShortTabLabel()} """""""""""""""""""" """"""插件类"""""""" """""""""""""""""""" "###MRU### nmap mr :MRU<CR> "打开最近打开文件 "###NERDTree### let NERDTreeWinPos ="left" "将NERDTree的窗口设置在gvim窗口的左边 let NERDTreeShowBookmarks=1 "当打开NERDTree窗口时,自动显示Bookmarks "let NERDTreeMinimalUI=1 "不显示帮助面板 let NERDTreeChDirMode=2 "选中root即设置为当前目录 let NERDTreeCaseSensitiveSort=0 "不分大小写排序 let NERDTreeQuitOnOpen=0 "打开文件后, 关闭NERDTrre窗口 let NERDTreeHighlightCursorline=1 "高亮NERDTrre窗口的当前行 let NERDTreeIgnore=['\.zip$','\~$','\.png$','\.gif$','\.jpg$','\.bak$','\.html$','\.rar$','\.swp$'] "不显示指定的类型的文件 "let NERDTreeIgnore += ['\(\.txt\)\@<!$[[file]]'] "只显示txt文件 map ` :NERDTreeToggle<CR> map ne :NERDTreeToggle<cr> ""open a NERDTree automatically when vim starts up "autocmd vimenter * NERDTree "" open a NERDTree automatically when vim starts up if no files were specified "autocmd vimenter * if !argc() | NERDTree | endif "close vim if the only window left open is a NERDTree autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif "###session### let g:session_autosave = 'yes' let g:session_autoload = 'yes' "###WinResizer### "let g:winresizer_enable = 0 map <S-E> :WinResizerStartResize<CR> map rs :WinResizerStartResize<CR> "定制ZenCoding,用Ctrl+e替换ctrl+y+展开表达式 let g:user_emmet_install_global = 0 autocmd FileType html,css EmmetInstall let g:user_emmet_expandabbr_key = '<c-e>' let g:user_zen_settings = { \ 'php' : { \ 'extends' : 'html', \ 'filters' : 'c', \ }, \ 'xml' : { \ 'extends' : 'html', \ }, \ 'html' : { \ 'extends' : 'html', \ }, \} let g:use_zen_complete_tag = 1 map <C-S-R> :FufFileRecursive<CR> "###auto_save let g:auto_save = 0 " enable AutoSave on Vim startup "let g:auto_save_no_updatetime = 1 " do not change the 'updatetime' option "JsBeautify map :call JsBeautify() " or autocmd FileType javascript noremap :call JsBeautify() " for html autocmd FileType html noremap :call HtmlBeautify() " for css or scss autocmd FileType css noremap :call CSSBeautify() |
下载地址:linux-vimrc.tar.bz2