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
122
123
124
|
"if &columns < 100
" set columns=100
"end
"if &lines < 35
" set lines=35
"end
" basics
set nocompatible " use vim defaults
set mouse=a " make sure mouse is used in all cases.
set fileformat=unix " force unix-style line breaks
set tabpagemax=30 " maximum number of tabs
" tabs and indenting
"set expandtab " insert spaces instead of tab chars
set tabstop=8 " a n-space tab width
set shiftwidth=8 " allows the use of < and > for VISUAL indenting
set softtabstop=0 " counts n spaces when DELETE or BCKSPCE is used
set fileencoding=utf-8
if has("autocmd")
filetype plugin indent on " indents behaviour depends on type
else
set autoindent " auto indents next new line
endif
set cinoptions=t0,g0,(0,:0
" searching
set nohlsearch " dont highlight all search results
set incsearch " increment search
set ignorecase " case-insensitive search
set smartcase " upper-case sensitive search
" formatting
set backspace=2 " full backspacing capabilities
set history=100 " 100 lines of command line history
set cmdheight=1 " command line height
set laststatus=2 " occasions to show status line, 2=always.
set ruler " ruler display in status line
set showmode " show mode at bottom of screen
set showcmd " display some infos (in visual)
set number " show line numbers
set nobackup " disable backup files (filename~)
set showmatch " show matching brackets (),{},[]
set ww=<,>,[,] " whichwrap -- left/right keys can traverse up/down
" search tags-file in the opened file's dir and if not found recursiveley
set tags=./tags;
" syntax highlighting
syntax on " enable syntax highlighting
" set templatepath .vim/plugin/templates.vim
let g:templatePath = "~/.config/vim/templates"
" highlight redundant whitespaces and tabs.
"highlight RedundantSpaces ctermbg=red guibg=red
"match RedundantSpaces /\s\+$\| \+\ze\t\|\t/
" gvim settings
set guioptions=aeicv
set guifont=Dejavu\ Sans\ Mono\ 10 " backslash spaces
"set lines=30
"set columns=95
" F5 toggles spell checking
:map <F5> :setlocal spell! spelllang=de_de<cr>
:imap <F5> <C-o>:setlocal spell! spelllang=de_de<cr>
:map <F9> :make<cr>
:imap <F9> <C-o>:make<cr>
" common save shortcuts ~ dont work with vim :(
"inoremap <C-s> <esc>:w<cr>a
"nnoremap <C-s> :w<cr>
" Mapping for Copy/Paste
map <C-x> "+x
map <C-y> "+y
map <C-p> "+p
" enter ex mode with semi-colon
nnoremap ; :
vnoremap ; :
" strip ^M linebreaks from dos formatted files
map M :%s/
$//g
" mutt rules
autocmd BufRead /tmp/mutt-* set tw=72 spell
" load build-in man page viewer command
runtime ftplugin/man.vim
" set bash syntax - pressed v in bash-vi mode
au BufRead,BufNewFile /tmp/bash-* let is_bash=1|setfiletype sh
" mesa project specific settings
autocmd BufNewFile,BufRead /home/ben/src/mesa*/*{c,h,cpp} set sw=3 ts=8 sts=3 et
autocmd BufNewFile,BufRead /home/ben/src/mesa*/Makefile.* set ft=make
autocmd BufNewFile,BufRead /home/ben/src/mesa*/SCons* set ft=python sw=4 sts=4 ts=4 et
autocmd BufNewFile,BufRead /home/ben/src/mesa*/configure.ac set sw=4 sts=4 ts=8 et
" wayland project specific settings
autocmd BufNewFile,BufRead /home/ben/src/wayland/*xml set sw=2 ts=8 sts=2 et
" settings for web projects
autocmd BufNewFile,BufRead /home/ben/htdocs/mutti-web/*{xsl,xml} set sw=2 ts=8 sts=2 et
" vimmanpager stuff
" disable line numbers when using vim as manpager
autocmd FileType man set nonumber nohlsearch nohlsearch
" its important that viminfo is set at the end
" some options seem to overwrite this (history..)
set viminfo+=n$XDG_CACHE_HOME/vim/viminfo
set dir=$XDG_CACHE_HOME/vim/swp/
set runtimepath=$XDG_DATA_HOME/vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after
colorscheme tango
set background=light
autocmd FileType tex colorscheme delek
set spellfile=$XDG_DATA_HOME/vim/spell.de.add,$XDG_DATA_HOME/vim/spell.en.add
|