2020-02-10 09:31:42 -05:00
|
|
|
"
|
|
|
|
" ██╗ ██╗██╗███╗ ███╗
|
|
|
|
" ██║ ██║██║██╔███╗██║
|
|
|
|
" ╚═███╔═╝██║██║╚══╝██║
|
|
|
|
" ╚══╝ ╚═╝╚═╝ ╚═╝
|
|
|
|
"
|
|
|
|
" Vundle "
|
|
|
|
set nocompatible " be iMproved, required for plugins
|
2020-02-09 12:29:17 -05:00
|
|
|
filetype off " required
|
|
|
|
set rtp+=~/.vim/bundle/Vundle.vim
|
|
|
|
call vundle#begin()
|
|
|
|
Plugin 'VundleVim/Vundle.vim'
|
2020-02-10 09:31:42 -05:00
|
|
|
" Plugin 'ycm-core/YouCompleteMe'
|
|
|
|
" Plugin 'metakirby5/codi.vim'
|
2020-02-09 12:29:17 -05:00
|
|
|
call vundle#end() " required
|
|
|
|
filetype plugin indent on " required
|
|
|
|
|
2020-02-09 13:23:22 -05:00
|
|
|
syntax on
|
|
|
|
|
2020-02-09 12:29:17 -05:00
|
|
|
set relativenumber
|
|
|
|
set number
|
|
|
|
set autoindent
|
2020-02-10 09:31:42 -05:00
|
|
|
set splitbelow
|
|
|
|
set splitright
|
2020-02-09 13:23:22 -05:00
|
|
|
|
2020-02-09 12:29:17 -05:00
|
|
|
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
|
2020-02-09 13:08:13 -05:00
|
|
|
|
|
|
|
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg
|
|
|
|
|
2020-02-10 09:31:42 -05:00
|
|
|
set tags+=tags;$HOME
|
|
|
|
|
|
|
|
inoremap <C-J> <C-X><C-N>
|
|
|
|
|
2020-02-09 12:29:17 -05:00
|
|
|
inoremap jj <Esc>
|
2020-02-10 09:31:42 -05:00
|
|
|
|
|
|
|
" Jump between splits
|
2020-02-09 12:29:17 -05:00
|
|
|
nnoremap <C-J> <C-W><C-J>
|
|
|
|
nnoremap <C-K> <C-W><C-K>
|
|
|
|
nnoremap <C-L> <C-W><C-L>
|
|
|
|
nnoremap <C-H> <C-W><C-H>
|
|
|
|
|
|
|
|
nnoremap >f viwc<C-O>:set ri<CR><C-R>"<Esc>:set nori<CR>
|
|
|
|
vnoremap \f c<C-O>:set ri<CR><C-R>"<Esc>:set nori<CR>
|
|
|
|
|
|
|
|
autocmd BufWinLeave *.* mkview
|
|
|
|
autocmd BufWinEnter *.* silent loadview
|
2020-02-09 13:08:13 -05:00
|
|
|
|
2020-02-10 09:31:42 -05:00
|
|
|
" Expand % to the current file's dir
|
|
|
|
cabbr <expr> %% expand('%:p:h')
|
|
|
|
|
2020-02-09 12:29:17 -05:00
|
|
|
set viewoptions-=options
|
|
|
|
set nohlsearch
|
|
|
|
|
|
|
|
" Save with sudo
|
|
|
|
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
|
2020-02-09 13:08:13 -05:00
|
|
|
|
2020-02-10 09:31:42 -05:00
|
|
|
" 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)
|
2020-02-10 10:04:52 -05:00
|
|
|
write
|
2020-02-10 09:31:42 -05:00
|
|
|
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
|
|
|
|
|
2020-02-09 13:08:13 -05:00
|
|
|
" Spooky scary templates
|
|
|
|
if has("autocmd")
|
|
|
|
augroup templates
|
|
|
|
|
|
|
|
autocmd BufNewFile *.sh 0r ~/.vim/templates/skeleton.sh
|
|
|
|
autocmd BufNewFile *.sh 2
|
|
|
|
|
|
|
|
autocmd BufNewFile *.cpp 0r ~/.vim/templates/skeleton.cpp
|
|
|
|
autocmd BufNewFile *.cpp 10
|
2020-02-10 09:31:42 -05:00
|
|
|
autocmd BufNewFile *.cpp call AddMakefile(1)
|
2020-02-09 13:08:13 -05:00
|
|
|
|
|
|
|
autocmd BufNewFile *.c 0r ~/.vim/templates/skeleton.c
|
|
|
|
autocmd BufNewFile *.c 9
|
2020-02-10 09:31:42 -05:00
|
|
|
autocmd BufNewFile *.c call AddMakefile(0)
|
2020-02-09 13:08:13 -05:00
|
|
|
|
|
|
|
autocmd BufNewFile *.html 0r ~/.vim/templates/skeleton.html
|
|
|
|
autocmd BufNewFile *.html 11
|
|
|
|
|
2020-02-10 09:31:42 -05:00
|
|
|
autocmd BufNewFile *.lisp 0r ~/.vim/templates/skeleton.lisp
|
2020-02-10 10:04:52 -05:00
|
|
|
autocmd BufNewFile *.lisp 9
|
2020-02-10 09:31:42 -05:00
|
|
|
|
|
|
|
autocmd BufNewFile *.py 0r ~/.vim/templates/skeleton.py
|
2020-02-10 10:04:52 -05:00
|
|
|
autocmd BufNewFile *.py 9
|
2020-02-10 09:31:42 -05:00
|
|
|
|
|
|
|
autocmd BufNewFile *.rb 0r ~/.vim/templates/skeleton.rb
|
2020-02-10 10:04:52 -05:00
|
|
|
autocmd BufNewFile *.rb 9
|
|
|
|
|
|
|
|
autocmd BufNewFile *.java 0r ~/.vim/templates/Skeleton.java
|
|
|
|
autocmd BufNewFile *.java 9
|
2020-02-10 09:31:42 -05:00
|
|
|
|
|
|
|
autocmd BufNewFile makefile 0r ~/.vim/templates/makefile.c
|
|
|
|
autocmd BufNewFile *.c 9
|
|
|
|
|
2020-02-09 13:08:13 -05:00
|
|
|
augroup END
|
|
|
|
endif
|
|
|
|
|
2020-02-10 09:31:42 -05:00
|
|
|
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!
|
|
|
|
|
2020-02-09 13:08:13 -05:00
|
|
|
hi Asterisks NONE
|
|
|
|
hi AsteriskItalic cterm=italic gui=italic
|
|
|
|
syn match Asterisks contained "**" conceal
|
|
|
|
syn match AsteriskItalic "\\\@<!\*\*[^"*|]\+\*\*" contains=Asterisks
|
2020-02-09 13:23:22 -05:00
|
|
|
|
2020-02-10 09:31:42 -05:00
|
|
|
nnoremap gs "xdiwdwep"xp
|