" Plugin
call plug#begin('~/.vim/plugged')
Plug 'pbondoer/vim-42header'
Plug 'sainnhe/sonokai'
Plug 'junegunn/rainbow_parentheses.vim'
Plug 'preservim/nerdtree'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'Chiel92/vim-autoformat'
Plug 'dart-lang/dart-vim-plugin'
Plug 'cacharle/c_formatter_42.vim'
call plug#end()
" Syntax Highlighting
if has ("syntax")
    syntax on
endif
" Settings
set nu
set showmatch
set ruler
set mouse=a
set autoindent
set cindent
set smartindent
"set tabstop=4
"set expandtab
"set shiftwidth=4
" Settings on AutoComplete
set hidden
set nobackup
set nowritebackup
set cmdheight=2
set updatetime=300
set shortmess+=c
" Parenthesis
hi MatchParen cterm=none ctermbg=green ctermfg=blue
" Color
if has('termguicolors')
    set termguicolors
endif
colorscheme sonokai
" Variables
let g:sonokai_style = 'default'
let g:sonokai_enable_italic = 1
let g:sonokai_disable_italic_comment = 1
let g:hdr42user = 'suhshin'
let g:hdr42mail = '[email protected]'
let NERDTreeShowHidden=1
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
" Mapping
inoremap jj <esc>
nnoremap rrr :RainbowParentheses<enter>
nnoremap nnn :NERDTreeToggle<enter>
nnoremap qqq <esc>:q!<enter>
nnoremap ``` <esc>:w!<enter>
nnoremap jj <esc>I<tab><esc>
nnoremap kk <esc>I<esc>x
nnoremap ll <esc>I// <esc>
nnoremap ;; <esc>I<esc>xxxxI<tab><esc>
nnoremap '' <esc><C-W>w
nnoremap fff <esc>:Autoformat<enter><esc>:DartFmt<enter>
nnoremap zzz <esc>:CFormatter42<enter><esc>
nmap hhh <esc>:Stdheader<enter><esc>rrr<enter><esc>
nmap ,,, rrrnnn''
nmap pinit <esc>I#include <iostream><cr>#include <vector><cr><cr>void<tab>pre_setting(void)<cr>{<cr>std::ios_base::sync_with_stdio(false);<cr>std::cin.tie(NULL);<cr>std::cout.tie(NULL);<cr>}<cr><cr>void<tab>input_action(void)<cr>{<cr>}<cr><cr>void<tab>output_action(void)<cr>{<cr>}<cr><cr>void<tab>solution(void)<cr>{<cr>input_action();<cr>output_action();<cr>}<cr><cr>int<tab><tab>main(void)<cr>{<cr>pre_setting();<cr>solution();<cr>return (0);<cr>}<esc>:3<enter>