summaryrefslogtreecommitdiff
path: root/.config/nvim/init.vim
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@simplelittledream.com>2022-07-14 19:09:06 -0400
committerJacob McDonnell <jacob@simplelittledream.com>2022-07-14 19:09:06 -0400
commited4daf7429bf2580118aad87b8f3e2011efed7ec (patch)
tree82f9d8ed68de119e5777f5ecfae9df4a92fe92b3 /.config/nvim/init.vim
Initial commit
Diffstat (limited to '.config/nvim/init.vim')
-rw-r--r--.config/nvim/init.vim95
1 files changed, 95 insertions, 0 deletions
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
new file mode 100644
index 0000000..e9498bf
--- /dev/null
+++ b/.config/nvim/init.vim
@@ -0,0 +1,95 @@
+" Basic setup stuff
+let mapleader=" "
+set number relativenumber
+filetype plugin on
+syntax on
+set wildmode=longest,list,full
+set mouse=a
+set colorcolumn=80
+
+" Spell check
+map <leader>o :setlocal spell! spelllang=en_us<CR>
+
+" Open a terminal
+map <leader>t :vsplit term://zsh<CR>
+
+" Change Line break to 120
+map <leader>l :set colorcolumn=120<CR>
+" Change Line break to 80
+map <leader>L :set colorcolumn=80<CR>
+
+" Removes spaces at the end of lines when saving
+autocmd BufWritePre * %s/\s\+$//e
+
+" Center Cursor when entering insert mode
+autocmd InsertEnter * norm zz
+
+" Fixing indenting visual block
+vmap < <gv
+vmap > >gv
+
+" Makes splitting default to the right and to the bottom
+set splitbelow splitright
+
+" Remaps moving keys for splitting
+map <C-h> <C-w>h
+map <C-j> <C-w>j
+map <C-k> <C-w>k
+map <C-l> <C-w>l
+
+" Plugins
+call plug#begin('~/.local/share/nvim/plugged')
+Plug 'junegunn/goyo.vim' " Nice for reading Documents
+Plug 'neoclide/coc.nvim', {'branch': 'release'} " Code Completion
+Plug 'tpope/vim-commentary' " Makes commenting multiple lines easier
+Plug 'vimwiki/vimwiki'
+Plug 'NLKNguyen/papercolor-theme'
+call plug#end()
+
+" Goyo plugin makes text more readable when writing prose:
+map <leader>f :Goyo \| set bg=dark \| set linebreak<CR>
+
+" Commentary plugin
+map <leader>c :Commentary \| set linebreak<CR>
+
+" use <tab> for trigger completion and navigate to the next complete item
+function! s:check_back_space() abort
+ let col = col('.') - 1
+ return !col || getline('.')[col - 1] =~ '\s'
+endfunction
+
+inoremap <silent><expr> <Tab>
+ \ pumvisible() ? "\<C-n>" :
+ \ <SID>check_back_space() ? "\<Tab>" :
+ \ coc#refresh()
+let g:coc_global_extensions = [
+ \ 'coc-html',
+ \ 'coc-java',
+ \ 'coc-tsserver',
+ \ 'coc-css',
+ \ 'coc-clangd',
+ \ 'coc-go',
+ \ 'coc-pairs'
+ \ ]
+
+" runs gofmt when closing a go file.
+autocmd VimLeave *.go !gofmt -w %
+
+set t_Co=256
+
+" ChangeBackground changes the background mode based on macOS's `Appearance`
+" setting. We also refresh the statusline colors to reflect the new mode.
+function! ChangeBackground()
+ if system("defaults read -g AppleInterfaceStyle") =~ '^Dark'
+ set background=dark " for the dark version of the theme
+ else
+ set background=light " for the light version of the theme
+ endif
+endfunction
+
+" initialize the colorscheme for the first run
+call ChangeBackground()
+
+map <leader>b :call ChangeBackground()<CR>
+
+colorscheme PaperColor