From cf46cde6d941a5d376ebb47cb50d4a25b656f2b5 Mon Sep 17 00:00:00 2001 From: Mitchell Riedstra Date: Mon, 20 Sep 2021 20:57:27 -0400 Subject: Initial --- init.vim | 184 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 init.vim (limited to 'init.vim') 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 n :set invnu +nmap r :set invrnu +" Use \-l in normal mode to toggle listchars +nmap l :set list! + +" 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 +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 :NERDTreeToggle + +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 :TagbarToggle +" 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 -- cgit v1.2.3