aboutsummaryrefslogtreecommitdiff
path: root/vimrc-full
diff options
context:
space:
mode:
Diffstat (limited to 'vimrc-full')
-rw-r--r--vimrc-full190
1 files changed, 190 insertions, 0 deletions
diff --git a/vimrc-full b/vimrc-full
new file mode 100644
index 0000000..0c3c76c
--- /dev/null
+++ b/vimrc-full
@@ -0,0 +1,190 @@
+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')
+
+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'
+
+" Languages
+Plug 'fatih/vim-go'
+Plug 'hashivim/vim-terraform'
+Plug 'MaxMEllon/vim-jsx-pretty'
+" Plug 'xavierd/clang_complete'
+
+" 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'
+Plug 'arcticicestudio/nord-vim'
+
+call plug#end()
+
+" This is needed for the riedstra.dev plugins above, because
+" the HTTP transport doesn't support a shallow clone
+" let g:plug_shallow = 0
+
+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
+
+" autocmd ColorScheme nord highlight vimCommentTitle ctermfg=10 guifg=#8FBCBB
+
+autocmd ColorScheme nord highlight Comment ctermfg=14 guifg=#8FBCBB
+let g:nord_uniform_diff_background = 1
+colorscheme nord
+
+
+" 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' ]
+let g:syntastic_lua_checkers = [ 'luac', 'luacheck' ]
+
+" 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