设置项 | 含义 |
---|---|
set nocompatible | vim是vi的扩展版本,它在vi的基础上增加了很多功能,但就不与vi完全兼容了, set compatible就是让vim关闭所有扩展功能,尽量模拟vi行为,若是 set nocompatible 则是关闭兼容模式 |
set showtabline=0/1 | 设置tab的顶部标签栏,0为隐藏,1为新建显示,2为始终显示,相关tab命令 tabnew 创建新的tab页 tabn 下一个tab tabp 上一个tab tabs 显示已打开标签列表 tabc 关闭当前标签页 |
syntax on/off | 语法高亮或者不高亮,linux中可以使用locate xx.vim查看具体语法配置,比如locate java.vim |
set t_Co=256 | terminal Color,默认是8色,以开启256色支持 |
set confirm | 设置确认,在处理未保存或只读文件的时候,弹出确认 |
set nowrap | 设置默认不换行 |
set fileformat=unix | 设置文件格式为unix |
set showmatch | 显示匹配的括号 |
set scrolloff=5 | 距离顶部和底部5行,将光标垂直居中放在屏幕上,当滚动或搜索大文件时 |
set laststatus=2 | 将状态行显示在窗口底部倒数第二行 |
set incsearch | 输入搜索内容时就显示搜索结果 |
set hlsearch | 高亮搜索项 |
set whichwrap+=<,>,h,l | 默认情况下,在 VIM 中当光标移到一行最左边的时候,我们继续按左键,光标不能回到上一行的最右边。 同样地,光标到了一行最右边的时候,我们不能通过继续按右跳到下一行的最左边。但是,通过设置 whichwrap 我们可以对一部分按键开启这项功能。 如果想对某一个或几个按键开启到头后自动折向下一行的功能,可以把需要开启的键的代号写到 whichwrap 的参数列表中,各个键之间使用逗号分隔。以下是 whichwrap 支持的按键名称列表 |
set cursorline | 突显当前行 |
set cursorcolumn | 突显当前列 |
set autoindent | 沿用上一行的缩进 |
set smartindent | 类似 ‘autoindent’,但是可以识别一些 C 语法以能在合适的地方增加 / 减少缩进。 |
set cindent | 比上面两个更聪明;可以设置不同的缩进风格,c语言缩进风格 |
set indentexpr | 最灵活的一个: 根据表达式来计算缩进。若此选项非空,则优先于其它选项覆盖。 |
set rtp+=~/.vim/bundle/Vundle.vim | 将Vundle.vim配置到runtime path中 |
"----------------normal setting------------------------------------------------
set nocompatible "去掉vi的一致性
set number ""显示行号"
set showtabline=1 ""show顶部标签栏
"-- set color
syntax enable ""开启语法高亮"
set t_Co=256
set background=dark "设置背景色"
let g:solarized_termcolors=64 ""solarized主题设置在终端下的设置"
colorscheme solarized ""set solarized
"-- set fileformat && encoding
set fenc=utf-8 "文件编码"
set fileformat=unix "设置以unix的格式保存文件"
set nowrap "设置不折行"
set showmatch "显示匹配的括号"
set confirm
set scrolloff=30 "距离顶部和底部5行"
set laststatus=2 "命令行为两行"
set mouse=a "启用鼠标"
set selection=exclusive
set selectmode=mouse,key
set matchtime=5
set ignorecase "忽略大小写"
set incsearch
set hlsearch "高亮搜索项"
set whichwrap+=<,>,h,l
set autoread
set cursorline "突出显示当前行"
set cursorcolumn "突出显示当前列"
"-- set tab \t space
set shiftwidth=4
set backspace=2
set tabstop=4
set expandtab
set autoindent
"----------------plugin manage--------------------------------------------------
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'scrooloose/nerdtree'
call vundle#end()
filetype plugin indent on
"----------------plugin config--------------------------------------------------
"-- nerd setting
map <F2> :NERDTreeToggle<CR> "F2开启和关闭树"
let NERDTreeChDirMode=1
let NERDTreeShowBookmarks=1 "显示书签"
let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$'] "设置忽略文件类型"
let NERDTreeWinSize=25 "窗口大小"
autocmd vimenter * NERDTree
autocmd vimenter * wincmd w
autocmd BufEnter * if (winnr("$") == 1 && exists("b:NERDTree") &&b:NERDTree.isTabTree()) | q | endif
"autocmd BufEnter * if 0 == len(filter(range(1,winnr('$')),'empty(getbufvar(winbufnr(v:val),"&bt"))')) | qa! | endif
"----------------other setting--------------------------------------------------
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" new file title
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if &filetype == 'sh'
call setline(1, "#################################################################################")
call append(line("."), "# File Name: ".expand("%"))
call append(line(".")+1, "# Author: sunrise")
call append(line(".")+2, "# Mail: xxx@xxx.com")
call append(line(".")+3, "# Created Time: ".strftime("%c"))
call append(line(".")+4, "#################################################################################")
call append(line(".")+5,"")
call append(line(".")+6,"#!/bin/bash")
else
call setline(1, "/********************************************************************************")
call append(line("."), " >File Name: ".expand("%"))
call append(line(".")+1, " >Author: sunrise")
call append(line(".")+2, " >Mail: xxx@xxx.com")
call append(line(".")+3, " >Created Time: ".strftime("%c"))
call append(line(".")+4, "***********************************************************************/")
call append(line(".")+5,"")
endif
if &filetype == 'cpp'
call append(line(".")+6,"#include<iostream>")
call append(line(".")+7,"using namespace std;")
call append(line(".")+8,"")
endif
if &filetype == 'c'
call append(line(".")+6,"#include<stdio.h>")
call append(line(".")+7,"")
endif
autocmd BufNewFile * normal G
endfunc