我的 Vimrc 配置

版权声明:转载发条消息给作者即可,无需回复 https://blog.csdn.net/pursue_my_life/article/details/79948009

<Esc>代表Escape键:<CR>代表Enter键;<D>代表Command键。
Alt键可以使用<M-key>或<A-key>来表示。<C>代表Ctrl.

对于组合键,可以用<C-Esc>代表Ctrl-Esc;使用<S-F1>表示Shift-F1.

"******************************从当前行开始是我的修改自定义***********************************
filetype on
filetype plugin on
syntax on               "自动语法高亮



set scrolloff=6      ""  上下可视行数 
set number

set tabstop=4     "设置tab为4
set shiftwidth=4
set softtabstop=4

set nobackup      "覆盖文件时不备份
set smartindent         " 自动缩进
set autoindent

inoremap ( ()<ESC>i
inoremap " ""<ESC>i
inoremap ' ''<ESC>i
inoremap [ []<ESC>i
inoremap { {<CR>}<ESC>O
 "自动补全 { } 并换行
inoremap <M-j>  <ESC>
"ALT + j键  进入普通模式
inoremap <s-a>  <ESC>la
inoremap aa  A
"ALT + l 自动跳出括号

nmap<C-j> :cn<CR>
nmap<C-k> :cp<CR>


"c, c++ 按F11 编译
map<C-F11> :call CompileRunGcc()<CR>
func! CompileRunGcc()
"自动保存
exec "w"

if &filetype == 'c'
"编译本文件,未制定文件名,将编译到 a.out
exec "!g++ % "
elseif &filetype == 'cpp'
set makeprg=g++\ -std=c++11\ -Wall\ \ %
"make文件, 而且使其支持 c++11
exec "make"
exec "cw"
elseif &filetype == 'java'
set makeprg=javac\ -g\ -d\ .\ %
exec "make"
exec "cw"
elseif &filetype == 'python'
exec "!time python2.7 %"
"set makeprg=python\ %
"exec make"
"exec cw"
endif
endfunc

"编译java源文件
"func! CompileJava()
"exec (这里要加以个冒号)update"
"if search('^\s*package\s\+.*;$', 'pw') > 0
"set makeprg=javac\ -g\ -d\ ..\ %
"else
"set makeprg=javac\ -g\ -d\ .\ %
"endif
"exec (这里要加以个冒号)make"
"set makeprg=make
"endfunc""'''')"")"



"c c++ 按 F12 运行
map<C-F12> :call Operation()<CR>
func! Operation()
if &filetype == 'java'
exec "!java  %:r"
elseif &filetype == 'cpp'
exec "! ./a.out"
elseif &filetype == 'c'
exec "! ./a.out"
endif
endfunc



"c c++ F10 调试
map<C-F10> :call Rungdb()<CR>
func! Rungdb()
if &filetype == 'cpp'
exec "w"
exec "!g++ % -g -o a.out"
exec "!gdb ./a.out"
endif
endfunc

 

map <C-F9> :call Title_copyright()<cr>
function Title_copyright()
call append(0,"//\#!/usr/bin/env bash")
call append(1,"//# **********************************************************")
call append(2,"//# Author       : Joe_Yang")
call append(3,"//# Last modified: ".strftime("%Y-%m-%d %H:%M"))
call append(4,"//# Email        : 1514784049@qq.com || 1514784049yz@gmail.com")
call append(5,"//# Weblog       : https://blog.csdn.net/pursue_my_life/")
call append(6,"//# Filename     : ".expand("%:t"))
call append(7,"//# Description  : ")
call append(8,"//# **********************************************************")
echohl WarningMsg | echo "Successful in adding copyright." | echohl None
endf
function UpdateTitle()
normal m'
execute '/# Last modified/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/# Filename/s@:.*$@\=":\t".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the copyright." | echohl None
endfunction
function TitleDet()
let n=1
while n < 10
let line = getline(n)
if line =~ '^\#\s*\S*Last\smodified\S*.*$'
call UpdateTitle()
return
endif
let n = n + 1
endwhile
call Title_copyright()
endfunction
"****************************************自定义结束********************************************

 

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页