【www.bbyears.com--linux】
非常抱歉,这是我12年的配置了,曾经在开源中国社区分享过,后面也在不断更新和修改。比较适合前端工程师使用。
vim的配置如下:
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
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 ( ()
"inoremap [ []
"inoremap { {}
"inoremap < <>
"inoremap " ""
"inoremap " ""
"set nowrap " 设置不自动换行
set wrap " 设置自动换行
map nw :set nowrap
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
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
imap jj
autocmd BufEnter * cd %:p:h "自动将 Vim 工作目录迁移到所打开文本文件的目录下
map tt :tabnew
map tn :tabn
map tp :tabp
"map :tabp
"map :tabn
"map
map cc :tabc
map
map to :tabo
set showtabline=1 "设置标签栏的显示,0永远不显示 1两个以上显示 2 永远显示
map ft :set ft=html
nmap
nmap kil :g/^\s*$/d
"标签页栏中去除当前所编辑文件的路径信息,只保留文件名
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
"###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\)\@
map ` :NERDTreeToggle
map ne :NERDTreeToggle
""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
map rs :WinResizerStartResize
"定制ZenCoding,用Ctrl+e替换ctrl+y+展开表达式
let g:user_emmet_install_global = 0
autocmd FileType html,css EmmetInstall
let g:user_emmet_expandabbr_key = "
let g:user_zen_settings = {
\ "php" : {
\ "extends" : "html",
\ "filters" : "c",
\ },
\ "xml" : {
\ "extends" : "html",
\ },
\ "html" : {
\ "extends" : "html",
\ },
\}
let g:use_zen_complete_tag = 1
map
"###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()