Skip to content

Instantly share code, notes, and snippets.

@OFRBG
Last active March 30, 2023 02:15
Show Gist options
  • Save OFRBG/6d86fe66ce0713398dc246dec54917dc to your computer and use it in GitHub Desktop.
Save OFRBG/6d86fe66ce0713398dc246dec54917dc to your computer and use it in GitHub Desktop.
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