Added vimrc stuff from work and improved makefiles

This commit is contained in:
Sage Vaillancourt 2020-02-10 09:31:42 -05:00
parent 3e3fa0b073
commit 10ff1f07af
1 changed files with 75 additions and 46 deletions

119
.vimrc
View File

@ -1,67 +1,39 @@
"
" ██╗ ██╗██╗███╗ ███╗ " ██╗ ██╗██╗███╗ ███╗
" ██║ ██║██║████╗ ████║ " ██║ ██║██║██╔███╗██║
" ██║ ██║██║██╔████╔██║ " ╚═███╔═╝██║██║╚══╝██║
" ╚██╗ ██╔╝██║██║╚██╔╝██║ " ╚══╝ ╚═╝╚═╝ ╚═╝
" ╚████╔╝ ██║██║ ╚═╝ ██║ "
" ╚═══╝ ╚═╝╚═╝ ╚═╝ " Vundle "
set nocompatible " be iMproved, required for plugins
set nocompatible " be iMproved, required
filetype off " required filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin() call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim' Plugin 'VundleVim/Vundle.vim'
" Plugin 'ycm-core/YouCompleteMe'
" The following are examples of different formats supported. " Plugin 'metakirby5/codi.vim'
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
" Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub
" Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
" Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
Plugin 'ycm-core/YouCompleteMe'
Plugin 'metakirby5/codi.vim'
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
" Plugin 'ascenator/L9', {'name': 'newL9'}
" All of your Plugins must be added before the following line
call vundle#end() " required call vundle#end() " required
filetype plugin indent on " required filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
syntax on syntax on
set relativenumber set relativenumber
set number set number
set autoindent set autoindent
set splitbelow
set splitright
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg
set tags+=tags;$HOME
inoremap <C-J> <C-X><C-N>
inoremap jj <Esc> inoremap jj <Esc>
" Jump between splits
nnoremap <C-J> <C-W><C-J> nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K> nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L> nnoremap <C-L> <C-W><C-L>
@ -73,12 +45,43 @@ vnoremap \f c<C-O>:set ri<CR><C-R>"<Esc>:set nori<CR>
autocmd BufWinLeave *.* mkview autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent loadview autocmd BufWinEnter *.* silent loadview
" Expand % to the current file's dir
cabbr <expr> %% expand('%:p:h')
set viewoptions-=options set viewoptions-=options
set nohlsearch set nohlsearch
" Save with sudo " Save with sudo
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit! cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
" Paste last yank (that is, not delete)
nnoremap "p "0p
" Map directions to end/beginning of lines
nnoremap yl y$
nnoremap dl d$
nnoremap yh y^
nnoremap dh d^
nnoremap <Leader>v :tabedit ~/.vimrc<CR>
nnoremap <Leader>n :tabedit ~/.notes<CR>
nnoremap <Leader>p :call Build(0)<CR>
nnoremap <Leader>b :call Build(1)<CR>
function! Build(just_build)
if(&ft=='lisp')
!clisp %
elseif(&ft=='ruby')
!ruby %
elseif(&ft=='python')
!python3 %
elseif(&ft=='java')
!javac % && java %:t:r
elseif (&ft=='c') || (&ft=='cpp')
!make && !make run
endif
endfunction
" Spooky scary templates " Spooky scary templates
if has("autocmd") if has("autocmd")
augroup templates augroup templates
@ -88,18 +91,44 @@ if has("autocmd")
autocmd BufNewFile *.cpp 0r ~/.vim/templates/skeleton.cpp autocmd BufNewFile *.cpp 0r ~/.vim/templates/skeleton.cpp
autocmd BufNewFile *.cpp 10 autocmd BufNewFile *.cpp 10
autocmd BufNewFile *.cpp call AddMakefile(1)
autocmd BufNewFile *.c 0r ~/.vim/templates/skeleton.c autocmd BufNewFile *.c 0r ~/.vim/templates/skeleton.c
autocmd BufNewFile *.c 9 autocmd BufNewFile *.c 9
autocmd BufNewFile *.c call AddMakefile(0)
autocmd BufNewFile *.html 0r ~/.vim/templates/skeleton.html autocmd BufNewFile *.html 0r ~/.vim/templates/skeleton.html
autocmd BufNewFile *.html 11 autocmd BufNewFile *.html 11
autocmd BufNewFile *.lisp 0r ~/.vim/templates/skeleton.lisp
autocmd BufNewFile *.c 9
autocmd BufNewFile *.py 0r ~/.vim/templates/skeleton.py
autocmd BufNewFile *.c 9
autocmd BufNewFile *.rb 0r ~/.vim/templates/skeleton.rb
autocmd BufNewFile *.c 9
autocmd BufNewFile makefile 0r ~/.vim/templates/makefile.c
autocmd BufNewFile *.c 9
augroup END augroup END
endif endif
function! AddMakefile(cpp)
if !filereadable("./makefile")
if a:cpp == 1
silent !cp ~/.vim/templates/makefile.cpp ./makefile
else
silent !cp ~/.vim/templates/makefile.c ./makefile
endif
silent !sed -i s/FILENAME=/FILENAME=%:t:r/g ./makefile
endif
endfunction!
hi Asterisks NONE hi Asterisks NONE
hi AsteriskItalic cterm=italic gui=italic hi AsteriskItalic cterm=italic gui=italic
syn match Asterisks contained "**" conceal syn match Asterisks contained "**" conceal
syn match AsteriskItalic "\\\@<!\*\*[^"*|]\+\*\*" contains=Asterisks syn match AsteriskItalic "\\\@<!\*\*[^"*|]\+\*\*" contains=Asterisks
nnoremap gs "xdiwdwep"xp