set ts=4 " 设置tab长度
set ls=2
set paste
set nu " 显示文件行号
set cuc " 设置鼠标所在列高亮
set cul " 设置鼠标所在行高亮
syntax on " 语法高亮
colorscheme darkblue "主题颜色
set hlsearch " 高亮显示查询搜索的字符,
hi Search term=standout ctermfg=7 ctermbg=3 "修改背景、字符颜色
set enc=utf-8 " 编码设置
set encoding=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set langmenu=zh_CN.UTF-8 " 设置 语言
set helplang=cn
set smartindent " 为C程序提供自动缩进
set cindent " 使用C样式的缩进
autocmd BufNewFile *.c,*.h,*.py,*.cpp,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if &filetype == 'sh' || &filetype == 'python' " 如果文件类型为.sh文件
call setline(1,"\########################################################################")
else
call setline(1, "/*************************************************************************")
endif
call append(line("."), "# > File Name:".expand("%"))
call append(line(".")+1, "# > Author: jarven") " 这里修改成自己的名字
call append(line(".")+2, "# > Mail: whuaw@aliyun.com") "修改为自己的邮箱
call append(line(".")+3, "# > Created Time: ".strftime("%c"))
if &filetype == 'sh' || &filetype == 'python'
call append(line(".")+4, "\########################################################################")
else
call append(line(".")+4, " ************************************************************************/")
end
call append(line(".")+5, "")
if expand("%:e")=='cpp'
call append(line(".")+6, "#include <iostream>")
call append(line(".")+7, "")
call append(line(".")+8, "using namespace std;")
call append(line(".")+9, "")
elseif &filetype == 'python'
call append(line(".")+6, "\#!/usr/bin/env python")
call append(line(".")+7, "")
elseif &filetype == 'sh'
call append(line(".")+6, "\#!/bin/bash")
call append(line(".")+7, "")
elseif expand("%:e")=='h'
call append(line(".")+6, "\#pragma once")
call append(line(".")+7, "")
elseif &filetype == 'c'
call append(line(".")+6,"#include <stdio.h>")
call append(line(".")+7,"#include <stdlib.h>")
call append(line(".")+8,"#include <string.h>")
call append(line(".")+9,"")
endif
endfunc
autocmd BufNewFile * normal G " 新建文件后,自动定位到文件末尾
: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>
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endfunction
map <F5> :call CompileRunGcc()<CR> " 设置一键编译
map <F5> :w<cr>:!python %<cr>
imap <F5> <ESC>:call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "cd %:p:h"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'java'
exec "!javac %"
exec "!java %<"
elseif &filetype == 'sh'
:!./%
endif
endfunc
C/C++ vim设置
于 2019-07-26 14:12:55 首次发布