Created
February 7, 2021 11:42
-
-
Save saiashirwad/33cd68b6e0529991662954c39d557cbc to your computer and use it in GitHub Desktop.
My current vim config
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 loaded_matchparen = 1 | |
let mapleader = " " | |
nnoremap <leader>h :wincmd h<CR> | |
nnoremap <leader>j :wincmd j<CR> | |
nnoremap <leader>k :wincmd k<CR> | |
nnoremap <leader>l :wincmd l<CR> | |
call plug#begin() | |
Plug 'alvan/vim-closetag' | |
Plug 'jiangmiao/auto-pairs' | |
Plug 'HerringtonDarkholme/yats.vim' " TS Syntax | |
Plug 'MaxMEllon/vim-jsx-pretty' | |
Plug 'Shougo/context_filetype.vim' | |
Plug 'ctrlpvim/ctrlp.vim' | |
Plug 'easymotion/vim-easymotion' | |
Plug 'leafOfTree/vim-svelte-plugin' | |
Plug 'haya14busa/incsearch-easymotion.vim' | |
Plug 'haya14busa/incsearch.vim' | |
Plug 'jlanzarotta/bufexplorer' | |
Plug 'leafgarland/typescript-vim' | |
Plug 'morhetz/gruvbox' | |
Plug 'neoclide/coc.nvim' | |
Plug 'nvim-lua/plenary.nvim' | |
Plug 'nvim-lua/popup.nvim' | |
Plug 'nvim-telescope/telescope.nvim' | |
Plug 'othree/yajs.vim' | |
Plug 'pangloss/vim-javascript' | |
Plug 'peitalin/vim-jsx-typescript' | |
Plug 'phanviet/vim-monokai-pro' | |
Plug 'scrooloose/nerdcommenter' | |
Plug 'scrooloose/nerdtree' | |
Plug 'styled-components/vim-styled-components' | |
call plug#end() | |
nmap <C-n> :NERDTreeToggle<CR> | |
autocmd BufEnter *.{js,jsx,ts,tsx} :syntax sync fromstart | |
autocmd BufLeave *.{js,jsx,ts,tsx} :syntax sync clear | |
set mouse=a | |
map <ScrollWheelUp> <C-y> | |
map <ScrollWheelDown> <C-E> | |
set clipboard=unnamedplus | |
set cmdheight=2 | |
set expandtab | |
set hidden | |
set hlsearch | |
set incsearch | |
set linebreak | |
set nobackup | |
set nocompatible | |
set nohlsearch | |
set noshowmode | |
set noswapfile | |
set nowrap | |
set nowritebackup | |
set number | |
set relativenumber | |
set ruler | |
set scrolloff=8 | |
set shiftwidth=4 | |
set shortmess+=c | |
set smartcase | |
set smartindent | |
set tabstop=4 softtabstop=4 | |
set termguicolors | |
set undodir=~/.vim/undodir | |
set undofile | |
set updatetime=300 | |
set wrap | |
nmap <leader>bi :BufExplorer<CR> | |
nmap <leader>g[ <Plug>(coc-diagnostic-prev) | |
nmap <leader>g] <Plug>(coc-diagnostic-next) | |
nmap <leader>gd <Plug>(coc-definition) | |
nmap <leader>gi <Plug>(coc-implementation) | |
nmap <leader>gr <Plug>(coc-references) | |
nmap <leader>gy <Plug>(coc-type-definition) | |
nmap <leader>rr <Plug>(coc-rename) | |
nmap <silent> <leader>gn <Plug>(coc-diagnostic-next-error) | |
nmap <silent> <leader>gp <Plug>(coc-diagnostic-prev-error) | |
nnoremap <leader>cr :CocRestart | |
nmap <leader>rn <Plug>(coc-rename) | |
nnoremap <silent> K :call <SID>show_documentation()<CR> | |
function! s:show_documentation() | |
if (index(['vim','help'], &filetype) >= 0) | |
execute 'h '.expand('<cword>') | |
else | |
call CocAction('doHover') | |
endif | |
endfunction | |
colorscheme gruvbox | |
" au FileType javascript setlocal formatprg=prettier | |
" au FileType javascript.jsx setlocal formatprg=prettier | |
" au FileType typescript setlocal formatprg=prettier\ --parser\ typescript | |
" au FileType html setlocal formatprg=js-beautify\ --type\ html | |
" au FileType scss setlocal formatprg=prettier\ --parser\ css | |
" au FileType css setlocal formatprg=prettier\ --parser\ css | |
let g:coc_global_extensions = ['coc-json', 'coc-tsserver'] | |
"Telescope | |
nnoremap <leader>ff <cmd>Telescope find_files<cr> | |
nnoremap <leader>fg <cmd>Telescope live_grep<cr> | |
nnoremap <leader>fb <cmd>Telescope buffers<cr> | |
nnoremap <leader>fh <cmd>Telescope help_tags<cr> | |
nnoremap <leader>bn :bn<cr> | |
nnoremap <leader>bp :bp<cr> | |
" let g:prettier#quickfix_enabled = 0 | |
" let g:prettier#autoformat_require_pragma = 0 | |
" au BufWritePre *.css,*.svelte,*.pcss,*.html,*.ts,*.js,*.json PrettierAsync | |
if !exists('g:context_filetype#same_filetypes') | |
let g:context_filetype#filetypes = {} | |
endif | |
" let g:context_filetype#filetypes.svelte = | |
" \ [ | |
" \ {'filetype' : 'javascript', 'start' : '<script>', 'end' : '</script>'}, | |
" \ { | |
" \ 'filetype': 'typescript', | |
" \ 'start': '<script\%( [^>]*\)\? \%(ts\|lang="\%(ts\|typescript\)"\)\%( [^>]*\)\?>', | |
" \ 'end': '', | |
" \ }, | |
" \ {'filetype' : 'css', 'start' : '<style \?.*>', 'end' : '</style>'}, | |
" \ ] | |
" let g:ft = '' | |
" NERDCommenter settings | |
let g:NERDSpaceDelims = 1 | |
let g:NERDCompactSexyComs = 1 | |
let g:NERDCustomDelimiters = { 'html': { 'left': '' } } | |
" Align comment delimiters to the left instead of following code indentation | |
let g:NERDDefaultAlign = 'left' | |
fu! NERDCommenter_before() | |
if (&ft == 'html') || (&ft == 'svelte') | |
let g:ft = &ft | |
let cfts = context_filetype#get_filetypes() | |
if len(cfts) > 0 | |
if cfts[0] == 'svelte' | |
let cft = 'html' | |
elseif cfts[0] == 'scss' | |
let cft = 'css' | |
else | |
let cft = cfts[0] | |
endif | |
exe 'setf ' . cft | |
endif | |
endif | |
endfu | |
fu! NERDCommenter_after() | |
if (g:ft == 'html') || (g:ft == 'svelte') | |
exec 'setf ' . g:ft | |
let g:ft = '' | |
endif | |
endfu | |
au! BufNewFile,BufRead *.svelte set ft=html |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment