zoukankan      html  css  js  c++  java
  • C++模板、.vimrc和一些Linux配置

    C++模板

    #include<bits/stdc++.h>
    using namespace std;
    #define rep(i,l,r) for(register int i=(l);i<=(r);++i)
    #define repdo(i,l,r) for(register int i=(l);i>=(r);--i)
    #define il inline
    typedef double db;
    typedef long long ll;
    
    //---------------------------------------
    int n;
    int main(){
    	ios::sync_with_stdio(0),cin.tie(0);
    
    	return 0;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    //	freopen(".in","r",stdin);
    //	freopen(".out","w",stdout);
    

    .vimrc - Linux(Ubuntu)

    vimscript 的高亮看起来似乎有点奇怪, 应该是 " 注释的锅...

    "base
    set nu
    set ruler
    set mouse=a
    set confirm "confirm for saving changes
    set showcmd
    set laststatus=2 "show status bar
    set foldmethod=manual
    set encoding=utf8
    set fileencodings=ucs-bom,utf8,gb18030,gbk,big5,latin9
    "colorscheme ron
    
    "indent
    set shiftwidth=4 tabstop=4 softtabstop=4
    set cindent autoindent smartindent
    
    "search
    set ignorecase
    set is hls
    
    "auto
    set autochdir
    set autoread
    
    "lang en_US.utf8 "set language
    
    map  <c-a> ggVG
    imap <c-a> <esc><c-a>
    map  <c-v> "+p
    imap <c-v> <esc><c-v>i<right>
    vmap <c-c> "+y
    vmap <c-x> "+d
    imap <c-e> <esc><c-e>i<right>
    imap <c-y> <esc><c-y>i<right>
    
    inoremap ' ''<left>
    inoremap " ""<left>
    inoremap ( ()<left>
    inoremap [ []<left>
    inoremap { {}<left>
    inoremap {<cr> {<cr>}<esc>O
    
    vnoremap <tab> :s/^/<tab><cr>:noh<cr> "tab 缩进
    
    map <f5> :w<cr>:!g++ % -o %<.exec -g3 -std=c++11 -Wall -Wextra && gdb %<.exec <cr>
    map <f9> :w<cr>:!g++ % -o %<.exec -std=c++98 -Wall -Wextra && ./%<.exec <cr>
    map <f10> :w<cr>:!g++ % -o %<.exec -O2 -std=c++11 -Wall -Wextra && ./%<.exec <cr>
    map <f8> :w<cr>:!time ./%<.exec <cr>
    

    .vimrc - WSL2

    "base
    set nu
    set ruler
    set mouse=a
    set confirm "confirm for saving changes
    set showcmd
    set laststatus=2 "show status bar
    set foldmethod=manual
    set encoding=utf8
    set fileencodings=ucs-bom,utf8,gb18030,gbk,big5,latin9
    colorscheme skeletor
    set cc=100
    hi ColorColumn ctermbg=darkgrey
    set cursorline
    hi CursorLine ctermbg=89
    
    "indent
    set shiftwidth=4 tabstop=4 softtabstop=4
    set cindent autoindent smartindent
    
    "search
    set ignorecase
    set is hls
    
    "auto
    "set autochdir
    set autoread
    
    set path=.,/usr/include/**,/usr/local/include/**
    
    "lang en_US.utf8 "set language
    
    map  <c-a> ggVG
    imap <c-a> <esc><c-a>
    map  <c-v> "+p
    imap <c-v> <esc><c-v>i<right>
    vmap  <c-v> d"+p
    vmap <c-c> "+y
    vmap <c-x> "+d
    imap <c-e> <esc><c-e>i<right>
    imap <c-y> <esc><c-y>i<right>
    
    inoremap ' ''<left>
    inoremap " ""<left>
    inoremap ( ()<left>
    inoremap [ []<left>
    inoremap { {}<left>
    inoremap {<cr> {<cr>}<esc>O
    
    "tab 缩进
    vnoremap <tab> :s/^/<tab><cr>:noh<cr> 
    
    map <f5> :w<cr>:!g++ % -o %<.exec -g3 -std=c++11 -Wall -Wextra && gdb %<.exec <cr>
    map <f9> :w<cr>:!g++ % -o %<.exec -std=c++98 -Wall -Wextra && ./%<.exec <cr>
    map <f10> :w<cr>:!g++ % -o %<.exec -O2 -Wall -Wextra && ./%<.exec <cr>
    map <f8> :w<cr>:!time ./%<.exec <cr>
    
    "au VimEnter * silent! !xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'
    "au VimLeave * silent! !xmodmap -e 'clear Lock' -e 'keycode 0x42 = Caps_Lock'
    
    " WSL yank/paste support
    let s:clip = '/mnt/c/Windows/System32/clip.exe'  " change this path according to your mount point
    if executable(s:clip)
        augroup WSLYank
    	    autocmd!
    		autocmd TextYankPost * if v:event.operator ==# 'y' | call system(s:clip, @0) | endif
    	augroup END
    endif
    
    nnoremap "+p :r !powershell.exe -Command "& {Get-Clipboard}"<Enter>
    vnoremap "+p :r !powershell.exe -Command "& {Get-Clipboard}"<Enter>
    

    .bashrc

    # append at the end of ~/.bashrc
    # edited by myself
    alias rm='trash-put -v'
    alias oi='sh ~/oi/base/new.sh'
    alias mv='mv -bvi'
    alias cp='cp -bvi'
    alias ll='ls -AlhFb'
    alias mkdir='mkdir -pv'
    
    alias unzip936='unzip -O cp936'
    
    # capslock <=> esc 
    # xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'
    # xmodmap -e 'clear Lock' -e 'keycode 0x9 = Caps_Lock' # not exactly sure it's right; but it works
    

    new.sh

    # ~/oi/code/base/new.sh
    # command 'oi' : create a file as a copy of '~/oi/base/template.cpp'
    cp -bvi ~/oi/code/base/template.cpp $1.cpp
    echo "new"
    vim $1.cpp
    

    judge脚本

    #!/bin/bash
    
    # jud.sh
    # 评测和提答
    # check *.cpp with *.ans
    
    for i in $(seq 1 20)
    do
    	printf "Case #%d-----------------------------
    " $i
    	time ./$1.exec < "$1"$i.in > "$1"$i.out
    	diff -bs "$1"$i.out "$1"$i.ans
    	read -sn 1
    	printf "
    "
    done
    
    #!/bin/bash
    
    # pia.sh
    # 对拍
    
    for i in $(seq 1 200)
    do
    	./$1-gene.exec > "$1"$i.in
    	./$1-std.exec < "$1"$i.in > "$1"$i.ans
    	time ./$1.exec < "$1"$i.in > "$1"$i.out
    	diff -bs "$1"$i.out "$1"$i.ans
    	read -s -n 1
    done
    

    .gdbinit

    位于 ~/.gdbinit .

    set max-value-size unlimited
    

    其他

    Ubuntu紫

    RGB: (48,9,36)
    0x300924
    

    Cygwin

    download:
    https://cygwin.com/setup-x86.exe
    https://cygwin.com/setup-x86_64.exe
    
    source:
    https://mirrors.tuna.tsinghua.edu.cn/cygwin
    

    :q<cr>

  • 相关阅读:
    20169217 2016-2017-2 《网络攻防实践》第六周学习总结
    20169217 2016-2017-2 《网络攻防实践》第五周学习总结
    20169217 2016-2017-2 《网络攻防实践》第四周学习总结
    20169210 2016-2017-2《网络攻防实践》课程总结
    工具介绍
    20169210 2016-2017-2《网络攻防实践》第十四周免杀技术
    20169210 2016-2017-2《网络攻防实践》第十三周攻击MS08-067漏洞
    20169210 2016-2017-2《网络攻防实践》第十二周SQL注入
    20169210 2016-2017-2《网络攻防实践》第十一周总结
    20169210 2016-2017-2《网络攻防实践》第十周总结
  • 原文地址:https://www.cnblogs.com/ubospica/p/9550143.html
Copyright © 2011-2022 走看看