- colorschememurphy"设置配色方案
- setnocompatible"关闭vi兼容模式
- Syntaxon"开启语法高亮
- setnu"显示行号
- setcursorline"突出显示当前行
- setruler"打开状态栏标尺
- setshiftwidth=4"设定<<和>>命令移动时的宽度为4
- setsofttabstop=4"使得按退格键时可以一次删掉4个空格
- settabstop=4"设定tab长度为4
- setnobackup"覆盖文件时不备份
- filetypepluginindenton"开启插件
- setbackupcopy=yes"设置备份时的行为为覆盖
- setignorecasesmartcase"搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
- setnowrapscan"禁止在搜索到文件两端时重新搜索
- setincsearch"输入搜索内容时就显示搜索结果
- sethlsearch"搜索时高亮显示被找到的文本
- setnoerrorbells"关闭错误信息响铃
- setnovisualbell"关闭使用可视响铃代替呼叫
- sett_vb="置空错误铃声的终端代码
- setmagic"设置魔术
- sethidden"允许在有未保存的修改时切换缓冲区,此时的修改由vim负责保存
- setguioptions-=T"隐藏工具栏
- setguioptions-=m"隐藏菜单栏
- setsmartindent"开启新行时使用智能自动缩进
- setbackspace=indent,eol,start"不设定在插入状态无法用退格键和Delete键删除回车符
- setcmdheight=1"设定命令行的行数为1
- setlaststatus=2"显示状态栏(默认值为1,无法显示状态栏)
- setstatusline=\%<%F[%1*%M%*%n%R%H]%=\%y\%0(%{&fileformat}\%{&encoding}\%c:%l/%L%)\"设置在状态行显示的信息
- sethelplang=cn"显示中文帮助
- "新建.c,.h,.sh,.java文件,自动插入文件头
- autocmdBufNewFile*.sh,*.pycallSetTitle()
- """定义函数SetTitle,自动插入文件头
- funcSetTitle()
- "如果文件类型为.sh文件
- if&filetype=='sh'
- callsetline(1,"\#!/bin/bash")
- callappend(line("."),"\#########################################################################")
- callappend(line(".")+1,"\#FileName:".expand("%"))
- callappend(line(".")+2,"\#Author:huxianyong")
- callappend(line(".")+3,"\#mail:hxy123@163.com")
- callappend(line(".")+4,"\#CreatedTime:".strftime("%y-%m-%d%A%H:%M:%S"))
- callappend(line(".")+5,"\#########################################################################")
- normalG
- "G就是到文件最后一行和vim里面的G一样
- normalo
- "o就是相当于一个回车
- normalo
- else
- callsetline(1,"\#!/usr/bin/python")
- callappend(line("."),"\#-*-coding:utf8-*-")
- callappend(line(".")+1,"\#*************************************************************************")
- callappend(line(".")+2,"\#FileName:".expand("%"))
- callappend(line(".")+3,"\#Author:huxianyong")
- callappend(line(".")+4,"\#Mail:hxy123@163.com")
- callappend(line(".")+5,"\#CreatedTime:".strftime("%c"))
- callappend(line(".")+6,"\#************************************************************************")
- normalG
- normalo
- normalo
- endif
- "新建文件后,自动定位到文件末尾
- autocmdBufNewFile*normalG
- endfunc
- "设置编码格式,字符编码
- setfencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
- settermencoding=utf-8
- setencoding=utf-8
- setguifont=Courier_New:h10:cANSI"设置字体
- Syntaxon"语法高亮
- autocmdInsertLeave*senocul"用浅色高亮当前行
- setpastetoggle=<F3>"F3不缩进
- setcompleteopt=preview,menu"自动补全
- :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>
- :inoremap'''<ESC>i
- :inoremap'<c-r>=ClosePair('\'')<CR>
- :inoremap<<><ESC>i
- :inoremap><c-r>=ClosePair('>')<CR>
- function!ClosePair(char)
- ifgetline('.')[col('.')-1]==a:char
- return"\<Right>"
- else
- returna:char
- endif
- endfunction
- filetypepluginindenton
- "打开文件类型检测,加了这句才可以用智能补全
- setcompleteopt=longest,menu
这里的自动补全只限于使用ctrl+n的时候补全上面已出现的单词,而不是补全没出现过的单词.
值得注意的是,这里的自动补全里的符号成对补全出现
如果输入了( { '"就会出现(){}''""
- 但是如果我们的
- :inoremap(()<ESC>i空格这样输入(就会变成了()而不是()这样了
- 如果
- :inoremap)<c-r>=ClosePair(')')<CR>空格这样输入)就会变成了)空格
- 其他的符号是一样的,我在vim编辑的时候出现这个问题,找了老半天才发现是这里的问题
- 这里的<ESC>就是退出编辑模式,i就是进入编辑模式{<CR>}就是换行,ClosePair就是结束配对
- 这里的双引号没法用,我也不知道为什么!