vim ~./vimrc   vim /etc/vim/vimrc

set nocompatible                 "去掉有关vi一致性模式,避免以前版本的bug和局限

set nu!                                    "显示行号

set guifont=Luxi/ Mono/ 9   " 设置字体,字体名称和字号

filetype on                              "检测文件的类型

set history=1000                  "记录历史的行数

set background=dark          "背景使用黑色

syntax on                                "语法高亮度显示

set autoindent                       "vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进)

set cindent                             "(cindent是特别针对 C语言语法自动缩进)

set smartindent                    "依据上面的对齐格式,智能的选择对齐方式,对于类似C语言编写上有用

set tabstop=4                        "设置tab键为4个空格,

set shiftwidth =4                   "设置当行之间交错时使用4个空格

set ai!                                      " 设置自动缩进

set showmatch                     "设置匹配模式,类似当输入一个左括号时会匹配相应的右括号

set guioptions-=T                 "去除vim的GUI版本中得toolbar

set vb t_vb=                            "当vim进行编辑时,如果命令错误,会发出警报,该设置去掉警报

set ruler                                  "在编辑过程中,在右下角显示光标位置的状态行

set nohls                                "默认情况下,寻找匹配是高亮度显示,该设置关闭高亮显示

set incsearch                        "在程序中查询一单词,自动匹配单词的位置;如查询desk单词,当输到/d时,会自动找到第一个d开头的单词,当输入到/de时,会自动找到第一个以ds开头的单词,以此类推,进行查找;当找到要匹配的单词时,别忘记回车

set backspace=2           " 设置退格键可用

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 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的设置<Begin>============================

map <F3> :TlistToggle<CR>

"map <F3> :silent! Tlist<CR>             "按下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的设置<End>==============================

" ############################键盘映射设置区域###############################

map <F2> :NERDTreeToggle<CR>

map <F4> t :NERDTreeMirror<CR>

" 对应使用函数的配置

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/php_funclist.txt

" 自动完成使用TAB键

function! InsertTabWrapper()

let col=col('.')-1

if !col || getline('.')[col-1] !~ '\k'

return "\<TAB>"

else

return "\<C-N>"

endif

endfunction

"将InsertTabWrapper映射到TAB上

inoremap <TAB> <C-R>=InsertTabWrapper()<CR>

"#######################设置PHP函数自动提醒#########################End

"#######中括号 大括号 小括号 自动补全

:inoremap ( ()<ESC>i

:inoremap ) <c-r>=ClosePair(')')<CR>

:inoremap { {}<ESC>i

:inoremap } <c-r>=ClosePair('}')<CR>

:inoremap [ []<ESC>i

:inoremap ] <c-r>=ClosePair(']')<CR>

:inoremap < <><ESC>i

:inoremap > <c-r>=ClosePair('>')<CR>

function ClosePair(char)

if getline('.')[col('.') - 1] == a:char

return "\<Right>"

else

return a:char

endif

endfunction

"#######中括号 大括号 小括号 自动补全

vimset的更多相关文章

  1. Linux 下 VIM 的操作

    其实VI 和vim本质上没有多大区别,,但是VIM 可以高亮关键字,使得更受青睐 vim里面有3种模式:命令模式,编辑模式,末行模式 1. vim--->:set number VIM 打开文档 ...

随机推荐

  1. K8S conul部署

    官网有Helm方式的安装文档(https://www.consul.io/docs/platform/k8s/index.html) 一,准备工作: 1,k8s环境 2,nfs服务器 二,创建PV n ...

  2. 普通element ui table组件的使用

    1.使用基础的element ui 的table的基础使用 首先,使用前要先引用element库到项目中,可以直接引入element的js和css或者在vue项目下按需加载不同的组件 废话不多说,直接 ...

  3. 一个 Vim 重度用户总结的 vim 超全指南

    我本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让我对文本的操作更加精准.高效. 对于未使用过 Vim 的朋友来说,可能还无法体会到这种感觉.由于使用 ...

  4. Linux下Java变量

    一.JAVA_HOME.PATH.CLASSPATH详解 1.1.JAVA_HOME 指向jdk安装目录,该目录下有bin.lib目录.Eclipse/NetBeans/Tomcat等软件就是通过搜索 ...

  5. ubuntu安装mysql数据库方法

    ubuntu基于linux的免费开源桌面PC操作系统,十分契合英特尔的超极本定位,支持x86.64位和ppc架构.一个比较流行的Linux操作系统,不仅简单易用,而且和Windows相容性非常好.那么 ...

  6. PHP 结合 Boostrap 结合 js 实现学生列表删除编辑以及搜索功能(完结)

    这个自己的小项目要先告一段落了.可能还有许多bug.请见谅 删除学生功能 PHP: // 这里是通过前端代码HTML中的 url 传过来的,用 $_GET 来获取(相关HTML代码可以看一下到主页看一 ...

  7. 华为云和开源Istio运维管理对比样例应用部署

    前言 在公有云方面,华为云已经率先将 Istio 作为产品投入到公有云中进行商业应用中,保持和开源istio高度兼容,做了商业化的运维管理界面,同时进行了性能优化.这里我们做一次验证测试. Booki ...

  8. 小程序框架之视图层 View~获取界面节点信息

    获取界面上的节点信息 WXML节点信息 节点信息查询 API 可以用于获取节点属性.样式.在界面上的位置等信息. 最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置. 示例代码: ...

  9. sql:拼接字符串、截取字符串、取字符串长度

    --第一段 SELECT substr('1233***6795', 0, (select instr('1233***6795', '***', 1, 1) from dual) - 1) from ...

  10. 结构型模式(一) 适配器模式(Adapter)

    一.动机(Motivation) 在软件系统中,由于应用环境的变化,常常需要将"一些现存的对象"放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的. 如何应对这种&q ...