[奇怪的东西]我的.vimrc

  储存一下,顺便当储存记录语法

inoremap ( <c-r>=AutoBracket('(')<CR>
inoremap [ <c-r>=AutoBracket('[')<CR>
inoremap { <c-r>=AutoBracket('{')<CR>
inoremap " <c-r>=AutoBracket('"')<CR>
inoremap ' <c-r>=AutoBracket("'")<CR>

function AutoBracket(ch)
	if getline('.')[col('.') - 1] == "'"
		return a:ch
	else
		if a:ch == '('
			return "()\<LEFT>"
		elseif a:ch == '['
			return "[]\<LEFT>"
		elseif a:ch == '{'
			return "{}\<LEFT>"
		elseif a:ch == '"'
			return "\"\"\<LEFT>"
		elseif a:ch == "'"
			return "''\<LEFT>"
	endif
endfunction

inoremap <BS> <c-r>=PurgeBracket()<CR>
function PurgeBracket()
	if getline('.')[col('.') - 2] == '(' && getline('.')[col('.') - 1] == ')'
		return "\<RIGHT>\<BS>\<BS>"	
	elseif getline('.')[col('.') - 2] == '[' && getline('.')[col('.') - 1] == ']'
		return "\<RIGHT>\<BS>\<BS>"
	elseif getline('.')[col('.') - 2] == '"' && getline('.')[col('.') - 1] == '"'
		return "\<RIGHT>\<BS>\<BS>"
	elseif getline('.')[col('.') - 2] == '{' && getline('.')[col('.') - 1] == '}'
		return "\<RIGHT>\<BS>\<BS>"
	elseif getline('.')[col('.') - 2] == "'" && getline('.')[col('.') - 1] == "'"
		return "\<RIGHT>\<BS>\<BS>"
	else
		return "\<BS>"
	endif
endfunction	

set number
set cindent
set autoindent
set tabstop=4
set shiftwidth=4
set softtabstop=4
set noexpandtab
set mouse=a
set foldenable
set foldmethod=manual

nnoremap <F5> :call SaveAndCompile()<CR>
function SaveAndCompile()
	exec(":w")
	exec("!g++ -g -std=c++11 -Wall -Wconversion -Wshadow % -o %<")
endfunction
nnoremap <F6> :call CompileAndRun()<CR>
function CompileAndRun()
	exec(":w")
	exec("!g++ -g -std=c++11 -Wall -Wconversion -Wshadow % -o %<")
	exec("!time ./%<")
endfunction

inoremap <CR> <c-r>=BraceAutoNewline()<CR>
function BraceAutoNewline()
	if getline('.')[col('.') - 2] == '{' && getline('.')[col('.') - 1] == '}'
		return "\<CR>\<ESC>O"
	else
		return "\<CR>"
	endif
endfunction
posted @   Arextre  阅读(123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示