我的VIM。。。
set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin set diffexpr=MyDiff() function MyDiff() let opt = ‘-a --binary ‘ if &diffopt =~ ‘icase‘ | let opt = opt . ‘-i ‘ | endif if &diffopt =~ ‘iwhite‘ | let opt = opt . ‘-b ‘ | endif let arg1 = v:fname_in if arg1 =~ ‘ ‘ | let arg1 = ‘"‘ . arg1 . ‘"‘ | endif let arg2 = v:fname_new if arg2 =~ ‘ ‘ | let arg2 = ‘"‘ . arg2 . ‘"‘ | endif let arg3 = v:fname_out if arg3 =~ ‘ ‘ | let arg3 = ‘"‘ . arg3 . ‘"‘ | endif let eq = ‘‘ if $VIMRUNTIME =~ ‘ ‘ if &sh =~ ‘\<cmd‘ let cmd = ‘""‘ . $VIMRUNTIME . ‘\diff"‘ let eq = ‘"‘ else let cmd = substitute($VIMRUNTIME, ‘ ‘, ‘" ‘, ‘‘) . ‘\diff"‘ endif else let cmd = $VIMRUNTIME . ‘\diff‘ endif silent execute ‘!‘ . cmd . ‘ ‘ . opt . arg1 . ‘ ‘ . arg2 . ‘ > ‘ . arg3 . eq endfunction syntax on "高亮 "colo torte "配色 set guifont=Microsoft_YaHei_Mono:h11 "字体 set lines=26 columns=93 "gvim窗口大小 set nu "行号开关 set history=100000 "最大历史 set autoindent "自动缩进 set tabstop=4 "一个TAB长度 set softtabstop=4 "退格键的时候退回缩进的长度 set shiftwidth=4 "每一级缩进的长度 set smarttab "自动缩进 set cindent "C风格自动缩进 set nobackup "不生成备份文件 set noswapfile "不生成swap文件 set mouse=a "光标定位到鼠标位置 "C,C++,Java 按F5编译运行 map <F5> :call CompileRun()<CR> func! CompileRun() exec "w" if &filetype == ‘c‘ exec "!g++ -o run %" " exec "!run" elseif &filetype == ‘cpp‘ exec "!g++ -o run %" " exec "!run" elseif &filetype == ‘java‘ exec "!javac -d .\\bin %" exec "!java -cp .\\bin %<" elseif &filetype == ‘sh‘ :!./% endif endfunc imap <c-]> {<cr>}<c-o>O<left><right> map <F2> :call SetTitle1()<CR> func SetTitle1() let l = 0 let l = l + 1 | call setline(l,‘#include <bits/stdc++.h>‘) let l = l + 1 | call setline(l,‘#define PF(x) ((x)*(x))‘) let l = l + 1 | call setline(l,‘#define LF(x) ((x)*PF(x))‘) let l = l + 1 | call setline(l,‘#define IF(i,x,y) for(int i=x;i<=y;i++)‘) let l = l + 1 | call setline(l,‘#define DF(i,x,y) for(int i=x;i>=y;i--)‘) let l = l + 1 | call setline(l,‘#define normal‘) let l = l + 1 | call setline(l,‘#ifndef normal‘) let l = l + 1 | call setline(l,‘ #define LL __int64‘) let l = l + 1 | call setline(l,‘#endif // normal‘) let l = l + 1 | call setline(l,‘#ifdef normal‘) let l = l + 1 | call setline(l,‘ #define LL long long‘) let l = l + 1 | call setline(l,‘#endif // normal‘) let l = l + 1 | call setline(l,‘‘) let l = l + 1 | call setline(l,‘using namespace std;‘) let l = l + 1 | call setline(l,‘const int INF=1<<31-1;‘) let l = l + 1 | call setline(l,‘const int inf=0x3f3f3f3f;‘) let l = l + 1 | call setline(l,‘const double pi=4.0*atan(1.0);‘) let l = l + 1 | call setline(l,‘const int mod=1000000007;‘) let l = l + 1 | call setline(l,‘const double EXP=1e-8;‘) let l = l + 1 | call setline(l,‘const double E=exp(1.0);‘) 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,‘ //freopen("in.txt","r",stdin);‘) let l = l + 1 | call setline(l,‘ //freopen("out.txt","w",stdout);‘) let l = l + 1 | call setline(l,‘ ‘) let l = l + 1 | call setline(l,‘ return 0;‘) let l = l + 1 | call setline(l,‘}‘) endfunc map <F3> :call SetTitle()<CR> func SetTitle() let l = 0 let l = l + 1 | call setline(l,‘#include<iostream>‘) let l = l + 1 | call setline(l,‘#include<algorithm>‘) let l = l + 1 | call setline(l,‘#include<cstdio>‘) let l = l + 1 | call setline(l,‘#include<cctype>‘) let l = l + 1 | call setline(l,‘#include<cstring>‘) let l = l + 1 | call setline(l,‘#include<string>‘) let l = l + 1 | call setline(l,‘#include<map>‘) let l = l + 1 | call setline(l,‘#include<set>‘) let l = l + 1 | call setline(l,‘#include<stack>‘) let l = l + 1 | call setline(l,‘#include<queue>‘) let l = l + 1 | call setline(l,‘#include<cstdilib>‘) let l = l + 1 | call setline(l,‘#include<vector>‘) let l = l + 1 | call setline(l,‘#include<cmath>‘) let l = l + 1 | call setline(l,‘#include<iomanip>‘) let l = l + 1 | call setline(l,‘#define PF(x) ((x)*(x))‘) let l = l + 1 | call setline(l,‘#define LF(x) ((x)*PF(x))‘) let l = l + 1 | call setline(l,‘#define IF(i,x,y) for(int i=x;i<=y;i++)‘) let l = l + 1 | call setline(l,‘#define DF(i,x,y) for(int i=x;i>=y;i--)‘) let l = l + 1 | call setline(l,‘#define normal‘) let l = l + 1 | call setline(l,‘#ifndef normal‘) let l = l + 1 | call setline(l,‘ #define LL __int64‘) let l = l + 1 | call setline(l,‘#endif // normal‘) let l = l + 1 | call setline(l,‘#ifdef normal‘) let l = l + 1 | call setline(l,‘ #define LL long long‘) let l = l + 1 | call setline(l,‘#endif // normal‘) let l = l + 1 | call setline(l,‘‘) let l = l + 1 | call setline(l,‘using namespace std;‘) let l = l + 1 | call setline(l,‘const int INF=1<<31-1;‘) let l = l + 1 | call setline(l,‘const int inf=0x3f3f3f3f;‘) let l = l + 1 | call setline(l,‘const double pi=4.0*atan(1.0);‘) let l = l + 1 | call setline(l,‘const int mod=1000000007;‘) let l = l + 1 | call setline(l,‘const double EXP=1e-8;‘) let l = l + 1 | call setline(l,‘const double E=exp(1.0);‘) 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,‘ //freopen("in.txt","r",stdin);‘) let l = l + 1 | call setline(l,‘ //freopen("out.txt","w",stdout);‘) let l = l + 1 | call setline(l,‘ ‘) let l = l + 1 | call setline(l,‘ return 0;‘) let l = l + 1 | call setline(l,‘}‘) endfunc "进行版权声明的设置 "添加或更新头 map <F4> :call TitleDet()<cr>‘s function AddTitle() call append(0,"/*=============================================================================") call append(1,"#") call append(2,"# Author: wust_HLD") call append(3,"#") call append(4,"# E-mail:[email protected]") call append(5,"#") call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M")) call append(7,"#") call append(8,"# Filename: ".expand("%:t")) call append(9,"#") call append(10,"# Description: http://www.cnblogs.com/I-love-HLD/") call append(11,"#") call append(12,"=============================================================================*/") echohl WarningMsg | echo "Successful in adding the 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\t".expand("%:t")@‘ execute "noh" normal ‘k echohl WarningMsg | echo "Successful in updating the copy right." | echohl None endfunction "判断前10行代码里面,是否有Last modified这个单词, "如果没有的话,代表没有添加过作者信息,需要新添加; "如果有的话,那么只需要更新即可 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 AddTitle() endfunction
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。