aboutsummaryrefslogtreecommitdiff
path: root/vim/.vimrc
diff options
context:
space:
mode:
authorCamil Staps2017-03-21 09:56:13 +0100
committerCamil Staps2017-03-21 09:56:13 +0100
commit01f184705949deb75e2584c9c9d8270a0f25483e (patch)
tree0c0063448074dfaf513d5c47ff414ae4e81900f0 /vim/.vimrc
parentConnection info (diff)
Fix symlink
Diffstat (limited to 'vim/.vimrc')
-rw-r--r--vim/.vimrc129
1 files changed, 129 insertions, 0 deletions
diff --git a/vim/.vimrc b/vim/.vimrc
new file mode 100644
index 0000000..2163d00
--- /dev/null
+++ b/vim/.vimrc
@@ -0,0 +1,129 @@
+" Vundle
+set nocompatible " be iMproved, required
+filetype off " required
+
+scriptencoding utf-8
+set encoding=utf-8
+
+" set the runtime path to include Vundle and initialize
+set rtp+=~/.vim/bundle/Vundle.vim
+call vundle#begin()
+
+" let Vundle manage Vundle, required
+Plugin 'gmarik/Vundle.vim', {'pinned': 1}
+
+" Special syntaxes
+Plugin 'groenewege/vim-less' " Less
+Plugin 'digitaltoad/vim-jade' " Jade
+Plugin 'lervag/vimtex' " TeX
+Plugin 'git@github.com:alisdair/vim-armasm' " ARM Assembly
+Plugin 'git@github.com:camilstaps/vim-clean' " Clean
+Plugin 'git@github.com:camilstaps/vim-fuspel' " Fuspel
+Plugin 'git@github.com:camilstaps/vim-bb' " Blackboard feedback
+
+" Other plugins
+Plugin 'terryma/vim-multiple-cursors' " Multiple cursors
+Plugin 'scrooloose/syntastic' " Syntastic
+Plugin 'tpope/vim-surround' " cs)] to replace parenthesis pairs, e.g.
+
+call vundle#end()
+" End Vundle
+
+" Source some special files on writing
+autocmd! bufwritepost .vimrc source %
+autocmd! bufwritepost .bashrc !source %
+autocmd! bufwritepost .Xresources !xrdb -merge %
+
+" Common settings
+set tabstop=4 shiftwidth=4
+set cc=80
+set linebreak
+set nu
+set dir=~/.swp
+set listchars=nbsp:¬,tab:▸\ ,extends:»,precedes:«,trail:•
+set nolist
+set tabpagemax=30
+
+filetype plugin indent on
+syntax enable
+
+" Colours & Highlighting
+colorscheme solarized
+set background=light
+highlight SpellBad cterm=underline,bold ctermfg=black ctermbg=red
+highlight SpellCap cterm=underline,bold ctermfg=black ctermbg=yellow
+highlight SpellLocal cterm=underline,bold ctermfg=black ctermbg=blue
+highlight SpellRare cterm=underline,bold ctermfg=black ctermbg=white
+highlight ColorColumn ctermfg=black ctermbg=yellow
+
+map <LocalLeader>s :syn sync fromstart<CR>
+
+" Move through long lines as they were short multiple lines
+map j gj
+map <down> j
+map k gk
+map <up> k
+
+command! -nargs=1 Silent
+ \ | execute ':silent '.<q-args>
+ \ | execute ':redraw!'
+
+command! -nargs=0 Smake
+ \ | execute ':Silent make'
+
+" Syntastic
+set statusline+=%#warningmsg#
+set statusline+=%{SyntasticStatuslineFlag()}
+set statusline+=%*
+
+let g:syntastic_always_populate_loc_list = 1
+let g:syntastic_auto_loc_list = 1
+let g:syntastic_check_on_open = 1
+let g:syntastic_check_on_wq = 0
+
+let g:syntastic_python_checkers = ['pylint', 'pep8']
+let g:syntastic_python_pylint_exec = 'pylint.sh'
+let g:syntastic_python_pylint_args = '--guess'
+
+let g:syntastic_mode_map = {
+ \ "mode": "passive",
+ \ "passive_filetpyes": [] }
+
+" VimTeX
+let g:vimtex_latexmk_callback = 0
+let g:vimtex_latexmk_options = '-pdf -shell-escape -enable-pipes'
+let g:vimtex_latexmk_file_line_error = 0
+let g:tex_flavor='latex'
+
+" ARM Assembly
+let asmsyntax='armasm'
+let filetype_inc='armasm'
+
+" Mutt
+au BufRead /tmp/mutt-* set tw=72
+
+" X clipboard manipulation using xsel
+" See: http://vim.wikia.com/wiki/Accessing_the_system_clipboard
+" Use :cz in visual mode to copy to clipboard, :pz for pasting
+" x instead of z for primary selection, v for secondary selection
+command! -range Cz :silent :<line1>,<line2>w !xsel -i -b
+command! -range Cx :silent :<line1>,<line2>w !xsel -i -p
+command! -range Cv :silent :<line1>,<line2>w !xsel -i -s
+cabbrev cv Cv
+cabbrev cz Cz
+cabbrev cx Cx
+
+command! -range Pz :silent :r !xsel -o -b
+command! -range Px :silent :r !xsel -o -p
+command! -range Pv :silent :r !xsel -o -s
+
+cabbrev pz Pz
+cabbrev px Px
+cabbrev pv Pv
+
+" For syntax definition debugging
+"function! SyntaxItem()
+" return synIDattr(synID(line("."),col("."),1),"name")
+"endfunction
+"set statusline+=%{SyntaxItem()}
+"set laststatus=2