linuxvim括号⾃动补全,我的VIM配置(ubuntu)语法⾼亮⾃动
补全
修改⽅式:将下⾯代码copy到你系统中的vimrc⽂件末尾.
⽐如我的系统中vimrc在/usr/share/vim路径下
我使⽤命令:vim /usr/share/vim/vimrc      打开⽂件,然后添加,保存退出。
配置代码:
set nocp "设置兼容
set expandtab "设置tab
set shiftwidth=4 "设置tab的间隔
set tabstop=4 "四个空格代表⼀个tab
set sts=4
set showmatch "在输⼊括号时光标会短暂地跳到与之相匹配的括号处
set autoindent "设置⾃动缩进
" set smartindent "设置智能缩进
set nowrap "设置⾃动换⾏
set tw=500
set lbr
set number "设置是否显⽰⾏
set guifont=Monospace\ 11 "设置字体⼤⼩
set encoding=utf-8 "设置编码为utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,GB18030,cp936,big5,euc-jp,euc-kr,latin1
set helplang=cn "帮助中⽂⽀持
colorscheme evening "设置主体颜⾊
"set mouse=v " 设置粘贴和复制
"⾃动补全配置
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete
" =================================进⾏Taglist的设置============================ map :TlistToggle
"map :silent! Tlist "按下F3就可以呼出了
"let Tlist_Ctags_Cmd='/usr/bin/ctags' "因为我们放在环境变量⾥,所以可以直接执⾏
let Tlist_Use_Right_Window=1 "让窗⼝显⽰在右边,0的话就是显⽰在左边
"let Tlist_Show_One_File=1 "让taglist可以同时展⽰多个⽂件的函数列表
"let Tlist_File_Fold_Auto_Close=1 "⾮当前⽂件,函数列表折叠隐藏
"let Tlist_Exit_OnlyWindow=1 "当taglist是最后⼀个分割窗⼝时,⾃动推出vim
"let Tlist_Process_File_Always=0 "是否⼀直处理tags.1:处理;0:不处理
"let Tlist_Inc_Winwidth=0 "不是⼀直实时更新tags,因为没有必要
" =================================进⾏Taglist的设置============================== " >>>>>###键盘映射设置区域####
>>>>>##
map :NERDTreeToggle
map t :NERDTreeMirror
" 对应使⽤函数的配置
set guitablabel=%{ShortTabLabel()}
function ShortTabLabel ()
let bufnrlist = tabpagebuflist (v:lnum)
let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])
let filename = fnamemodify (label, ':t')
return filename
endfunction
set tabline=%!MyTabLine()
function MyTabLine()
let s = ''
for i in range(tabpagenr('$'))
" 选择⾼亮
if i + 1 == tabpagenr()
let s .= '%#TabLineSel#'
else
let s .= '%#TabLine#'
endif
" 设置标签页号 (⽤于⿏标点击)
let s .= '%' . (i + 1) . 'T'
" MyTabLabel() 提供完整路径标签 MyShortTabLabel 提供⽂件名标签let s .= ' %{MyShortTabLabel(' . (i + 1) . ')} '
endfor
" 最后⼀个标签页之后⽤ TabLineFill 填充并复位标签页号
let s .= '%#TabLineFill#%T'
" 右对齐⽤于关闭当前标签页的标签
if tabpagenr('$') > 1
let s .= '%=%#TabLine#%999Xclose'
endif
return s
endfunction
" ⽂件名标签
function MyShortTabLabel(n)
let buflist = tabpagebuflist(a:n)
let label = bufname (buflist[tabpagewinnr (a:n) -1])
let filename = fnamemodify (label, ':t')
return filename
endfunction
"完整路径标签
function MyTabLabel(n)
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
return bufname(buflist[winnr - 1])
endfunction
" vim 标签样式
" TabLineFill tab pages line, where there are no labels
hi TabLineFill term=none
hi TabLineFill ctermfg=DarkGrey
hi TabLineFill guifg=#777777
" TabLineSel tab pages line, active tab page label
hi TabLineSel term=inverse
hi TabLineSel cterm=none ctermfg=yellow ctermbg=Black
hi TabLineSel gui=none guifg=yellow guibg=Black
" Develop editing options
au FileType vim setl expandtab
au FileType vim setl shiftwidth=2
au FileType vim setl tabstop=2
" 显⽰状态栏(默认值为 1,⽆法显⽰状态栏)
set laststatus=2
" Format the statusline
set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}E5%h\ \ \ Line:\ %l/%L:%c
function! CurDir()
let curdir = substitute(getcwd(), '/Users/amir/', "~/", "g")
return curdir
endfunction
">>>>###设置PHP函数⾃动提醒>>>>>Start"设置字典⾃动完成
set complete+=k
"设置字典
set dictionary=~/.vim/doc/
" ⾃动完成使⽤TAB键
function! InsertTabWrapper()
let col=col('.')-1
if !col || getline('.')[col-1] !~ '\k'
return "\"
else
return "\"
endif
endfunction
"将InsertTabWrapper映射到TAB上
inoremap =InsertTabWrapper()
">>>>###设置PHP函数⾃动提醒>>>>>End">##中括号 ⼤括号 ⼩括号 ⾃动补全
:inoremap ( ()i
:inoremap ) =ClosePair(')')
:inoremap { {}i
:inoremap } =ClosePair('}')
:inoremap [ []i
:inoremap ] =ClosePair(']')
:inoremap < <>i
linux系统vim编辑器:inoremap > =ClosePair('>')
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\"
else
return a:char
endif
endfunction
">##中括号 ⼤括号 ⼩括号 ⾃动补全

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论