Autocommit of file /home/julien/.dotfiles/vim/.vim/bundle/vimtodo/test/test006.in...
[dotfiles/vim.git] / .vimrc
1 " ************************************************************************
2 "  G E N E R A L   S T U F F
3 "
4
5 syntax on
6 " needed for pathogen to work as expected
7 filetype off
8
9 " Load pathogen plugin manager
10 " http://www.vim.org/scripts/script.php?script_id=2332
11 "call pathogen#runtime_append_all_bundles() 
12 call pathogen#infect()
13
14 set smartindent         "Turn on smart indent
15 set tabstop=4           "set tab character to 4 characters
16 set expandtab           "turn tabs into whitespace
17 set shiftwidth=4        "indent width for autoindent
18
19 " Add line numbering
20 set number
21 "set numberwidth=4
22
23 " Highlight current line
24 set cursorline  
25
26 set formatoptions=tcqn2
27
28 set ruler
29
30 set modeline
31
32 " Avoids to add 2 spaces after dots when joining lines
33 set nojoinspaces
34
35 " Makes the unnamed yank register global
36 " avoiding use of "+ prefix for y / p / d / c
37 "set clipboard+=unnamed
38
39 " stop indenting when pasting
40 nnoremap <f7> :set invpaste paste?<CR>
41 set pastetoggle=<f7>
42 set showmode
43
44 " Disable auto-identing
45 nnoremap <f8> :setl noai nocin nosi inde=<CR>
46 " Re-enable auto-identing
47 nnoremap <f9> :setl ai cin si<CR>
48
49 " GUI options
50 if has('gui_running')
51     set guifont=Monospace\ 10
52     :winpos 20 20
53     :set lines=40
54     :set columns=160
55 endif
56
57 " vimtodo options
58 " http://www.vim.org/scripts/script.php?script_id=3264
59 let g:todo_done_file="DONE"
60
61 " spell checking
62 setlocal spell spelllang=fr,en
63 set nospell
64
65 " Allows command completion (using <tab>)
66 :set wildmenu
67
68
69 " ************************************************************************
70 "  C O L O R   T H E M E   O P T I O N S
71 "
72
73 " solarized optons
74 "let g:solarized_termtrans=1
75 let g:solarized_contrast="high"
76 set background=dark
77
78 " sets theme
79 colorscheme solarized
80
81 " Toggles background (dark vs. light theme)
82 if !exists("no_plugin_maps") && !hasmapto('<Plug>ToggleBackground')
83     call togglebg#map("<F5>")
84 endif
85
86
87 " ************************************************************************
88 " B E G I N  A U T O C O M M A N D S
89 "
90
91 if has("autocmd")
92
93     " Enable file type detection.
94     " Use the default filetype settings, so that mail gets 'tw' set to 72,
95     " 'cindent' is on in C files, etc.
96     " Also load indent files, to automatically do language-dependent indenting.
97     filetype plugin indent on
98
99     " Add an autocommand to update serial in bind zone files
100     command Soa :%s/\(2[0-9]\{7}\)\([0-9]\{2}\)\(\s*;\s*serial\)/\=UpdateDNSSerialZone(submatch(1), submatch(2)) . submatch(3)/gc
101     autocmd BufWritePre /etc/bind/db.* Soa
102
103 endif
104
105
106 " ************************************************************************
107 "  F U N C T I O N S
108 "
109
110 " This function is used to update the serial in the SOA from a bind file
111 function! UpdateDNSSerialZone(date, num)
112     if (strftime("%Y%m%d") == a:date)
113         return a:date . a:num+1
114     endif
115     return strftime("%Y%m%d") . '01'
116 endfunction