Skip to content

Instantly share code, notes, and snippets.

@UihyunKim
Last active January 8, 2018 23:17
Show Gist options
  • Save UihyunKim/f62652a24075e8c2a8cba6f0004de8a7 to your computer and use it in GitHub Desktop.
Save UihyunKim/f62652a24075e8c2a8cba6f0004de8a7 to your computer and use it in GitHub Desktop.
"GistID: f62652a24075e8c2a8cba6f0004de8a7
"install vim-plug automatically
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-fugitive' "Fugitive
Plug 'tpope/vim-commentary' "commentary
Plug 'tpope/vim-surround' "surround
Plug 'scrooloose/nerdtree' "NerdTree
Plug 'Xuyuanp/nerdtree-git-plugin' "NerdTreeGit
Plug 'altercation/vim-colors-solarized' "Theme
Plug 'bling/vim-airline' "vim-airline
Plug 'vim-airline/vim-airline-themes' "vim-airline-themes
Plug 'mattn/gist-vim' "GistVim
Plug 'mattn/webapi-vim' "Webapi-vim for login to github to user gistvim
Plug 'mattn/emmet-vim' "emmet
Plug 'valloric/youcompleteme' "Autocomplete
Plug 'Valloric/MatchTagAlways' "Html pair tag highlighting
Plug 'leafgarland/typescript-vim' "Typescript syntax
Plug 'w0rp/ale' "Asynchronous Lint Engine
Plug 'anekos/felis-cat-igirisu-toast-express' "한글변환
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'metakirby5/codi.vim' "code exec in vim
Plug 'pangloss/vim-javascript' "vim-javascript
Plug 'MaxMEllon/vim-jsx-pretty' "jsx highlighting
Plug 'jiangmiao/auto-pairs' "auto pairs
" Initialize plugin system
call plug#end()
"--------------------- airline -----------------------
let g:airline#extensions#tabline#enabled = 1 "upper status
let g:airline_powerline_fonts = 1 "fonts
let g:airline_theme='onedark' "vim-airline-themes-setting
"--------------------- Theme -----------------------
syntax enable
set background=dark
let g:solarized_termcolors=256
colorscheme solarized
"--------------------- ale -----------------------
let g:ale_sign_column_always = 1
let g:airline#extensions#ale#enabled = 1
let g:ale_linters = {
\ 'javascript': ['eslint'],
\ 'typescript': ['tslint'],
\}
"--------------------- Emmet -----------------------
" let g:user_emmet_install_global = 0
" autocmd FileType html,css EmmetInstall
"--------------------- Typescript -----------------------
set makeprg=tsc\ --target\ ES5\ $*\ %
autocmd FileType typescript :set makeprg=tsc
"--------------------- jsx ----------------
let g:jsx_ext_required = 0
"--------------------- tabs -----------------------
set number numberwidth=4 "number by line
set nowrap "set long text in a new line
set shiftround shiftwidth=4 "set shiftround
set autoread "auto reload buffer from file
set tabstop=2
set shiftwidth=2
set expandtab
"visual | in tabs
set list
set listchars=tab:>-
"--------------------- autoread in terminal vim -----------------------
" Triger `autoread` when files changes on disk
" https://unix.stackexchange.com/questions/149209/refresh-changed-content-of-file-opened-in-vim/383044#383044
" https://vi.stackexchange.com/questions/13692/prevent-focusgained-autocmd-running-in-command-line-editing-mode
autocmd FocusGained,BufEnter,CursorHold,CursorHoldI * if mode() != 'c' | checktime | endif
" Notification after file change
" https://vi.stackexchange.com/questions/13091/autocmd-event-for-autoread
autocmd FileChangedShellPost *
\ echohl WarningMsg | echo "File changed on disk. Buffer reloaded." | echohl None
"---------------------- Ctrl key mapping -----------------
"visual mode: convert word between upper <-> downcase"
inoremap <c-u> <esc>bve~A
"commentary
"<c-_> === <c-/>
nmap <c-_> gcc
vmap <c-_> gc
"NERDTree toggle
nnoremap <c-n> :NERDTreeToggle<CR> "toggle
"new line in normal mode
nnoremap <c-j> i<CR><ESC>
"---------------------- Leader key mapping ---------------------
"<leader> key
let mapleader = " "
"tab navigation
nnoremap <leader>h :tabp<cr>
nnoremap <leader>l :tabn<cr>
nnoremap <leader>1 1gt<cr>
nnoremap <leader>2 2gt<cr>
nnoremap <leader>3 3gt<cr>
nnoremap <leader>4 4gt<cr>
nnoremap <leader>5 5gt<cr>
nnoremap <leader>6 6gt<cr>
".vimrc
nnoremap <leader>ev :tabnew $MYVIMRC<cr>
nnoremap <leader>sv :source $MYVIMRC<cr>
"window width
nnoremap <c-Down> <c-w><
nnoremap <c-Up> <c-w>>
"Codi
nmap <leader>co :Codi!!<CR>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment