C/C++ vim设置

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值