3cf47324e318c2c66976afb094bf5c43b0932695
[dotfiles/.git] / .config / nvim / init.vim
1 " Specify a directory for plugins
2 call plug#begin('~/.config/nvim/plugins/plugged')
3
4 Plug 'nvim-lua/popup.nvim'
5 Plug 'nvim-lua/plenary.nvim'
6 Plug 'nvim-telescope/telescope.nvim'
7 Plug 'neoclide/coc.nvim', {'branch': 'release'}
8 Plug 'ryanoasis/vim-devicons'
9 Plug 'airblade/vim-gitgutter'
10 Plug 'scrooloose/nerdcommenter'
11 "This is a linter for python
12 Plug 'metakirby5/codi.vim'
13 Plug 'christoomey/vim-tmux-navigator'
14 Plug 'morhetz/gruvbox'
15 Plug 'dracula/vim',{'as':'dracula'}
16 Plug 'HerringtonDarkholme/yats.vim' " TS Syntax
17 " Initialize plugin system
18 call plug#end()
19
20 colorscheme gruvbox
21 "colors:
22 syntax on
23
24 "Remaps:
25 "remap the leader to space
26 "let mapleader = " "
27 "jk in insert mode takes you back to normal mode
28 inoremap jk <ESC>
29 "Ctrl-n activates nerd toggle
30 nmap <C-n> :NERDTreeToggle<CR>
31 "Ctrl-s saves
32 nmap <C-s> :w<CR>
33 "++ in vmap or nmap coments
34 vmap ++ <plug>NERDCommenterToggle
35 nmap ++ <plug>NERDCommenterToggle
36 " j/k will move virtual lines (lines that wrap)
37 noremap <silent> <expr> j (v:count == 0 ? 'gj' : 'j')
38 noremap <silent> <expr> k (v:count == 0 ? 'gk' : 'k')
39 "Vex
40 nnoremap <leader>v :Vex<CR>
41 nnoremap <leader>h :Sex<CR>
42 " this is an auto changer for relative numbers
43 :augroup numbertoggle
44 :  autocmd!
45 :  autocmd BufEnter,FocusGained,InsertLeave * set relativenumber
46 :  autocmd BufLeave,FocusLost,InsertEnter   * set norelativenumber
47 :augroup END