summaryrefslogtreecommitdiff
path: root/init.vim
diff options
context:
space:
mode:
authorMitchell Riedstra <mitch@riedstra.dev>2021-09-20 20:57:27 -0400
committerMitchell Riedstra <mitch@riedstra.dev>2021-09-20 20:57:27 -0400
commitcf46cde6d941a5d376ebb47cb50d4a25b656f2b5 (patch)
treef96d508f1fa57c9ba91d1f0b64b0315b755a888f /init.vim
downloadnvim-config-cf46cde6d941a5d376ebb47cb50d4a25b656f2b5.tar.gz
nvim-config-cf46cde6d941a5d376ebb47cb50d4a25b656f2b5.tar.xz
Initial
Diffstat (limited to 'init.vim')
-rw-r--r--init.vim184
1 files changed, 184 insertions, 0 deletions
diff --git a/init.vim b/init.vim
new file mode 100644
index 0000000..f91c7ad
--- /dev/null
+++ b/init.vim
@@ -0,0 +1,184 @@
+set encoding=utf-8
+set fileencoding=utf-8
+set nu
+set rnu
+set listchars=tab:▸\ ,eol:¬,trail:•
+" set listchars=tab:\|\ " Alternative listchars w/o special chars.
+set tw=80
+set colorcolumn=80
+set ic
+set hls
+set updatecount=0
+set nocompatible
+set tabstop=4
+set shiftwidth=4
+set noexpandtab
+set mouse+=a
+syntax on
+"if &term =~ '^screen'
+" " tmux knows the extended mouse mode
+" set ttymouse=xterm2
+"endif
+
+
+" I know how to setup my editor, I don't need your changes to my vim
+" configuration.
+set nomodeline
+
+" Use \-n in normal mode to toggle line numbers
+nmap <leader>n :set invnu<CR>
+nmap <leader>r :set invrnu<CR>
+" Use \-l in normal mode to toggle listchars
+nmap <leader>l :set list!<CR>
+
+" Use \-s to pop open a spelling menu. use ]s to search forwards and [s to go
+" backwards.
+" Apparently this also doesn't work if spell checking isn't enabled
+" at the time you enable it.
+set spell
+nnoremap \s ea<C-X><C-S>
+set nospell
+
+" set hidden " This will allow you to change buffers w/o saving
+
+" Omni completion, c-x c-o in insert/append mode
+filetype plugin on
+set omnifunc=syntaxcomplete#Complete
+
+" Stolen from the help page:
+"
+" One typical way to use the netrw tree display is to: >
+"
+" vim .
+" (use i until a tree display shows)
+" navigate to a file
+" v (edit as desired in vertically split window)
+" ctrl-w h (to return to the netrw listing)
+" P (edit newly selected file in the previous window)
+" ctrl-w h (to return to the netrw listing)
+" P (edit newly selected file in the previous window)
+let g:netrw_liststyle=3
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" call plug#begin('~/.vim/plugged')
+call plug#begin(stdpath('data') . '/plugged')
+
+Plug 'scrooloose/nerdtree'
+Plug 'scrooloose/syntastic'
+
+Plug 'tpope/vim-fugitive'
+Plug 'preservim/tagbar'
+Plug 'rking/ag.vim'
+Plug 'sjl/gundo.vim'
+Plug 'ctrlpvim/ctrlp.vim'
+Plug 'godlygeek/tabular'
+Plug 'vim-airline/vim-airline'
+Plug 'vim-airline/vim-airline-themes/'
+Plug 'mattn/emmet-vim'
+Plug 'tpope/vim-commentary'
+Plug 'takac/vim-hardtime'
+
+" Misc
+Plug 'https://git.riedstra.dev/vim/vim-l9'
+Plug 'https://git.riedstra.dev/vim/mitch'
+
+" Neovim
+Plug 'neovim/nvim-lspconfig'
+
+" Languages
+Plug 'fatih/vim-go'
+Plug 'hashivim/vim-terraform'
+Plug 'MaxMEllon/vim-jsx-pretty'
+Plug 'xavierd/clang_complete'
+
+" Neovim specific
+
+" Color schemes
+Plug 't184256/vim-boring'
+Plug 'plan9-for-vimspace/acme-colors'
+Plug 'huyvohcmc/atlas.vim'
+Plug 'w0ng/vim-hybrid'
+Plug 'altercation/vim-colors-solarized'
+Plug 'kristijanhusak/vim-hybrid-material'
+Plug 'Lokaltog/vim-monotone'
+
+call plug#end()
+
+map <C-n> :NERDTreeToggle<CR>
+
+let g:ctrlp_follow_symlinks = 1
+let g:ctrlp_working_path_mode = 0
+
+" Always show status line
+" set laststatus=2
+
+" Enable the list of buffers
+let g:airline#extensions#tabline#enabled = 1
+" Show just the filename
+let g:airline#extensions#tabline#fnamemod = ':t'
+if !exists('g:airline_symbols')
+ let g:airline_symbols = {}
+endif
+let g:airline_symbols.space = "\ua0"
+let g:airline_section_z = airline#section#create(['windowswap', '%3p%% ', 'linenr', ':%3v'])
+
+
+" Persistent undo
+set undofile
+set undodir=~/.nvimundo
+set undolevels=1000
+set undoreload=10000
+
+" lots of history, it's always nice to find old nasty command that happen
+" to be really useful
+set history=10000
+
+
+" Useful on some terminals, not always supported in old tmux versions
+" set termguicolors
+" let g:airline_theme="monochrome"
+let g:airline_theme="distinguished"
+" let g:airline_theme="hybrid"
+
+colorscheme 256_noir
+" colorscheme distinguished
+" colorscheme sane
+set background=dark
+" let g:hybrid_transparent_background = 1
+" colorscheme hybrid_material
+
+
+" For syntastic it's worth running
+" SyntasticInfo : to see what's available for the given open file
+" SyntasticCheck yamllint : if you want to say manually run the `yamllint`
+" checker
+
+let g:syntastic_yaml_checkers = ['yamllint']
+let g:syntastic_go_checkers = [ 'go', 'gofmt', 'golangci_lint' ]
+
+" This lets :lopen / :lwindow always be populated work
+let g:syntastic_always_populate_loc_list = 1
+
+" some info on the Tabular plugin:
+" http://vimcasts.org/episodes/aligning-text-with-tabular-vim/
+
+" Commenting in and out blocks can be done with `gc`
+" https://github.com/tpope/vim-commentary
+
+" For improved Go support
+" go get github.com/jstemmer/gotags
+nmap <F8> :TagbarToggle<CR>
+" let g:tagbar_ctags_bin='uctags'
+" let g:tagbar_ctags_bin='uctags'
+let g:tagbar_ctags_bin='ctags'
+
+" For clang complete
+" path to directory where library can be found
+" let g:clang_library_path='/usr/local/lib'
+" let g:clang_library_path='/usr/lib/clang/12/lib'
+let g:clang_library_path='/usr/lib/llvm-12/lib/libclang.so'
+" package clang-tools-extra on OpenBSD provides the library
+
+
+" For info on fugitive
+" https://github.com/tpope/vim-fugitive