Last active
March 30, 2023 02:15
-
-
Save OFRBG/6d86fe66ce0713398dc246dec54917dc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let g:polyglot_disabled = ['typescript', 'javascript'] | |
call plug#begin('~/.vim/plugged') | |
" UI | |
Plug 'mhartington/oceanic-next' | |
Plug 'bling/vim-airline' | |
Plug 'vim-airline/vim-airline-themes' | |
Plug 'airblade/vim-gitgutter' | |
" Nerdtree | |
Plug 'scrooloose/nerdtree' | |
Plug 'atrosekta/nerdtree-visual-selection' | |
Plug 'xuyuanp/nerdtree-git-plugin' | |
Plug 'markgandolfo/nerdtree-fetch.vim' | |
Plug 'preservim/tagbar' | |
" Languages | |
Plug 'sheerun/vim-polyglot' | |
Plug 'pangloss/vim-javascript' | |
Plug 'leafgarland/typescript-vim' | |
Plug 'peitalin/vim-jsx-typescript' | |
Plug 'styled-components/vim-styled-components', { 'branch': 'main' } | |
" Syntax | |
Plug 'alvan/vim-closetag' | |
Plug 'tpope/vim-sleuth' | |
Plug 'ap/vim-css-color' | |
" Tools | |
Plug 'neoclide/coc.nvim', {'branch': 'release'} | |
Plug 'tpope/vim-unimpaired' | |
Plug 'tpope/vim-fugitive' | |
Plug 'moll/vim-bbye' | |
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } | |
Plug 'junegunn/fzf.vim' | |
" Always last | |
Plug 'ryanoasis/vim-devicons' | |
call plug#end() | |
set encoding=utf8 | |
set termencoding=utf-8 | |
syntax on | |
filetype on | |
filetype plugin on | |
filetype plugin indent on | |
let mapleader = "," | |
set re=0 | |
set t_Co=256 | |
set updatetime=300 | |
set shortmess+=c | |
set laststatus=2 | |
if (has("termguicolors")) | |
set termguicolors | |
endif | |
colorscheme OceanicNext | |
set background=dark | |
"===================================================== | |
"" General | |
"===================================================== | |
set number | |
set backspace=indent,eol,start | |
set tabstop=4 softtabstop=0 expandtab shiftwidth=2 smarttab | |
set autoindent | |
set ignorecase | |
set showmatch | |
set showcmd | |
set lazyredraw | |
set updatetime=300 | |
autocmd BufWritePost .vimrc source % | |
autocmd BufEnter *.{js,jsx,ts,tsx} :syntax sync fromstart | |
autocmd BufLeave *.{js,jsx,ts,tsx} :syntax sync clear | |
augroup filetypes | |
autocmd! | |
autocmd BufNewFile,BufRead *.ts,*.tsx set filetype=typescript.tsx | |
autocmd BufNewFile,BufRead *.js,*.jsx set filetype=javascript.jsx | |
autocmd BufNewFile,BufRead .babelrc set filetype=json | |
autocmd BufNewFile,BufRead .eslintrc set filetype=json | |
autocmd BufNewFile,BufRead .prettierrc set filetype=json | |
autocmd BufNewFile,BufRead tsconfig.json set filetype=jsonc | |
autocmd BufNewFile,BufRead .gitignore set filetype=config | |
autocmd BufNewFile,BufRead zprofile set filetype=zsh | |
augroup END | |
augroup markdownSpell | |
autocmd! | |
autocmd FileType markdown setlocal spell | |
autocmd BufRead,BufNewFile *.md setlocal spell | |
augroup END | |
hi! def link jsonKeyword Label | |
autocmd FileType qf setlocal wrap linebreak | |
hi CursorLine cterm=none | |
hi CursorLine gui=none | |
nnoremap <Leader>q :Bdelete<CR> | |
"===================================================== | |
"" Coc | |
"===================================================== | |
xmap <leader>cc <Plug>(coc-command-selected) | |
nmap <leader>cc <Plug>(coc-command) | |
xmap <leader>ca <Plug>(coc-codeaction-selected) | |
nmap <leader>ca <Plug>(coc-codeaction) | |
nmap <leader>rn <Plug>(coc-rename) | |
nmap <leader>qf <Plug>(coc-fix-current) | |
xmap <leader>f <Plug>(coc-format-selected) | |
nmap <leader>f <Plug>(coc-format-selected) | |
inoremap <silent><expr> <Tab> coc#refresh() | |
nmap <silent> gd <Plug>(coc-definition) | |
nmap <silent> gy <Plug>(coc-type-definition) | |
nmap <silent> gi <Plug>(coc-implementation) | |
nmap <silent> gr <Plug>(coc-references) | |
nnoremap <silent> K :call ShowDocumentation()<CR> | |
function! ShowDocumentation() | |
if CocAction('hasProvider', 'hover') | |
call CocActionAsync('doHover') | |
else | |
call feedkeys('K', 'in') | |
endif | |
endfunction | |
inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() : "\<CR>" | |
command! -nargs=0 Format :call CocActionAsync('format') | |
"===================================================== | |
"" AirLine settings | |
"===================================================== | |
let g:airline_theme='oceanicnext' | |
let g:airline#extensions#tabline#enabled=1 | |
let g:airline#extensions#tabline#formatter='jsformatter' | |
let g:airline#extensions#branch#enabled=1 | |
let g:airline_powerline_fonts = 1 | |
if !exists('g:airline_symbols') | |
let g:airline_symbols = {} | |
endif | |
let g:airline_symbols.space = "\ua0" | |
"===================================================== | |
"" Nerdtree | |
"===================================================== | |
let NERDTreeMinimalUI = 1 | |
let NERDTreeDirArrows = 1 | |
au vimenter * if !argc() | NERDTree | endif | |
nmap <leader>n :NERDTreeToggle<CR> | |
let g:webdevicons_enable_nerdtree = 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment