博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的VIM配置(ubuntu)
阅读量:5906 次
发布时间:2019-06-19

本文共 4364 字,大约阅读时间需要 14 分钟。

hot3.png

前几天有位谦虚的高人让我贴一下我的vim配置,就在这里贴一下好了,

set nocp    "设置兼容set expandtab   "设置tabset shiftwidth=4    "设置tab的间隔set tabstop=4   "四个空格代表一个tabset sts=4set showmatch   "在输入括号时光标会短暂地跳到与之相匹配的括号处set autoindent  "设置自动缩进" set smartindent "设置智能缩进set nowrap    "设置自动换行set tw=500set lbrset number  "设置是否显示行set guifont=Monospace\ 11  "设置字体大小 set encoding=utf-8  "设置编码为utf-8set fileencoding=utf-8set fileencodings=ucs-bom,utf-8,GB18030,cp936,big5,euc-jp,euc-kr,latin1set helplang=cn "帮助中文支持colorscheme tango "设置主体颜色"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 filenameendfunctionset 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 sendfunction" 文件名标签function MyShortTabLabel(n) let buflist = tabpagebuflist(a:n) let label = bufname (buflist[tabpagewinnr (a:n) -1]) let filename = fnamemodify (label, ':t') return filenameendfunction"完整路径标签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 labelshi TabLineFill term=nonehi TabLineFill ctermfg=DarkGreyhi TabLineFill guifg=#777777" TabLineSel tab pages line, active tab page labelhi TabLineSel term=inversehi TabLineSel cterm=none ctermfg=yellow ctermbg=Blackhi TabLineSel gui=none guifg=yellow guibg=Black " Develop editing optionsau FileType vim setl expandtabau FileType vim setl shiftwidth=2au FileType vim setl tabstop=2" 显示状态栏(默认值为 1,无法显示状态栏)set laststatus=2" Format the statuslineset 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 curdirendfunction"#######################设置PHP函数自动提醒#########################Start"设置字典自动完成set complete+=k"设置字典set dictionary=~/.vim/doc/php_funclist.txt" 自动完成使用TAB键function! InsertTabWrapper() let col=col('.')-1 if !col || getline('.')[col-1] !~ '\k' return "\
" else return "\
" endifendfunction"将InsertTabWrapper映射到TAB上inoremap
=InsertTabWrapper()
"#######################设置PHP函数自动提醒#########################End"#######中括号 大括号 小括号 自动补全:inoremap ( ()
i:inoremap )
=ClosePair(')')
:inoremap { {}
i:inoremap }
=ClosePair('}')
:inoremap [ []
i:inoremap ]
=ClosePair(']')
:inoremap < <>
i:inoremap >
=ClosePair('>')
function ClosePair(char) if getline('.')[col('.') - 1] == a:char return "\
" else return a:char endifendfunction"#######中括号 大括号 小括号 自动补全

对应的配置文件,全部在gvim的网站上有

转载于:https://my.oschina.net/zhangdapeng89/blog/78597

你可能感兴趣的文章
软件测试之Monkey 初步了解(入门级II)
查看>>
语法分析
查看>>
flex上下固定中间滚动布局
查看>>
共享内存之——mmap内存映射
查看>>
文件系统在NVMe SSD上的性能表现分析
查看>>
chcon命令详解
查看>>
51CTO的技术门诊谈OSSIM
查看>>
IDC:2012年中国IT安全市场规模将达到16.67亿美元
查看>>
详细分解三同不同默认路由配置形式的区别与故障排除
查看>>
AOP技术基础
查看>>
北漂到底要不要回老家发展?
查看>>
linux开机到登陆的启动过程描述(考试题答案系列)
查看>>
作战模型的建模与仿真
查看>>
Cisco Easy ***综合配置示例
查看>>
细品慢酌QuickTest关键视图(2)
查看>>
报表服务入门(实验5)创建共享数据集
查看>>
Windows Server Technical Preview(Windows Server 10)Hyper-V体验
查看>>
杭哥试用过的精品软件推荐:毛笔字生成软件(ougishi) 4.00 书法 唐宋八大家
查看>>
两台Linux主机,通过GRE隧道并且PAT访问对方网络
查看>>
某度质量部测试开发面试题5(未完待续)
查看>>