기억노트

[Vim] 내가 사용하고 있는 .vimrc 본문

Programming/Vim

[Vim] 내가 사용하고 있는 .vimrc

진바니 2021. 12. 9. 02:18
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'
Plugin 'preservim/nerdtree'
Plugin 'nathanaelkane/vim-indent-guides'
Plugin 'frazrepo/vim-rainbow'
Plugin 'Valloric/YouCompleteMe'
Plugin 'tpope/vim-fugitive'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'file:///home/gmarik/path/to/plugin'
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}

call vundle#end()
filetype plugin indent on

"NerdTree
map <F3> : NERDTreeToggle<CR>

"Nathanaelkane
let g:indent_guides_enable_on_vim_startup = 1
let g:indent_guides_start_level = 1
let g:indent_guides_guide_size = 1
let g:indent_guides_auto_colors = 0
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  ctermbg=239 "117
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=236 "185
"hi IndentGuidesOdd  guibg=gray ctermbg=3
"hi IndentGuidesEven guibg=white ctermbg=4

"Rainbow
let g:rainbow_active = 0
let g:rainbow_load_separately = [
    \ [ '*' , [['(', ')'], ['\[', '\]'], ['{', '}']] ],
    \ [ '*.tex' , [['(', ')'], ['\[', '\]']] ],
    \ [ '*.cpp' , [['(', ')'], ['\[', '\]'], ['{', '}']] ],
    \ [ '*.{html,htm}' , [['(', ')'], ['\[', '\]'], ['{', '}'], ['<\a[^>]*>', '</[^>]*>']] ],
    \ ]

let g:rainbow_ctermfgs = ['lightblue', 'lightgreen', 'yellow', 217, '166']

"YouComplteMe
let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
let g:ycm_server_python_interpreter = '/usr/local/bin/python3'
let g:ycm_confirm_extra_conf = 0
let g:ycm_key_list_select_completion = ['<TAB>']
let g:ycm_key_list_previous_completion = ['<S-TAB>']
let g:ycm_autoclose_preview_window_after_completion = 1
let g:ycm_warning_symbol = '>*'
let g:ycm_min_num_of_chars_for_completion = 1
let g:ycm_auto_trigger = 1
let g:SuperTabDefaultCompletionType = ''
let g:ycm_auto_hover = ''
"let g:ycm_disable_signature_help = 1
"highlight Comment ctermfg=yellow


"ctermfg = 글자색 ctermbg = 배경 색깔
highlight Pmenu ctermfg=15 ctermbg=0
highlight PmenuSel ctermfg=15 ctermbg=33
inoremap <expr> <Up>    pumvisible() ? "\<C-f><Up>" : "\<Up>"
inoremap <expr> <Down>  pumvisible() ? "\<C-f><Down>" : "\<Down>"
set splitbelow
set completeopt-=preview


let g:tex_no_error=1
"syntax를 활성화하면 tex 파일 안에 _이 빨간색으로 변하는데 위 코드로 그 기능을 없앰 

"Kep Mapping
nnoremap <F2> :w<CR><C-w>w
inoremap <F2> <ESC>:w<CR><C-w>w
map <F4> :wqa<CR>
imap <F4> <ESC>:wqa<CR>
map q <Nop>
autocmd FileType python map <buffer> <C-f> :w<CR>:exec '!python3' shellescape(@%, 1)<CR>
autocmd FileType python imap <buffer> <C-f> <ESC>:w<CR>:exec '!python3' shellescape(@%, 1)<CR>

ab np1 n + 1
ab 2range if 0 <= nx < n and 0 <= ny < n:
ab endcheck if f.readline() != '\n': break
ab 2print for i in range(n):<CR>for j in range(n):<CR>print(graph[i][j], end=' ')<CR><BS>print()<CR><BS>print()
ab nxny nx, ny = x + dx[i], y + dy[i]
ab dxdy dx = [0, 1, 0, -1]<CR>dy = [1, 0, -1, 0]


set hlsearch " 검색어 하이라이팅
set nu " 줄번호
set autoindent " 자동 들여쓰기
set scrolloff=2
set wildmode=longest,list
set ts=4 "tag select
set sts=4 "st select
set sw=1 " 스크롤바 너비
set autowrite " 다른 파일로 넘어갈 때 자동 저장
set autoread " 작업 중인 파일 외부에서 변경됬을 경우 자동으로 불러옴
"set cindent " C언어 자동 들여쓰기
set bs=eol,start,indent
set history=256
set laststatus=2 " 상태바 표시 항상
"set paste " 붙여넣기 계단현상 없애기 (활성화하면 python 자동 들여쓰기 안됨)
set shiftwidth=4 " 자동 들여쓰기 너비 설정
set showmatch " 일치하는 괄호 하이라이팅
set smartcase " 검색시 대소문자 구별
set smarttab
set smartindent
set expandtab
set softtabstop=4
set tabstop=4
set shiftwidth=4
set ruler " 현재 커서 위치 표시
set incsearch
set statusline=\ %<%l:%v\ [%P]%=%a\ %h%m%r\ %F\ 
set title

if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

if $LANG[0]=='k' && $LANG[1]=='o'
set fileencoding=korea
endif

if has("syntax")
 syntax on
endif

'Programming > Vim' 카테고리의 다른 글

[Vim] 괄호 매칭하는 기능 비활성화  (0) 2022.01.14