因为不会用github,所以放在这里,心情不好就来看看。
都是非常基础的功能,写点小程序用。
windows版
syntax on
set backspace=indent,eol,start
set nu si ci ai mouse=a sw=4 sts=4 ts=4
set hlsearch incsearch
colorscheme desert
set guifont=Consolas:h14
set report=0 showmatch cursorline
set guioptions-=m
set guioptions-=T
nmap<F3> : vs %<.in <CR>
nmap<F4> : ! %< < %<.in <CR>
nmap<F5> : ! java %< < %<.in <CR>
nmap<F6> : vs %<.out <CR>
"nmap<F9> : !g++ % -o %< <CR>
"nmap<F10> : ! %< <CR>
nmap w, :vertical resize -5<CR>
nmap w. :vertical resize +5<CR>
map <F9> :call InitCompile()<CR>
func! InitCompile()
exec "w"
if &filetype == 'c'
exec "!g++ -std=c++11 -static -m32 % -o %<"
elseif &filetype == 'cpp'
exec "!g++ -std=c++11 % -o %<"
elseif &filetype == 'java'
exec "!javac %"
endif
endfunc
map <F10> :call CompileRunGcc()<CR>
func! CompileRunGcc()
if &filetype == 'c'
exec "! %<"
elseif &filetype == 'cpp'
exec "! %<"
elseif &filetype == 'java'
exec "! java %<"
endif
endfunc
" 语言设置
"gvim内部编码
set encoding=utf-8
"设置终端编码为gvim内部编码encoding
let &termencoding=&encoding
"当前编辑的文件编码
set fileencoding=utf-8
"gvim打开支持编码的文件
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set langmenu=zh_CN.UTF-8
"解决consle输出乱码
language messages zh_cn.utf-8
"菜单栏中文
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"树形目录开关
map <F12> :NERDTreeMirror<CR>
map <F12> :NERDTreeToggle<CR>
let NERDTreeSortOrder=['//$','/.cpp$','/.c$', '/.h$', '*']
"复制粘贴控制
"vmap <C-c> "+yi
nmap<C-A> ggvG
vmap<C-C> "*y
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <ESC>"+pa
set cindent
set scrolloff=3
"按<F2>自动生成代码设置
if !exists("*SetTitlea")
map <F2> :call SetTitlea()<CR>
func SetTitlea()
let l = 0
let l = l + 1 | call setline(l,'#include <cstdio>')
let l = l + 1 | call setline(l,'#include <cstring>')
let l = l + 1 | call setline(l,'#include <iostream>')
let l = l + 1 | call setline(l,'using namespace std;')
let l = l + 1 | call setline(l,'int main()')
let l = l + 1 | call setline(l,'{')
let l = l + 1 | call setline(l,' return 0;')
let l = l + 1 | call setline(l,'}')
endfunc
endif
linux版
if filereadable(expand("~/.vimrc.bundles"))
source ~/.vimrc.bundles
endif
set backspace=indent,eol,start
set nu ai ci si sts=4 ts=4 sw=4 mouse=a
nmap<F3> : vs %<.in <CR>
nmap<F4> :call XX() <CR>
func! XX()
exec "w"
exec "!time ./%< < %<.in"
endfunc
nmap<F5> : !time java %< < %<.in <CR>
nmap<F6> : vs %<.out <CR>
" nmap<F7> : call RJ() <CR>
func! RJ()
exec "w"
exec "!javac %"
endfunc
nmap w, :vertical resize -5<CR>
nmap w. :vertical resize +5<CR>
"nmap<F9> : make %< <CR>
map <F9> :call InitCompile()<CR>
func! InitCompile()
exec "w"
if &filetype == 'c'
exec "!gcc % -o %<"
elseif &filetype == 'cpp'
exec "!g++ -std=c++11 % -o %<"
elseif &filetype == 'java'
exec "!javac %"
elseif &filetype == 'sh'
:!./%
endif
endfunc
"nmap<F10> : !./%< <CR>
map <F10> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!time ./%<"
elseif &filetype == 'cpp'
exec "!time ./%<"
elseif &filetype == 'java'
exec "!time java %<"
elseif &filetype == 'sh'
:!./%
endif
endfunc
"filetype plugin indent on
"set completeopt=longest,menu
"代码补全
":cd /home/kw
" 默认路径
" 树形目录
nmap <F12> :NERDTreeToggle<cr>
"设置Tab键跟行尾符显示出来
"set list lcs=tab:>-,trail:-
"
"let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
syntax on
syntax enable
set mouse=a
set mousehide
set backup "undo?
set number
set ruler
colorscheme desert
set backspace=2
" set autoindent "自动缩进
" set smartindent "智能缩进
set cindent "C系列缩进
set softtabstop=4 "缩进长度
set shiftwidth=4 "缩进长度
set tabstop=4 "tab键长度
" set expandtab "tab设为空格
set softtabstop=4 "缩进长度
vnoremap $1 <esc>`>a)<esc>`<i(<esc>
vnoremap $2 <esc>`>a]<esc>`<i[<esc>
vnoremap $3 <esc>`>a}<esc>`<i{<esc>
vnoremap $$ <esc>`>a"<esc>`<i"<esc>
vnoremap $q <esc>`>a'<esc>`<i'<esc>
vnoremap $e <esc>`>a"<esc>`<i"<esc>
" 括号自动生成
""""""""""""""""""""""""
""实用设置
""""""""""""""""""""""""
"set transparency=10 "透明度
"set lines=55 "窗口多长,下为多宽
"set columns=100
set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离
" 语言设置
"
"gvim内部编码
set encoding=utf-8
"设置终端编码为gvim内部编码encoding
let &termencoding=&encoding
"当前编辑的文件编码
set fileencoding=utf-8
"gvim打开支持编码的文件
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set langmenu=zh_CN.UTF-8
"解决consle输出乱码
"language messages zh_cn.utf-8
"菜单栏中文
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
autocmd BufWritePost $MYVIMRC source $MYVIMRC
" 让配置变更立即生效
" colorscheme solarized
"配色沙漠 还有: torte, solarized, molokai, phd, ron, evening 等经典配色
" set guifont = Source_Code_Pro:h15
" 设置字体为 字体:大小
"set guifont=Menlo:h15
"字体和大小
set laststatus=2
" 命令行(在状态行下)的高度,默认为1,这里是2
set wildmenu
" 使回格键(backspace)正常处理indent, eol, start等
let Tlist_Use_Right_Window = 1
"在右侧窗口中显示taglist窗口
set showmatch
"自动匹配
set wildmenu
" vim 自身命令行模式智能补全
set nobackup
set noswapfile
"禁止生成临时文件
nmap <Leader>Q :qa!<CR>
" 依次遍历子窗口
nnoremap nw <C-W><C-W>
" 跳转至右方的窗口
nnoremap <Leader>lw <C-W>l
" 跳转至左方的窗口
"复制粘贴控制
vmap <C-c> "+y
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <ESC>"+pa
nmap <C-A> ggVG
"按<F2>自动生成代码设置
if !exists("*SetTitlea")
map <F2> :call SetTitlea()<CR>
func SetTitlea()
if &filetype == 'c' || &filetype == 'cpp'
let l = 0
let l = 1 | call setline(1,'// Last modify : '.strftime('%c'))
let l = l + 1 | call setline(l,'#include <cstdio>')
let l = l + 1 | call setline(l,'#include <cstring>')
let l = l + 1 | call setline(l,'#include <iostream>')
let l = l + 1 | call setline(l,'using namespace std;')
let l = l + 1 | call setline(l,'}')
let l = l + 1 | call setline(l,'')
let l = l + 1 | call setline(l,'int main()')
let l = l + 1 | call setline(l,'{')
let l = l + 1 | call setline(l,'')
let l = l + 1 | call setline(l,' return 0;')
let l = l + 1 | call setline(l,'}')
elseif &filetype == 'java'
let l = 0
let l = 1 | call setline(1,'// Last modify : '.strftime('%c'))
let l = l + 1 | call setline(l,'public class '.expand("%<").expand(" {"))
let l = l + 1 | call setline(l,' public static void main(String[] args) {')
let l = l + 1 | call setline(l,' }')
let l = l + 1 | call setline(l,'}')
endif
endfunc
endif
"时间戳
map <F1> :call SaveCompileRun()<CR>
func! SaveCompileRun()
let l = 1 | call setline(1,'// Last modify : '.strftime('%c'))
exec "w"
endfunc
" 设置当文件被改动时自动载入
" set autoread
" set backspace=” (Vi compatible)