Added vimrc stuff from work and improved makefiles
This commit is contained in:
parent
3e3fa0b073
commit
10ff1f07af
121
.vimrc
121
.vimrc
|
@ -1,67 +1,39 @@
|
|||
" ██╗ ██╗██╗███╗ ███╗
|
||||
" ██║ ██║██║████╗ ████║
|
||||
" ██║ ██║██║██╔████╔██║
|
||||
" ╚██╗ ██╔╝██║██║╚██╔╝██║
|
||||
" ╚████╔╝ ██║██║ ╚═╝ ██║
|
||||
" ╚═══╝ ╚═╝╚═╝ ╚═╝
|
||||
|
||||
set nocompatible " be iMproved, required
|
||||
"
|
||||
" ██╗ ██╗██╗███╗ ███╗
|
||||
" ██║ ██║██║██╔███╗██║
|
||||
" ╚═███╔═╝██║██║╚══╝██║
|
||||
" ╚══╝ ╚═╝╚═╝ ╚═╝
|
||||
"
|
||||
" Vundle "
|
||||
set nocompatible " be iMproved, required for plugins
|
||||
filetype off " required
|
||||
|
||||
" set the runtime path to include Vundle and initialize
|
||||
set rtp+=~/.vim/bundle/Vundle.vim
|
||||
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'
|
||||
|
||||
" The following are examples of different formats supported.
|
||||
" 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
|
||||
" Plugin 'ycm-core/YouCompleteMe'
|
||||
" Plugin 'metakirby5/codi.vim'
|
||||
call vundle#end() " 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
|
||||
|
||||
set relativenumber
|
||||
set number
|
||||
set autoindent
|
||||
set splitbelow
|
||||
set splitright
|
||||
|
||||
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 tags+=tags;$HOME
|
||||
|
||||
inoremap <C-J> <C-X><C-N>
|
||||
|
||||
inoremap jj <Esc>
|
||||
|
||||
" Jump between splits
|
||||
nnoremap <C-J> <C-W><C-J>
|
||||
nnoremap <C-K> <C-W><C-K>
|
||||
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 BufWinEnter *.* silent loadview
|
||||
|
||||
" Expand % to the current file's dir
|
||||
cabbr <expr> %% expand('%:p:h')
|
||||
|
||||
set viewoptions-=options
|
||||
set nohlsearch
|
||||
|
||||
" Save with sudo
|
||||
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
|
||||
if has("autocmd")
|
||||
augroup templates
|
||||
|
@ -88,18 +91,44 @@ if has("autocmd")
|
|||
|
||||
autocmd BufNewFile *.cpp 0r ~/.vim/templates/skeleton.cpp
|
||||
autocmd BufNewFile *.cpp 10
|
||||
autocmd BufNewFile *.cpp call AddMakefile(1)
|
||||
|
||||
autocmd BufNewFile *.c 0r ~/.vim/templates/skeleton.c
|
||||
autocmd BufNewFile *.c 9
|
||||
autocmd BufNewFile *.c call AddMakefile(0)
|
||||
|
||||
autocmd BufNewFile *.html 0r ~/.vim/templates/skeleton.html
|
||||
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
|
||||
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 AsteriskItalic cterm=italic gui=italic
|
||||
syn match Asterisks contained "**" conceal
|
||||
syn match AsteriskItalic "\\\@<!\*\*[^"*|]\+\*\*" contains=Asterisks
|
||||
|
||||
nnoremap gs "xdiwdwep"xp
|
||||
|
|
Loading…
Reference in New Issue