1 set nocompatible                            " VI kompatibler Modus aus
  2 
  3 set backup                                  " make backup files
  4 set backupdir=/home/andreas/data/vim/backup " path to backup files
  5 
  6 lcd /home/andreas/data/vimwiki              " Standardpfad setzen
  7 
  8 if has('gui_running')
  9     set co=140                              " set window size, nur für GUI
 10     set lines=50
 11     set guioptions-=T                       " Werkzeugleiste in gvim aus
 12     set guioptions-=m                       " Menüleiste in gvim aus
 13     set guitablabel=%N/\ %t\ %M
 14     colorscheme lucius
 15     " colorscheme pablo
 16 else
 17     " colorscheme default
 18     " colorscheme darkblue
 19     colorscheme desert
 20     " set background=light
 21     " set background=blue
 22     ""set tabline=%N/\ %t\ %M
 23 endif
 24 
 25 let mapleader = ";"                         " Stellt den Standard Leader auf , statt \
 26 
 27 set switchbuf=usetab,newtab                 " check whether choosen buffer already open
 28                                             " open a choosen buffer in new tab, not in current window
 29 set colorcolumn=80                          " highlight the set column in window
 30 
 31 set smartindent                             " Automatische Einrückung (Globale Konfiguration)
 32 set smarttab
 33 set shiftwidth=4
 34 set tabstop=4
 35 set softtabstop=4
 36 set expandtab
 37 set autoindent
 38 "set fo+=n                           " Sorgt dafür, das in - Listen bei einer
 39                                     " neuen Zeile eingerückt wird. Einfach 
 40                                     " Eintrag in der Zeile zu Ende schreiben
 41                                     " und dann gqq ausführen.
 42 
 43 
 44 set wrap                            " überlange Zeile umbrechen, mit :set nowrap ausschalten
 45 
 46 set nojoinspaces                            " Ein Leerzeichen nach .,?,! beim Zusammenfügen von zwei Zeilen
 47 
 48 set title                                   " Name der aktuellen Datei in Fenster-Titel-Leiste
 49 
 50 set cryptmethod=blowfish                    " Verschlüsselung mit blowfish einschalten
 51 
 52 set backspace=indent,eol,start              " make backspace a more flexible
 53 
 54 set number                                  " Zeilennummern einschalten
 55 
 56 set noerrorbells                            " Bei Fehlereingaben nicht piepsen
 57 set vb                                      " set visual bell -- i hate that damned beeping
 58 
 59 set autoread                                " Set to auto read when a file is changed from the outside
 60 
 61 set report=0                                " Anzahl geänderter Zeilen in Statuszeile immer anzeigen
 62 set laststatus=2                            " always show status line (default=1)
 63 
 64 " %= = sep. betweeen l/r-aligned      %n = buffer number
 65 " %F = full path to file              %y = type of file
 66 " %m = modified                       %r = readonly
 67 " %b = value of byte                  %B = value of byte in HEX
 68 set statusline=[%n]\ %F%y%m%r\ %=\ %b\ 0x%B\ \ \ %c,%l/%L\ \ %P
 69 
 70 set showcmd                                 " Show the current command in the lower right corner
 71 set showmode                                " Edit Modus anzeigen
 72 set lazyredraw                              " Don't update the display while executing macros
 73 set wildmenu                                " Make the command-line completion better
 74 
 75 set wrapscan                                " Suche über Dateianfang/Ende hinaus fortsetzen
 76 set ignorecase                              " Groß/Kleinschreibung bei Suche ignorieren
 77 ""set wrapmargin=10                           " Automatischer Zeilenumbruch ab 10 Zeichen vor Zeilenende
 78 
 79 set hlsearch                                " Suchergebnisse markieren
 80 set incsearch                               " Sofort während der Eingabe suchen
 81 
 82 set scrolloff=10                            " Keep 10 lines (top/bottom) for scope
 83 set sidescrolloff=10                        " Keep 5 lines at the sizei
 84 
 85 set ruler                                   " Zeile/Spalte der Cursorposition in Statuszeile anzeigen
 86 
 87 syntax on                                   " Syntaxcoloring einschalten, abhängig von Extension
 88 
 89 set hidden                                  " Buffer beim Verlassen immer speichern
 90 
 91 set foldmethod=marker                       " folds auf marker setzen
 92                                             " Marker sind {{{ und }}}
 93 set virtualedit=block                       " visual edit kann auch dahin, wo kein char ist!
 94 
 95 set cursorline                              " highlight current line
 96 " set cursorcolumn                            " highlight the current column
 97 set nocursorcolumn
 98 
 99 set enc=utf-8                               " UTF-8 als Default-Encoding
100 
101 set nospell                                 " Rechtschreibprüfung aus"
102 set spelllang=de,en                         " Rechtschreibprüfung für Deutsch und Englisch
103 
104 set fileformats=unix,dos
105 filetype plugin on
106 
107 " settings for tSkeleton
108 let g:tskelDateFormat    = '%d.%m.%Y'
109 let g:tskelUserName      = "Andreas Kruse"
110 let g:tskelUserEmail     = "leak@online.ms"
111 
112 " Mapping um mit Strg+Tab und Strg+Shift+Tab durch die Buffer zu wandern
113 map <c-TAB> :bn<CR>
114 map <c-s-TAB> :bp<CR>
115 
116 " This appends the current date and time after the cursor 
117 map <F2> a<C-R>=strftime("%c")<CR><Esc>
118 " to replace current word to date in normal mode
119 map <F3> cw<C-R>=strftime("%d.%m.%Y")<CR><ESC>
120 " set the current filepath to lcd
121 map <F4> <ESC>:lcd %:p:h<CR><ESC>
122 " to get date in insert mode
123 imap gdate <C-R>=strftime("%d.%m.%Y")<CR>
124 " to get time in insert mode
125 imap gtime <C-R>=strftime("%X")<CR>
126 " from insert mode to normal mode with typing yy
127 imap yy <ESC>:w<CR>
128 " type in my name in insert mode
129 imap akr Andreas Kruse
130 " open file under Cursor in new tab
131 " nnoremap gf <C-W>gf
132 " go to tab prior, same as gT
133 nnoremap gr <C-PageUp>
134 " start/togglee NERDTree in normal and in insert mode
135 " in both cases the file will be saved first
136 imap TT <ESC>:w<CR>:NERDTreeToggle<CR>
137 map TT <ESC>:w<CR>:NERDTreeToggle<CR>
138 
139 " autocomplete parenthesis, brackets and braces (visual and insert mode)
140 inoremap ( ()<Left>
141 inoremap [ []<Left>
142 inoremap { {}<Left>
143 "
144 vnoremap ( s()<Esc>P<Right>%
145 vnoremap [ s[]<Esc>P<Right>%
146 vnoremap { s{}<Esc>P<Right>%
147 
148 " autocomplete quotes (visual and insert mode) 
149 " switched off for insert mode
150 "inoremap ` ``<Left>
151 "inoremap " ""<Left>
152 "inoremap ' ''<Left>
153 
154 "vnoremap ` s``<Esc>P<Right>%
155 "vnoremap " s""<Esc>P<Right>%
156 "vnoremap ' s''<Esc>P<Right>%
157 
158 " vimwiki settings
159 " Wiki files location:
160 let g:vimwiki_list = [{'path': '~/data/vimwiki/', 'path_html': '~/data/vimwiki/html/', 'auto_export': 1, 'maxhi': 0}]
161 " enable vimwiki folding
162 let g:vimwiki_folding=1
163 " enable list subitems folding
164 let g:vimwiki_fold_lists=1
165 " use firefox as browser
166 let g:vimwiki_browsers=['/usr/bin/firefox']
167 
168 
169 " Start shell (Linux) on F5
170 autocmd FileType sh map <F5> :w<CR>:!bash "%"<CR>
171 " Start Perl (Windows) on F5
172 " autocmd FileType perl map <F5> :w<CR>:!C:/Perl/bin/perl.exe "%"<CR>
173 " Start Perl (Unix) on F5
174 autocmd FileType perl map <F5> :w<CR>:!perl "%"<CR>
175 
176 "--------------------------------------------------------------------------------"
177 "Functions"
178 
179 " add my functions path to path
180 set path=.,/home/andreas/.vim/functions
181 
182 " WordPress Blog
183 :so /home/andreas/.vim/functions/VimRepressSettings.vim
184 " :Ssv :Csv :Tsv
185 :so /home/andreas/.vim/functions/CSVH.vim
186 
187 "--------------------------------------------------------------------------------"
188 "Kommando beim Start ausführen"
189 " no search highlight at start"
190 :nohls
191