All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
3 " obtained from the output of :options, then postprocessed:
5 " :%s/^ *[[:digit:]]\+/"""
9 " /^\([^[:space:]"].*\)\?$/
19 " behave very Vi compatible (not advisable)
24 " list of flags to specify Vi compatibility
28 " use Insert mode as the default mode
32 " paste mode, insert typed text literally
36 " key sequence to toggle paste mode
41 " list of directories used for runtime files and plugins
42 " set rtp=/home/madduck/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vimcurrent,/usr/share/vim/vimfiles/after,/home/madduck/.vim/after
45 " name of the main help file
46 " set hf=/usr/share/vim/vimcurrent/doc/help.txt
48 """ moving around, searching and patterns
51 " list of flags specifying which commands wrap to another line
57 " many jump commands move the cursor to the first non-blank
62 " nroff macro names that separate paragraphs
63 " set para=IPLPPPQPP\ LIpplpipbp
66 " nroff macro names that separate sections
67 " set sect=SHNHH\ HUnhsh
70 " list of directory names used for file searching
71 " (global or local to buffer)
72 " set pa=.,/usr/include,,
75 " list of directory names used for :cd
79 " search commands wrap around the end of the buffer
84 " show match for partly typed search command
89 " change the way backslashes are used in search patterns
93 " ignore case when using a search pattern
98 " override 'ignorecase' when pattern has upper case characters
103 " What method to use for changing case of letters
104 " set cmp=internal,keepascii
107 " maximum amount of memory in Kbyte used for pattern matching
111 " pattern for a macro definition line
112 " (global or local to buffer)
113 " set def=^\\s*#\\s*define
116 " pattern for an include-file line
118 " set inc=^\\s*#\\s*include
121 " expression used to transform an include line to a file name
128 " use binary searching in tags files
132 " number of significant characters in a tag name or zero
136 " list of file names to search for tags
137 " (global or local to buffer)
138 " set tag=./tags,./TAGS,tags,TAGS
141 " file names in a tags file are relative to the tags file
145 " a :tag command will use the tagstack
149 " when completing tags in Insert mode show more info
153 " command for executing cscope
157 " use cscope for tag commands
161 " 0 or 1; the order in which ":cstag" performs a search
165 " give messages when adding a cscope database
166 " set nocsverb csverb
169 " how many components of the path to show
173 " When to open a quickfix window for cscope
179 " number of lines to scroll for CTRL-U and CTRL-D
184 " number of screen lines to show around the cursor
194 " wrap long lines at a character in 'breakat'
197 " does not work with autocmd set list/nolist below
200 " which characters might cause a line break
201 " set brk=\ \ !@*-+;:,./?
204 " string to put before wrapped screen lines
208 " minimal number of columns to scroll horizontally
212 " minimal number of columns to keep left and right of the cursor
217 " include "lastline" to show the last line even if it doesn't fit
218 " include "uhex" to show unprintable characters as a hex number
223 " characters to use for the status line, folds and filler lines
224 " set fcs=vert:\|,fold:-
227 " number of lines used for the command-line
231 " width of the display
235 " number of lines in the display
239 " don't redraw while executing macros
244 " delay in msec for each char written to the display
249 " show <Tab> as ^I and end-of-line as $
255 " list of strings used for list mode
257 set lcs=tab:⇝·,trail:·
260 " show the line number for each line
265 " number of columns to use for the line number
269 """ syntax, highlighting and spelling
272 " "dark" or "light"; the background color brightness
276 " type of file; triggers the FileType event when set
281 " name of syntax highlighting used
286 " maximum column to look for syntax items
291 " which highlighting to use for various occasions
292 " set hl=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine
295 " highlight all matches for the last used search pattern
300 " highlight the screen column of the cursor
305 " highlight the screen line of the cursor
310 " highlight spelling mistakes
315 " list of accepted languages
320 " file that "zg" adds good words to
325 " pattern to locate the end of a sentence
327 " set spc=[.?!]\\_[\\])'\"\ \ ]\\+
331 " methods used to suggest corrections
335 " amount of memory used by :mkspell before compressing
336 " set msm=460000,2000,500
341 " 0, 1 or 2; when to use a status line for the last window
345 " alternate format to be used for a status line
349 " make all windows the same size when adding/removing windows
353 " in which direction 'equalalways' works: "ver", "hor" or "both"
357 " minimal number of lines used for the current window
361 " minimal number of lines used for any window
365 " keep the height of the window
370 " keep the width of the window
375 " minimal number of columns used for the current window
379 " minimal number of columns used for any window
383 " initial height of the help window
387 " default height for the preview window
391 " identifies the preview window
396 " don't unload a buffer when no longer shown in a window
400 " "useopen" and/or "split"; which window to use when jumping
405 " a new window is put below the current one
409 " a new window is put right of the current one
413 " this window scrolls together with other bound windows
418 " "ver", "hor" and/or "jump"; list of options for 'scrollbind'
421 """ multiple tab pages
424 " 0, 1 or 2; when to use a tab pages line
428 " maximum number of tab pages to open for -p and "tab all"
432 " custom tab pages line
438 " name of the used terminal
439 " set term=rxvt-unicode
443 " set tty=rxvt-unicode
446 " check built-in termcaps first
450 " terminal connection is fast
454 " terminal that requires extra redrawing
458 " recognize keys that start with <Esc> in Insert mode
462 " minimal number of lines to scroll at a time
466 " maximum number of lines to use scrolling instead of redrawing
470 " show info in the window title
475 " percentage of 'columns' used for the window title
479 " when not empty, string to be used for the window title
483 " string to restore the title to when exiting Vim
484 " set titleold=Thanks\ for\ flying\ Vim
487 " set the text of the icon for this window
491 " when not empty, text for the icon of this window
497 " list of flags for using the mouse
501 " "extend", "popup" or "popup_setpos"; what the right
502 " mouse button is used for
506 " maximum time in msec to recognize a double-click
510 " "xterm", "xterm2", "dec" or "netterm"; type of mouse
516 " list of items that control the format of :hardcopy output
520 " name of the printer to be used for :hardcopy
524 " expression used to print the PostScript file for :hardcopy
525 " set pexpr=system('lpr'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -P'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
526 set pexpr=system('lp'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -d'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
529 " name of the font to be used for :hardcopy
533 " format of the header used for :hardcopy
534 " set pheader=%<%f%h%m%=Page\ %N
537 " encoding used to print the PostScript file for :hardcopy
541 " the CJK character set to be used for CJK output from :hardcopy
545 " list of font names to be used for CJK output from :hardcopy
548 """ messages and info
551 " add 's' flag in 'shortmess' (don't show search message)
555 " list of flags to make messages shorter
557 set shortmess=atTWoOI
560 " show (partial) command keys in the status line
564 " display the current mode in the status line
568 " show cursor position below each window
573 " alternate format to be used for the ruler
574 " set ruf=%20(%=%-14(%l,%c%V%)\ %P%)
577 " threshold for reporting number of changed lines
581 " the higher the more messages are given
585 " file to write messages in
589 " pause listings when the screen is full
593 " start a dialog when a command fails
597 " ring the bell for error messages
601 " use a visual bell instead of beeping
605 " list of preferred languages for finding help
611 " "old", "inclusive" or "exclusive"; how selecting text behaves
615 " "mouse", "key" and/or "cmd"; when to start Select mode
616 " instead of Visual mode
620 " "startsel" and/or "stopsel"; what special keys can do
626 " maximum number of changes that can be undone
630 " changes have been made and not written to a file
635 " buffer is not to be written
640 " changes to the text are not possible
645 " line length above which to break a line
651 " margin from the right in which to break a line
656 " specifies what <BS>, CTRL-W, etc. can do in Insert mode
658 set bs=indent,eol,start
661 " definition of what comment lines look like
663 " set com=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
666 " list of flags that tell how automatic formatting works
672 " pattern to recognize a numbered list
674 " set flp=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
675 let &flp='^\v\s*((\a|\d+)[\]:.)}\t/-]\s|[-\*.·→+]\s)\s*'
678 " expression used for "gq" to format lines
683 " specifies how Insert mode completion works for CTRL-N and CTRL-P
685 " set cpt=.,w,b,u,t,i
688 " whether to use a popup menu for Insert mode completion
689 " set cot=menu,preview
692 " maximum height of the popup menu
696 " user defined function for Insert mode completion
701 " function for filetype-specific Insert mode completion
706 " list of dictionary files for keyword completion
707 " (global or local to buffer)
711 " list of thesaurus files for keyword completion
712 " (global or local to buffer)
716 " adjust case of a keyword completion match
722 " enable entering digraps with c1 <BS> c2
727 " the "~" command behaves like an operator
732 " function called for the"g@" operator
736 " When inserting a bracket, briefly jump to its match
740 " tenth of a second to show a match for 'showmatch'
744 " list of pairs that match for the "%" command
746 " set mps=(:),{:},[:]
749 " use two spaces after '.' when joining a line
754 " "alpha", "octal" and/or "hex"; number formats recognized for
755 " CTRL-A and CTRL-X commands
759 """ tabs and indenting
762 " number of spaces a <Tab> in the text stands for
766 " You could set the 'tabstop' option to 2. However, if you edit the file
767 " another time, with 'tabstop' set to the default value of 8, it will look
768 " wrong. In other programs and when printing the indent will also be
769 " wrong. Therefore it is recommended to keep 'tabstop' at eight all the
770 " time. That's the standard value everywhere.
775 " number of spaces used for each step of (auto)indent
781 " a <Tab> in an indent inserts 'shiftwidth' spaces
786 " if non-zero, number of spaces to insert for a <Tab>
792 " round to 'shiftwidth' for "<<" and ">>"
797 " expand <Tab> to spaces in Insert mode
803 " automatically set the indent of a new line
809 " do clever autoindenting
814 " enable specific indenting for C code
819 " options for C-indenting
824 " keys that trigger C-indenting in Insert mode
826 " set cink=0{,0},0),:,0#,!^F,o,O,e
829 " list of words that cause more C-indent
831 " set cinw=if,else,while,do,for,switch
834 " expression used to obtain the indent of a line
839 " keys that trigger indenting with 'indentexpr' in Insert mode
841 " set indk=0{,0},:,0#,!^F,o,O,e
844 " Copy whitespace for indenting from previous line
850 " Preserve kind of whitespace when changing indent
853 """ set pi this ABORTS < 1:7.1-135+1 (see #446268)
864 " words that change how lisp indenting works
865 " set lw=defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etypecase,eval-when,labels,macrolet,multiple-value-bind,multiple-value-call,multiple-value-prog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,define-condition,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,store-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,with-accessors,with-accessors*,defclass,defmethod,print-unreadable-object
870 " set to display all folds open
875 " folds with a level higher than this number will be closed
880 " value for 'foldlevel' when starting to edit a file
884 " width of the column used to indicate folds
889 " expression used to display the text of a closed fold
894 " set to "all" to close a fold when the cursor leaves it
898 " specifies for which commands a fold will be opened
899 " set fdo=block,hor,mark,percent,quickfix,search,tag,undo
902 " minimum number of screen lines for a fold to be closed
907 " template for comments; used to put the marker in
911 " folding type: "manual", "indent", "expr", "marker" or "syntax"
917 " expression used when 'foldmethod' is "expr"
922 " used to ignore lines when 'foldmethod' is "indent"
927 " markers used when 'foldmethod' is "marker"
932 " maximum fold depth for when 'foldmethod is "indent" or "syntax"
939 " use diff mode for the current window
944 " options for using diff mode
948 " expression used to obtain a diff file
952 " expression used to patch a file
958 " maximum depth of mapping
962 " recognize mappings in mapped keys
966 " allow timing out halfway into a mapping
970 " allow timing out halfway into a key code
971 " set nottimeout ttimeout
974 " time in msec for 'timeout'
978 " time in msec for 'ttimeout'
981 """ reading and writing files
984 " enable using settings from modelines when reading a file
990 " number of lines to check for modelines
994 " binary file editing
999 " last line in the file has an end-of-line
1004 " Prepend a Byte Order Mark to the file
1009 " end-of-line format: "dos", "unix" or "mac"
1014 " list of file formats to look for when editing a file
1018 " obsolete, use 'fileformat'
1023 " obsolete, use 'fileformats'
1027 " writing files is allowed
1031 " write a backup file before overwriting a file
1035 " keep a backup after overwriting a file
1039 " patterns that specify for which files a backup is not made
1043 " whether to make the backup as a copy or rename the existing file
1047 " list of directories to put backup files in
1048 " set bdir=.,/home/madduck/tmp,/home/madduck/
1051 " file name extension for the backup file
1055 " automatically write a file when leaving a modified buffer
1060 " as 'autowrite', but works with more commands
1065 " always write without asking for confirmation
1069 " automatically read a file when it was modified outside of Vim
1070 " (global or local to buffer)
1075 " keep oldest version of a file; specifies file name extension
1079 " forcibly sync the file to disk after writing it
1083 " use 8.3 file names
1090 " list of directories for the swap file
1091 " set dir=.,/home/madduck/tmp,/var/tmp,/tmp
1092 set dir=.,$TMPDIR//,/var/tmp//,/tmp//
1095 " use a swap file for this buffer
1100 " "sync", "fsync" or empty; how to flush a swap file to disk
1105 " number of characters typed to cause a swap file update
1109 " time in msec after which the swap file will be updated
1114 " maximum amount of memory in Kbyte used for one buffer
1118 " maximum amount of memory in Kbyte used for all buffers
1121 """ command line editing
1124 " how many command lines are remembered
1129 " key that triggers command-line expansion
1133 " like 'wildchar' but can also be used in a mapping
1137 " specifies how command line completion works
1142 " list of file name extensions that have a lower priority
1143 " set su=.bak,~,.o,.h,.info,.swp,.obj
1146 " list of file name extensions added when searching for a file
1151 " list of patterns to ignore files for file name completion
1153 set wig=*.o,*.pyc,*.pyo,*~,*.bk,*.bak
1156 " command-line completion shows a list of matches
1160 " key used to open the command-line window
1164 " height of the command-line window
1167 """ executing external commands
1170 " name of the shell program used for external commands
1174 " character(s) to enclose a shell command in
1178 " like 'shellquote' but include the redirection
1182 " argument for 'shell' to execute a command
1186 " used to redirect command output to a file
1190 " use a temp file for shell commands instead of using a pipe
1194 " program used for "=" command
1195 " (global or local to buffer)
1199 " program used to format lines with "gq" command
1203 " program used for the "K" command
1207 " warn when using a shell command and a buffer has changes
1211 """ running make and jumping to errors
1214 " name of the file that contains error messages
1218 " list of formats for error messages
1219 " (global or local to buffer)
1220 " set efm=%*[^\"]\"%f\"%*\\D%l:\ %m,\"%f\"%*\\D%l:\ %m,%-G%f:%l:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,%-G%f:%l:\ for\ each\ function\ it\ appears\ in.),%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',%D%*\\a:\ Entering\ directory\ `%f',%X%*\\a:\ Leaving\ directory\ `%f',%DMaking\ %*\\a\ in\ %f,%f\|%l\|\ %m
1223 " program used for the ":make" command
1224 " (global or local to buffer)
1228 " string used to put the output of ":make" in the error file
1229 " set sp=2>&1\|\ tee
1232 " name of the errorfile for the 'makeprg' command
1236 " program used for the ":grep" command
1237 " (global or local to buffer)
1238 " set gp=grep\ -n\ $*\ /dev/null
1241 " list of formats for output of 'grepprg'
1242 " set gfm=%f:%l:%m,%f:%l%m,%f\ \ %l%m
1244 """ language specific
1247 " specifies the characters in a file name
1248 " set isf=@,48-57,/,.,-,_,+,,,#,$,%,~,=
1251 " specifies the characters in an identifier
1252 " set isi=@,48-57,_,192-255
1255 " specifies the characters in a keyword
1260 " specifies printable characters
1264 " specifies escape characters in a string
1269 " display the buffer right-to-left
1274 " When to edit the command-line right-to-left
1279 " Insert characters backwards
1283 " Allow CTRL-_ in Insert and Command-line mode to toggle 'revins'
1287 " the ASCII code for the first letter of the Hebrew alphabet
1291 " use Hebrew keyboard mapping
1295 " use phonetic Hebrew keyboard mapping
1299 " use Farsi as the second language when 'revins' is set
1303 " use Farsi keyboard mapping
1307 " Prepare for editing Arabic text
1312 " Perform shaping of Arabic characters
1313 " set noarshape noarshape
1316 " Terminal will perform bidi handling
1320 " name of a keyboard mappping
1324 " translate characters for Normal mode
1328 " in Insert mode: 1: use :lmap; 2: use IM; 0: neither
1333 " entering a search pattern: 1: use :lmap; 2: use IM; 0: neither
1337 """ multi-byte characters
1340 " character encoding used in Vim: "latin1", "utf-8"
1341 " "euc-jp", "big5", etc.
1345 " character encoding for the current file
1350 " automatically detected character encodings
1351 " set fencs=ucs-bom,utf-8,default,latin1
1354 " character encoding used by the terminal
1357 " charconvert expression
1358 " used for character encoding conversion
1362 " Delete combining (composing) characters on their own
1366 " Maximum number of combining (composing) characters displayed
1370 " Width of ambiguous width characters
1376 " when to use virtual editing: "block", "insert" and/or "all"
1380 " list of autocommand events which are to be ignored
1384 " load plugin scripts when starting up
1389 " enable reading .vimrc/.exrc/.gvimrc in the current directory
1393 " safer working with script files in the current directory
1394 " set nosecure secure
1398 " use the 'g' flag for ":substitute"
1402 " 'g' and 'c' flags of ":substitute" toggle
1406 " maximum depth of function calls
1410 " list of words that specifies what to put in a session file
1411 " set ssop=blank,buffers,curdir,folds,help,options,tabpages,winsize
1414 " list of words that specifies what to save for :mkview
1415 " set vop=folds,options,cursor
1418 " directory where to store files with :mkview
1419 " set vdir=/home/madduck/.vim/view
1420 set vdir=$VARDIR/vim/view
1423 " list that specifies what to write in the viminfo file
1425 set vi=<1000,'1000,\"1000,:100,/100,@100,f1,%,!,h,n$VARDIR/vim/viminfo
1428 " what happens with a buffer when it's no longer in a window
1433 " "", "nofile", "nowrite" or "quickfix": type of buffer
1438 " whether the buffer shows up in the buffer list
1443 " set to "msg" to see all error messages
1446 filetype plugin indent on
1450 autocmd BufNewFile,BufRead /etc/logcheck/*.d*/* set tw=0
1451 autocmd BufNewFile,BufRead /home/madduck/debian/pkg/logcheck/*/rulefiles/linux/*.d*/* set tw=0
1452 autocmd BufNewFile,BufRead /home/madduck/.tmp/dir????? set tw=0
1454 " jump to last known position in file (:he last-position-jump)
1455 autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g`\"zz" | endif
1457 " leave the w mark whenever a file is written
1458 autocmd BufWrite * normal mw
1460 " keep an extra backup of vimperator's ctrl-i
1461 autocmd BufWritePost */vimperator-*.tmp exe 'write ' . fnameescape((exists('$TMPDIR') ? $TMPDIR : '/tmp') . '/vimperator.ctrl-i.' . strftime('%Y.%m.%d.%H%M%S'))
1462 autocmd BufWritePost */pentadactyl.*.txt exe 'write ' . fnameescape((exists('$TMPDIR') ? $TMPDIR : '/tmp') . '/pentadactyl.ctrl-i.' . strftime('%Y.%m.%d.%H%M%S'))
1464 autocmd BufRead *.vcf set filetype=vcard
1466 " leave the i mark whenever we go idle (after updatetime)
1468 "autocmd CursorHold * normal mi
1469 "autocmd CursorHoldI * normal mi "DISABLED while broken (shifts left)
1472 " disable list mode when inserting stuff, otherwise keep it enabled, it's
1473 " useful (see also setting lcs)
1475 autocmd InsertEnter * set nolist
1476 autocmd InsertLeave * set list
1478 " flag trailing spaces as error only when not inserting
1479 augroup tsperrorinsert
1480 autocmd InsertEnter * match none /\s\+$/
1481 autocmd InsertLeave * match Error /\s\+$/
1484 if &cp | set nocp | endif
1488 " treat wrapped lines normally
1491 inoremap <Up> <C-\><C-o>gk
1494 inoremap <Down> <C-\><C-o>gj
1496 " this isn't windows, screw the F1->help key
1501 " ignore Q -- Ex mode
1505 let maplocalleader = ';'
1511 " replace fake tab chars with real ones
1512 map <Leader>ft :%s,⇝·*, ,g<CR>:nohlsearch<CR>``
1513 " replace fake spaces with real ones
1514 map <Leader>fs :%s,·, ,g<CR>:nohlsearch<CR>``
1516 map <Leader>sy :echo synIDattr(synID(line("."), col("."), 1), "name")<CR>
1518 map <Leader>/ :nohlsearch<CR>
1520 omap [{ :normal {jj<CR>
1521 nmap [{ :normal {jj<CR>
1522 omap ]} :normal }kk<CR>
1523 nmap ]} :normal }kk<CR>
1525 iab sgf Sehr geehrte Frau
1526 iab sgh Sehr geehrter Herr
1527 iab sghn Sehr geehrte Herren
1530 iab sgdh Sehr geehrte Damen und Herren
1531 iab twimc To Whom It May Concern
1534 iab fg Freundliche Grüsse
1535 iab mfg Mit freundlichen Grüssen
1536 iab mbg Mit den besten Grüssen
1537 iab hg Herzliche Grüsse
1538 iab mhg Mit herzlichen Grüssen
1539 iab mbbg Mit bundesbrüderlichen Grüssen
1540 iab mvbg Mit verbandsbrüderlichen Grüssen
1542 iab vld Vielen lieben Dank
1543 iab vhd Vielen herzlichen Dank
1548 iab mk Martin Krafft
1549 iab mfk Martin F. Krafft
1550 iab addr Hanfstaenglstraße 15
\rD–80638 München
1555 source $HOME/.vim/macros/table.vim
1557 let g:SuperTabMappingForward = '<nul>'
1558 let g:SuperTabMappingBackward = '<s-nul>'