我自己的vim配置文件,首先当然是参考别人的配置啊,再根据自己的需求改的
http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html
https://www.cnblogs.com/juandx/p/5626710.html
现有功能,可以自动添加文件头,还没有代码补全,代码提示功能,慢慢加
"""""""""""""""""""""""""""""""""""""""""""
"显示相关
"""""""""""""""""""""""""""""""""""""""""""
set nu "显示行数
syntax on "语法高亮
set encoding=utf-8
set completeopt=preview,menu "代码补全
set autowrite "自动保存
set confirm "处理未保存或只读文件时,弹出确认
set autoindent "自动缩进
set smartindent
set cindent
set tabstop=4 "tab缩进4
set softtabstop=4
set shiftwidth=4
set noexpandtab "不要用空格代替制表符
set smarttab "在行和段开始处使用制表符
"自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endfunction
"auto add python header -- start
autocmd BufNewFile *.py call HeaderPython()
function HeaderPython()
call setline(1,"#!/usr/bin/python")
call append(1,"# Filename: ".expand("%"))
call append(2,"######################################")
call append(3,"#-*- coding:utf-8 -*-")
call append(4,"# Author:dandan")
call append(5,"# Created Time:".strftime("%c"))
call append(6,"######################################")
normal G
normal o
normal o
endfunc
"新建.c, .h, .sh, .java, .py文件自动插入文件头"
autocmd BufNewFile *.cpp,*.c,*.sh exec ":call SetTitle()"
func SetTitle()
if &filetype == 'sh'
call setline(1,"\###################")
call append(line("."), "\# Author: dandan")
call append(line(".")+1, "\# Created Time: ".strftime("%c"))
call append(line(".")+2, "\#################")
call append(line(".")+3, "")
call append(line(".")+4, "\#!/bin/bash")
call append(line(".")+5, "\# File Name: ".expand("%"))
endif
if &filetype == 'cpp'
call setline(1,"//***********************************")
call append(line("."), "// File Name: ".expand("%"))
call append(line(".")+1, "// Authon: dandan")
call append(line(".")+2, "// Created Time: ".strftime("%c"))
call append(line(".")+3, "//************************************")
call append(line(".")+4, "")
call append(line(".")+5, "#include <iostream>")
call append(line(".")+6, "using namespace std;")
call append(line(".")+7, "")
call append(line(".")+8, "int main()")
call append(line(".")+9, "{")
call append(line(".")+10, "")
call append(line(".")+11, "}")
endif
if &filetype == 'c'
call setline(1,"//***********************************")
call append(line("."), "// File Name: ".expand("%"))
call append(line(".")+1, "// Authon: dandan")
call append(line(".")+2, "// Created Time: ".strftime("%c"))
call append(line(".")+3, "//************************************")
call append(line(".")+4, "")
call append(line(".")+5, "#include <stdio.h>")
call append(line(".")+6, "")
endif
normal G
normal o
endfunc