aboutsummaryrefslogtreecommitdiff
path: root/vim/vimrc.symlink
blob: 181c0604dc8372b512166623119ee4cf255862dc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
" 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 'camilstaps/vim-clean'         " Clean
Plugin 'camilstaps/vim-fuspel'        " Fuspel
Plugin 'camilstaps/vim-bb'            " Blackboard feedback

Plugin 'alisdair/vim-armasm'          " ARM Assembly

" 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

filetype plugin indent on
syntax enable

" Colours & Highlighting
colorscheme morning
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