From 709accc8e4f6dc3c21fc9b55e9fcc31559c68472 Mon Sep 17 00:00:00 2001 From: Mitch Riedstra Date: Sat, 21 Sep 2019 12:44:34 -0400 Subject: Re-arrange the vim configuration --- .gitignore | 1 + autoload/pathogen.vim | 353 -------------------------------------------- basic.vim | 1 - basic.vim.txt | 1 - gen-setup.sh | 1 + inc/airline.vim | 15 -- inc/ctrlp.vim | 2 - inc/filetype-options.vim | 98 ------------ inc/gundo.vim | 1 - inc/rebinds.vim | 14 -- inc/undo.vim | 10 -- init.vim | 9 -- plugin/airline.vim | 15 ++ plugin/basics.vim | 49 ++++++ plugin/ctrlp.vim | 2 + plugin/filetype-options.vim | 98 ++++++++++++ plugin/gundo.vim | 1 + plugin/rebinds.vim | 14 ++ plugin/undo.vim | 10 ++ setup.sh | 57 ++++--- 20 files changed, 228 insertions(+), 524 deletions(-) delete mode 100644 autoload/pathogen.vim delete mode 120000 basic.vim delete mode 120000 basic.vim.txt delete mode 100644 inc/airline.vim delete mode 100644 inc/ctrlp.vim delete mode 100644 inc/filetype-options.vim delete mode 100644 inc/gundo.vim delete mode 100644 inc/rebinds.vim delete mode 100644 inc/undo.vim create mode 100644 plugin/airline.vim create mode 100644 plugin/basics.vim create mode 100644 plugin/ctrlp.vim create mode 100644 plugin/filetype-options.vim create mode 100644 plugin/gundo.vim create mode 100644 plugin/rebinds.vim create mode 100644 plugin/undo.vim diff --git a/.gitignore b/.gitignore index d79e28e..af2af57 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /bundle /themes .netrwhist +/pack diff --git a/autoload/pathogen.vim b/autoload/pathogen.vim deleted file mode 100644 index 59a75c1..0000000 --- a/autoload/pathogen.vim +++ /dev/null @@ -1,353 +0,0 @@ -" pathogen.vim - path option manipulation -" Maintainer: Tim Pope -" Version: 2.4 - -" Install in ~/.vim/autoload (or ~\vimfiles\autoload). -" -" For management of individually installed plugins in ~/.vim/bundle (or -" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your -" .vimrc is the only other setup necessary. -" -" The API is documented inline below. - -if exists("g:loaded_pathogen") || &cp - finish -endif -let g:loaded_pathogen = 1 - -" Point of entry for basic default usage. Give a relative path to invoke -" pathogen#interpose() (defaults to "bundle/{}"), or an absolute path to invoke -" pathogen#surround(). Curly braces are expanded with pathogen#expand(): -" "bundle/{}" finds all subdirectories inside "bundle" inside all directories -" in the runtime path. -function! pathogen#infect(...) abort - for path in a:0 ? filter(reverse(copy(a:000)), 'type(v:val) == type("")') : ['bundle/{}'] - if path =~# '^\%({\=[$~\\/]\|{\=\w:[\\/]\).*[{}*]' - call pathogen#surround(path) - elseif path =~# '^\%([$~\\/]\|\w:[\\/]\)' - call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') - call pathogen#surround(path . '/{}') - elseif path =~# '[{}*]' - call pathogen#interpose(path) - else - call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') - call pathogen#interpose(path . '/{}') - endif - endfor - call pathogen#cycle_filetype() - if pathogen#is_disabled($MYVIMRC) - return 'finish' - endif - return '' -endfunction - -" Split a path into a list. -function! pathogen#split(path) abort - if type(a:path) == type([]) | return a:path | endif - if empty(a:path) | return [] | endif - let split = split(a:path,'\\\@]','\\&','') - endif -endfunction - -" Like findfile(), but hardcoded to use the runtimepath. -function! pathogen#runtime_findfile(file,count) abort - let rtp = pathogen#join(1,pathogen#split(&rtp)) - let file = findfile(a:file,rtp,a:count) - if file ==# '' - return '' - else - return fnamemodify(file,':p') - endif -endfunction - -" Section: Deprecated - -function! s:warn(msg) abort - echohl WarningMsg - echomsg a:msg - echohl NONE -endfunction - -" Prepend all subdirectories of path to the rtp, and append all 'after' -" directories in those subdirectories. Deprecated. -function! pathogen#runtime_prepend_subdirectories(path) abort - call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#infect('.string(a:path.'/{}').')') - return pathogen#surround(a:path . pathogen#slash() . '{}') -endfunction - -function! pathogen#incubate(...) abort - let name = a:0 ? a:1 : 'bundle/{}' - call s:warn('Change pathogen#incubate('.(a:0 ? string(a:1) : '').') to pathogen#infect('.string(name).')') - return pathogen#interpose(name) -endfunction - -" Deprecated alias for pathogen#interpose(). -function! pathogen#runtime_append_all_bundles(...) abort - if a:0 - call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#infect('.string(a:1.'/{}').')') - else - call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#infect()') - endif - return pathogen#interpose(a:0 ? a:1 . '/{}' : 'bundle/{}') -endfunction - -if exists(':Vedit') - finish -endif - -let s:vopen_warning = 0 - -function! s:find(count,cmd,file,lcd) - let rtp = pathogen#join(1,pathogen#split(&runtimepath)) - let file = pathogen#runtime_findfile(a:file,a:count) - if file ==# '' - return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'" - endif - if !s:vopen_warning - let s:vopen_warning = 1 - let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE' - else - let warning = '' - endif - if a:lcd - let path = file[0:-strlen(a:file)-2] - execute 'lcd `=path`' - return a:cmd.' '.pathogen#fnameescape(a:file) . warning - else - return a:cmd.' '.pathogen#fnameescape(file) . warning - endif -endfunction - -function! s:Findcomplete(A,L,P) - let sep = pathogen#slash() - let cheats = { - \'a': 'autoload', - \'d': 'doc', - \'f': 'ftplugin', - \'i': 'indent', - \'p': 'plugin', - \'s': 'syntax'} - if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0]) - let request = cheats[a:A[0]].a:A[1:-1] - else - let request = a:A - endif - let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*' - let found = {} - for path in pathogen#split(&runtimepath) - let path = expand(path, ':p') - let matches = split(glob(path.sep.pattern),"\n") - call map(matches,'isdirectory(v:val) ? v:val.sep : v:val') - call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]') - for match in matches - let found[match] = 1 - endfor - endfor - return sort(keys(found)) -endfunction - -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(,'edit',,0) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(,'edit',,0) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(,'edit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(,'split',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(,'vsplit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(,'tabedit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(,'pedit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(,'read',,1) - -" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': diff --git a/basic.vim b/basic.vim deleted file mode 120000 index c530766..0000000 --- a/basic.vim +++ /dev/null @@ -1 +0,0 @@ -inc/basics.vim \ No newline at end of file diff --git a/basic.vim.txt b/basic.vim.txt deleted file mode 120000 index c530766..0000000 --- a/basic.vim.txt +++ /dev/null @@ -1 +0,0 @@ -inc/basics.vim \ No newline at end of file diff --git a/gen-setup.sh b/gen-setup.sh index e8d9cdf..23eec5b 100755 --- a/gen-setup.sh +++ b/gen-setup.sh @@ -40,6 +40,7 @@ clone() { git clone --depth=1 "$URL" . fi cd $WD + printf "\033[0m" }' > setup.sh for _repo in $REPOS; do diff --git a/inc/airline.vim b/inc/airline.vim deleted file mode 100644 index 4486d50..0000000 --- a/inc/airline.vim +++ /dev/null @@ -1,15 +0,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']) diff --git a/inc/ctrlp.vim b/inc/ctrlp.vim deleted file mode 100644 index 515a5d2..0000000 --- a/inc/ctrlp.vim +++ /dev/null @@ -1,2 +0,0 @@ -let g:ctrlp_follow_symlinks = 1 -let g:ctrlp_working_path_mode = 0 diff --git a/inc/filetype-options.vim b/inc/filetype-options.vim deleted file mode 100644 index f0cbb37..0000000 --- a/inc/filetype-options.vim +++ /dev/null @@ -1,98 +0,0 @@ -function! PhpSyntaxOverride() - hi! def link phpDocTags phpDefine - hi! def link phpDocParam phpType -endfunction - -augroup phpSyntaxOverride - autocmd! - autocmd FileType php call PhpSyntaxOverride() -augroup END - -" This is specifically for Salt's state files 'sls' -autocmd BufNewFile,BufRead *.sls set filetype=yaml - -autocmd Filetype python call SetPythonOptions() -autocmd Filetype htmldjango call SethtmldjangoOptions() -autocmd Filetype json call SetJsonOptions() -autocmd Filetype javascript call SetjavascriptOptions() -autocmd Filetype php call SetPHPOptions() -autocmd Filetype html call SetHTMLOptions() -autocmd Filetype sh call SetShellOptions() -autocmd Filetype go call SetGoOptions() -autocmd Filetype yaml call SetYamlOptions() -autocmd Filetype markdown call SetMarkdownOptions() - -function SetMarkdownOptions() - set spell - set tabstop=2 - set shiftwidth=2 - set expandtab - AcpDisable -endfunction -function SetPythonOptions() - set tabstop=4 - set shiftwidth=4 - set expandtab - filetype indent on - set smartindent -endfunction -function SetjavascriptOptions() - set tabstop=2 - set shiftwidth=2 - set expandtab - filetype indent on - set smartindent -endfunction -function SetJsonOptions() - set tabstop=3 - set shiftwidth=3 - set expandtab - filetype indent on - set smartindent -endfunction -function SethtmldjangoOptions() - set tabstop=2 - set shiftwidth=2 - set expandtab - filetype indent on - set smartindent -endfunction -function SetPHPOptions() - set colorcolumn=120 - set tabstop=4 - set shiftwidth=4 - set expandtab - filetype indent on - set smartindent -endfunction -function SetHTMLOptions() - set colorcolumn=120 - set tabstop=2 - set shiftwidth=2 - set expandtab - filetype indent on - set smartindent -endfunction -function SetShellOptions() - set tabstop=8 - set shiftwidth=8 - set noexpandtab - filetype indent on - set smartindent -endfunction -function SetGoOptions() - set tabstop=8 - set noexpandtab - " The ACP is pretty slow with my Go plugins enabled - AcpDisable - set nolist - set noic - set nolist -endfunction -function SetYamlOptions() - set tabstop=2 - set shiftwidth=2 - set expandtab - set expandtab - set noic -endfunction diff --git a/inc/gundo.vim b/inc/gundo.vim deleted file mode 100644 index bdcb82a..0000000 --- a/inc/gundo.vim +++ /dev/null @@ -1 +0,0 @@ -let g:gundo_prefer_python3 = 1 diff --git a/inc/rebinds.vim b/inc/rebinds.vim deleted file mode 100644 index cacef62..0000000 --- a/inc/rebinds.vim +++ /dev/null @@ -1,14 +0,0 @@ -" Keep the newbs from using arrow keys -inoremap -inoremap -inoremap -inoremap - -" map :Lex -map :NERDTreeToggle - -" To enable/disable the autocomplete dropdown -nmap [ :AcpDisable -nmap ] :AcpEnable - -nnoremap :GundoToggle diff --git a/inc/undo.vim b/inc/undo.vim deleted file mode 100644 index 78c7e48..0000000 --- a/inc/undo.vim +++ /dev/null @@ -1,10 +0,0 @@ -" Persistent undo -set undofile -set undodir=~/.vimundo -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 -" diff --git a/init.vim b/init.vim index 81e1896..35bccf7 100644 --- a/init.vim +++ b/init.vim @@ -1,12 +1,3 @@ -execute pathogen#infect('bundle/{}', 'themes/{}') - -source ~/.vim/inc/basics.vim -source ~/.vim/inc/rebinds.vim -source ~/.vim/inc/undo.vim -source ~/.vim/inc/filetype-options.vim -source ~/.vim/inc/airline.vim -source ~/.vim/inc/ctrlp.vim -source ~/.vim/inc/gundo.vim " Omni completion filetype plugin on diff --git a/plugin/airline.vim b/plugin/airline.vim new file mode 100644 index 0000000..4486d50 --- /dev/null +++ b/plugin/airline.vim @@ -0,0 +1,15 @@ +" 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']) diff --git a/plugin/basics.vim b/plugin/basics.vim new file mode 100644 index 0000000..1ac112a --- /dev/null +++ b/plugin/basics.vim @@ -0,0 +1,49 @@ +" Basic vimrc for systems you don't want to copy the full one to +set encoding=utf-8 " The encoding displayed. +set fileencoding=utf-8 " The encoding written to file. +set background=dark " Since most terminals I have dark backgrounds +set nu " Line 'nu'mbers +set listchars=tab:▸\ ,eol:¬,trail:• " Listchars are used to show normally + " invisible chars such as tabs, EOL and + " trailing whitespace +" set listchars=tab:\|\ " Alternative listchars w/o special chars. +set colorcolumn=80 " Sets a "coloured" coloumn to tell you where your line + " breaks should be so you don't piss off people using + " a terminal. +set ic " Case insensitive search by default +set hls " Highlight my searches by default +set updatecount=0 " Do not write swap files +set nocompatible " Don't be compatbile with 'vi' +set tabstop=4 " Tab width +set shiftwidth=4 +set noexpandtab " Do **NOT** turn tabs into spaces by default +" Be smart about the mouse +set mouse+=a +if &term =~ '^screen' + " tmux knows the extended mouse mode + set ttymouse=xterm2 +endif +syntax on " Syntax highlighting by default + + +set nomodeline " I know how to setup my editor, I don't need your + " changes to my vim configuration. + +" Use \-n in normal mode to toggle line numbers +nmap n :set invnu +" 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 diff --git a/plugin/ctrlp.vim b/plugin/ctrlp.vim new file mode 100644 index 0000000..515a5d2 --- /dev/null +++ b/plugin/ctrlp.vim @@ -0,0 +1,2 @@ +let g:ctrlp_follow_symlinks = 1 +let g:ctrlp_working_path_mode = 0 diff --git a/plugin/filetype-options.vim b/plugin/filetype-options.vim new file mode 100644 index 0000000..f0cbb37 --- /dev/null +++ b/plugin/filetype-options.vim @@ -0,0 +1,98 @@ +function! PhpSyntaxOverride() + hi! def link phpDocTags phpDefine + hi! def link phpDocParam phpType +endfunction + +augroup phpSyntaxOverride + autocmd! + autocmd FileType php call PhpSyntaxOverride() +augroup END + +" This is specifically for Salt's state files 'sls' +autocmd BufNewFile,BufRead *.sls set filetype=yaml + +autocmd Filetype python call SetPythonOptions() +autocmd Filetype htmldjango call SethtmldjangoOptions() +autocmd Filetype json call SetJsonOptions() +autocmd Filetype javascript call SetjavascriptOptions() +autocmd Filetype php call SetPHPOptions() +autocmd Filetype html call SetHTMLOptions() +autocmd Filetype sh call SetShellOptions() +autocmd Filetype go call SetGoOptions() +autocmd Filetype yaml call SetYamlOptions() +autocmd Filetype markdown call SetMarkdownOptions() + +function SetMarkdownOptions() + set spell + set tabstop=2 + set shiftwidth=2 + set expandtab + AcpDisable +endfunction +function SetPythonOptions() + set tabstop=4 + set shiftwidth=4 + set expandtab + filetype indent on + set smartindent +endfunction +function SetjavascriptOptions() + set tabstop=2 + set shiftwidth=2 + set expandtab + filetype indent on + set smartindent +endfunction +function SetJsonOptions() + set tabstop=3 + set shiftwidth=3 + set expandtab + filetype indent on + set smartindent +endfunction +function SethtmldjangoOptions() + set tabstop=2 + set shiftwidth=2 + set expandtab + filetype indent on + set smartindent +endfunction +function SetPHPOptions() + set colorcolumn=120 + set tabstop=4 + set shiftwidth=4 + set expandtab + filetype indent on + set smartindent +endfunction +function SetHTMLOptions() + set colorcolumn=120 + set tabstop=2 + set shiftwidth=2 + set expandtab + filetype indent on + set smartindent +endfunction +function SetShellOptions() + set tabstop=8 + set shiftwidth=8 + set noexpandtab + filetype indent on + set smartindent +endfunction +function SetGoOptions() + set tabstop=8 + set noexpandtab + " The ACP is pretty slow with my Go plugins enabled + AcpDisable + set nolist + set noic + set nolist +endfunction +function SetYamlOptions() + set tabstop=2 + set shiftwidth=2 + set expandtab + set expandtab + set noic +endfunction diff --git a/plugin/gundo.vim b/plugin/gundo.vim new file mode 100644 index 0000000..bdcb82a --- /dev/null +++ b/plugin/gundo.vim @@ -0,0 +1 @@ +let g:gundo_prefer_python3 = 1 diff --git a/plugin/rebinds.vim b/plugin/rebinds.vim new file mode 100644 index 0000000..cacef62 --- /dev/null +++ b/plugin/rebinds.vim @@ -0,0 +1,14 @@ +" Keep the newbs from using arrow keys +inoremap +inoremap +inoremap +inoremap + +" map :Lex +map :NERDTreeToggle + +" To enable/disable the autocomplete dropdown +nmap [ :AcpDisable +nmap ] :AcpEnable + +nnoremap :GundoToggle diff --git a/plugin/undo.vim b/plugin/undo.vim new file mode 100644 index 0000000..78c7e48 --- /dev/null +++ b/plugin/undo.vim @@ -0,0 +1,10 @@ +" Persistent undo +set undofile +set undodir=~/.vimundo +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 +" diff --git a/setup.sh b/setup.sh index abf85a3..44cf17e 100755 --- a/setup.sh +++ b/setup.sh @@ -3,47 +3,64 @@ WD="$(pwd)" clone() { - printf "\033[0mWorking dir: \033[1;34m%s\033[0;33m\n" $DIR + printf "Working dir: %s +" $DIR if [ -d "$DIR" ] ; then cd $DIR git pull --ff-only origin master elif ! [ -d "$DIR" ] ; then mkdir -p "$DIR" cd "$DIR" - git clone "$URL" . + git clone --depth=1 "$URL" . fi cd $WD + printf "" } -DIR="bundle/ag.vim" +DIR="pack/plugins/start/vim-go" +URL="https://github.com/fatih/vim-go.git" +clone +DIR="pack/plugins/start/ag.vim" URL="https://github.com/rking/ag.vim.git" clone -DIR="bundle/ctrlp.vim" +DIR="pack/plugins/start/ctrlp.vim" URL="https://github.com/ctrlpvim/ctrlp.vim" clone -DIR="bundle/emmet-vim" +DIR="pack/plugins/start/emmet-vim" URL="https://github.com/mattn/emmet-vim.git" clone -DIR="bundle/l9" -URL="https://git.riedstra.us/vim/vim-l9.git" +DIR="pack/plugins/start/gundo" +URL="https://github.com/sjl/gundo.vim" clone -DIR="bundle/vim-airline-themes" -URL="https://github.com/vim-airline/vim-airline-themes/" +DIR="pack/plugins/start/nerdtree" +URL="https://github.com/scrooloose/nerdtree" clone -DIR="bundle/vim-airline" +DIR="pack/plugins/start/vim-airline" URL="https://github.com/vim-airline/vim-airline.git" clone -DIR="bundle/vim-autocomplpop" -URL="https://git.riedstra.us/vim/vim-autocomplpop.git" +DIR="pack/plugins/start/vim-airline-themes" +URL="https://github.com/vim-airline/vim-airline-themes/" clone -DIR="bundle/vim-go" -URL="https://github.com/fatih/vim-go.git" +DIR="pack/plugins/start/dracula" +URL="https://github.com/dracula/vim.git" clone -DIR="bundle/nerdtree" -URL="https://github.com/scrooloose/nerdtree" +DIR="pack/plugins/start/l9" +URL="git:~/vim/vim-l9.git" clone -DIR="bundle/gundo" -URL="https://github.com/sjl/gundo.vim" +DIR="pack/plugins/start/vim-autocomplpop" +URL="git:~/vim/vim-autocomplpop.git" +clone +DIR="pack/themes/start/mitch" +URL="git@rygel.us:~/vim/mitch.git" +clone +DIR="pack/themes/start/solarized" +URL="https://github.com/altercation/vim-colors-solarized" +clone +DIR="pack/themes/start/orbital" +URL="https://github.com/fcpg/vim-orbital" +clone +DIR="pack/themes/start/monotone" +URL="https://github.com/Lokaltog/vim-monotone" clone -DIR="themes/mitch" -URL="https://git.riedstra.us/vim/mitch.git" +DIR="pack/themes/start/gruvbox" +URL="https://github.com/morhetz/gruvbox" clone -- cgit v1.2.3