nmap <F11> :source ~/.vimrc<CR> "n 普通模式 F11映射为 :source ~/.vimrc winpos 5 5 "windows post set set nocompatible "不与VI兼容(采用vim 自己的操作命令) au GUIEnter * simalt ~x "启动时最大化 nmap <F8> GoDate:<ESC>:read !date<CR>KJ function! RemovePairs() "设置一个删除括号的函数,首字母要大写 let l:line = getline(".") "getline()获取当前行内容,例如getline(line(".")获取当前所在行 let l:previous_char = l:line[col(".")-1] "获取当前光标前一个字符 if index(["{","[","("],l:previous_char)!=-1 "判断是否为所列字符 let l:original_pos=getpos(".") execute "normal %" let l:new_pos = getpos(".") if l:original_pos == l:new_pos execute "normal! a\<BS>" return end let l:line2 = getline(".") if len(l:line2)==col(".") execute "normal! v%xa" else execute "normal! v%xi" end else execute "normal! a\<BS>" end endfunction inoremap <BS> <ESC>:call RemovePairs()<CR>a "color github set encoding=utf-8 "使用utf-8编码 简写(enc) set fileencodings=utf-8,gbk,big5,cp936,gb18030,gb23215,utf-16 "如果上一步解码失败才尝试这些 (简写 fencs) set fileencoding=utf-8 "把文件编码转换为utf-8 (fenc) set number "显示行号 "set relativenumber "显示光标所在行的行号,其它行都为相对于该行的相对行号 set cursorline "光标所在行高亮 set textwidth=140 "设置行宽,即一行显示多少个字符 set wrap "自动折行,即太长的行分成几行显示 ,set nowap 关闭折行 set linebreak "只有遇到制定的符号(比如空格.连词号.其它标点符号),才发生折行 set wrapmargin=2 "当前折行处与编辑窗口的右边缘之间空出的字符数 filetype on "文件检查 set t_Go=256 "启用256色 "hi comment ctermfg=1 "ctermfg 前景色 ctermbg 背景色 colorscheme desert" 配色方案 elflord ron peachpuff desert morning evening default murphy pablo shine blue darkblue delek koehler slate torte zellner hi Normal guibg=BLACK hi Search term=standout ctermfg=15 ctermbg=242 "hi 颜色设置 Search 搜索 ctermfg 背景色 ctermbg 前景色 syntax on set showcmd "在底部显示当前处于命令模式还是插入模式 set mouse=a "支持使用鼠标 set cindent " /*set atuoindent 设置自动缩进 可选 autoindent cindent indentexpr*/ set smartindent "/*智能对其方式*/ set ai "设置自动缩进 set expandtab " #set tab character auto turn space 设置tab自动转换为空格 set tabstop =2 "按下tab键时,Vim显示的空格数 set shiftwidth=4 "set cindent shiftwidth=4 " #设置自动缩进长度为4个空格 "set autoindent shiftwidth=2 "设置缩进字符个数 set mouse=a "设置那些模式使用鼠标 set backspace=2 "设置Backspace 和Delete的灵活程度 2为没有限制 "set noweap 不自动换行 inoremap { {}<ESC>i<CR><ESC>V<>>O "i:insert pattern nore:非递归模式 map 映射 这句的功能是当输入{时 VIM自动输入后面的命令 inoremap ( ()<ESC>i inoremap [ []<ESC>i inoremap " ""<ESC>i inoremap ' ''<ESC>i "auto remove a pair character ""function! Removepairs() "let l:line=getline(".") ""let set softtabstop=2 "tap 转换为多少个空格 set showmatch "光标遇到圆括号,方括号,大括号,自动高亮对应的另一个圆括号,方括号,大括号 set hlsearch "搜索时高亮配备集国 set incsearch " 输入搜索模式时,每输入一个字符,就自动跳到第一个配备的结果 set ignorecase "搜索时忽略大小写 set smartcase "如果同时打开了ignorecase,那么对于只有一个大写字母的搜索词,将大小写敏感,其它情况不敏感,例如:搜索Test时,将不配备test, "搜索test时,将配备Test "set spell spelllang=en_us "打开英语单词的拼写检查 set backup "创建备份文件,默认情况,文件保存时,会额外创建备份文件,它的文件名是在原文件的末尾,再添加一个波浪号(~);nobackup则反过来 set swapfile "创建交换文件,交换文件主要用于系统崩溃时恢复文件,文件名的开头是. 结尾是.swp ; noswapfile则反过来 set undofile "保留撤销历史,将撤销历史保存到一个文件里,继续存在,关闭文件后下次编辑,可以撤销赏次操作,文件名以un~开头,和原文件在一起的隐藏文件 set backupdir=/home/share set directory=~/.vim/.share/.swp// set undodir=~/.home/.share/.undo// "上面3行设置备份文件,交换文件,操作历史文件的保存位置,结尾的//表示生成的文件的绝对路径,路ingzhong用%替换目录分格符,这样可以防止文件重名 set laststatus=2 "是否显示状态栏,0 不显示,1 只在多窗口显示,2显示 set autochdir "自动切换工作目录,在在个VIM会话中打开多个为年间的情况,默认工作目录是打开的第一个文件的目录 set noerrorbells "出错时不要发出响声 set visualbell "出错时发出错误提示 set history=1000 "VIM需要记住多少次历史操作 set autoread "打开文件监视,如果编辑过程中文件发生外部改变,就会发出提示 set wildmenu " set wildmode=longest:list,full "上面两行,在命令模式下,底部操作指令TAB键会自动补全,第一次按TAB,会显示配备的指令清单,第二次按TAB,会依次选择各个指令 set guioptions-=T " #GUI set; T:去掉Gvim中的工具栏;t:去掉GVIM中可撕下的菜单 guioptions=egmrLtT set vb t_vb= set ruler "在状态栏显示光标的当前位置 set incsearch if has("vms") set nobackup else set backup endif