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.
5 " obtained from the output of :options, then postprocessed:
7 " :%s/^ *[[:digit:]]\+/"""
11 " /^\([^[:space:]"].*\)\?$/
21 " behave very Vi compatible (not advisable)
26 " list of flags to specify Vi compatibility
30 " use Insert mode as the default mode
34 " paste mode, insert typed text literally
38 " key sequence to toggle paste mode
43 " list of directories used for runtime files and plugins
44 " set rtp=/home/madduck/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vimcurrent,/usr/share/vim/vimfiles/after,/home/madduck/.vim/after
47 " name of the main help file
48 " set hf=/usr/share/vim/vimcurrent/doc/help.txt
50 """ moving around, searching and patterns
53 " list of flags specifying which commands wrap to another line
59 " many jump commands move the cursor to the first non-blank
64 " nroff macro names that separate paragraphs
65 " set para=IPLPPPQPP\ LIpplpipbp
68 " nroff macro names that separate sections
69 " set sect=SHNHH\ HUnhsh
72 " list of directory names used for file searching
73 " (global or local to buffer)
74 " set pa=.,/usr/include,,
77 " list of directory names used for :cd
81 " search commands wrap around the end of the buffer
86 " show match for partly typed search command
91 " change the way backslashes are used in search patterns
95 " ignore case when using a search pattern
100 " override 'ignorecase' when pattern has upper case characters
105 " What method to use for changing case of letters
106 " set cmp=internal,keepascii
109 " maximum amount of memory in Kbyte used for pattern matching
113 " pattern for a macro definition line
114 " (global or local to buffer)
115 " set def=^\\s*#\\s*define
118 " pattern for an include-file line
120 " set inc=^\\s*#\\s*include
123 " expression used to transform an include line to a file name
130 " use binary searching in tags files
134 " number of significant characters in a tag name or zero
138 " list of file names to search for tags
139 " (global or local to buffer)
140 " set tag=./tags,./TAGS,tags,TAGS
143 " file names in a tags file are relative to the tags file
147 " a :tag command will use the tagstack
151 " when completing tags in Insert mode show more info
155 " command for executing cscope
159 " use cscope for tag commands
163 " 0 or 1; the order in which ":cstag" performs a search
167 " give messages when adding a cscope database
168 " set nocsverb csverb
171 " how many components of the path to show
175 " When to open a quickfix window for cscope
181 " number of lines to scroll for CTRL-U and CTRL-D
186 " number of screen lines to show around the cursor
196 " wrap long lines at a character in 'breakat'
199 " does not work with autocmd set list/nolist below
202 " which characters might cause a line break
203 " set brk=\ \ !@*-+;:,./?
206 " string to put before wrapped screen lines
210 " minimal number of columns to scroll horizontally
214 " minimal number of columns to keep left and right of the cursor
219 " include "lastline" to show the last line even if it doesn't fit
220 " include "uhex" to show unprintable characters as a hex number
225 " characters to use for the status line, folds and filler lines
226 " set fcs=vert:\|,fold:-
229 " number of lines used for the command-line
233 " width of the display
237 " number of lines in the display
241 " don't redraw while executing macros
246 " delay in msec for each char written to the display
251 " show <Tab> as ^I and end-of-line as $
257 " list of strings used for list mode
259 set lcs=tab:⇝·,trail:·
262 " show the line number for each line
267 " number of columns to use for the line number
271 """ syntax, highlighting and spelling
274 " "dark" or "light"; the background color brightness
278 " type of file; triggers the FileType event when set
283 " name of syntax highlighting used
288 " maximum column to look for syntax items
293 " which highlighting to use for various occasions
294 " 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
297 " highlight all matches for the last used search pattern
302 " highlight the screen column of the cursor
307 " highlight the screen line of the cursor
312 " highlight spelling mistakes
317 " list of accepted languages
322 " file that "zg" adds good words to
327 " pattern to locate the end of a sentence
329 " set spc=[.?!]\\_[\\])'\"\ \ ]\\+
333 " methods used to suggest corrections
337 " amount of memory used by :mkspell before compressing
338 " set msm=460000,2000,500
343 " 0, 1 or 2; when to use a status line for the last window
347 " alternate format to be used for a status line
351 " make all windows the same size when adding/removing windows
355 " in which direction 'equalalways' works: "ver", "hor" or "both"
359 " minimal number of lines used for the current window
363 " minimal number of lines used for any window
367 " keep the height of the window
372 " keep the width of the window
377 " minimal number of columns used for the current window
381 " minimal number of columns used for any window
385 " initial height of the help window
389 " default height for the preview window
393 " identifies the preview window
398 " don't unload a buffer when no longer shown in a window
402 " "useopen" and/or "split"; which window to use when jumping
407 " a new window is put below the current one
411 " a new window is put right of the current one
415 " this window scrolls together with other bound windows
420 " "ver", "hor" and/or "jump"; list of options for 'scrollbind'
423 """ multiple tab pages
426 " 0, 1 or 2; when to use a tab pages line
430 " maximum number of tab pages to open for -p and "tab all"
434 " custom tab pages line
440 " name of the used terminal
441 " set term=rxvt-unicode
445 " set tty=rxvt-unicode
448 " check built-in termcaps first
452 " terminal connection is fast
456 " terminal that requires extra redrawing
460 " recognize keys that start with <Esc> in Insert mode
464 " minimal number of lines to scroll at a time
468 " maximum number of lines to use scrolling instead of redrawing
472 " show info in the window title
477 " percentage of 'columns' used for the window title
481 " when not empty, string to be used for the window title
485 " string to restore the title to when exiting Vim
486 " set titleold=Thanks\ for\ flying\ Vim
489 " set the text of the icon for this window
493 " when not empty, text for the icon of this window
499 " list of flags for using the mouse
503 " "extend", "popup" or "popup_setpos"; what the right
504 " mouse button is used for
508 " maximum time in msec to recognize a double-click
512 " "xterm", "xterm2", "dec" or "netterm"; type of mouse
518 " list of items that control the format of :hardcopy output
522 " name of the printer to be used for :hardcopy
526 " expression used to print the PostScript file for :hardcopy
527 " set pexpr=system('lpr'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -P'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
528 set pexpr=system('lp'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -d'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
531 " name of the font to be used for :hardcopy
535 " format of the header used for :hardcopy
536 " set pheader=%<%f%h%m%=Page\ %N
539 " encoding used to print the PostScript file for :hardcopy
543 " the CJK character set to be used for CJK output from :hardcopy
547 " list of font names to be used for CJK output from :hardcopy
550 """ messages and info
553 " add 's' flag in 'shortmess' (don't show search message)
557 " list of flags to make messages shorter
559 set shortmess=atTWoOI
562 " show (partial) command keys in the status line
566 " display the current mode in the status line
570 " show cursor position below each window
575 " alternate format to be used for the ruler
576 " set ruf=%20(%=%-14(%l,%c%V%)\ %P%)
579 " threshold for reporting number of changed lines
583 " the higher the more messages are given
587 " file to write messages in
591 " pause listings when the screen is full
595 " start a dialog when a command fails
599 " ring the bell for error messages
603 " use a visual bell instead of beeping
607 " list of preferred languages for finding help
613 " "old", "inclusive" or "exclusive"; how selecting text behaves
617 " "mouse", "key" and/or "cmd"; when to start Select mode
618 " instead of Visual mode
622 " "startsel" and/or "stopsel"; what special keys can do
628 " maximum number of changes that can be undone
632 " changes have been made and not written to a file
637 " buffer is not to be written
642 " changes to the text are not possible
647 " line length above which to break a line
653 " margin from the right in which to break a line
658 " specifies what <BS>, CTRL-W, etc. can do in Insert mode
660 set bs=indent,eol,start
663 " definition of what comment lines look like
665 " set com=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
668 " list of flags that tell how automatic formatting works
674 " pattern to recognize a numbered list
676 " set flp=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
677 let &flp='^\v\s*%(%(\a{1,2}|\d+)[]:.)}\t/-]|[-*.·→+])\s+'
680 " expression used for "gq" to format lines
685 " specifies how Insert mode completion works for CTRL-N and CTRL-P
687 " set cpt=.,w,b,u,t,i
690 " whether to use a popup menu for Insert mode completion
691 " set cot=menu,preview
694 " maximum height of the popup menu
698 " user defined function for Insert mode completion
703 " function for filetype-specific Insert mode completion
708 " list of dictionary files for keyword completion
709 " (global or local to buffer)
713 " list of thesaurus files for keyword completion
714 " (global or local to buffer)
718 " adjust case of a keyword completion match
724 " enable entering digraps with c1 <BS> c2
729 " the "~" command behaves like an operator
734 " function called for the"g@" operator
738 " When inserting a bracket, briefly jump to its match
742 " tenth of a second to show a match for 'showmatch'
746 " list of pairs that match for the "%" command
748 " set mps=(:),{:},[:]
751 " use two spaces after '.' when joining a line
756 " "alpha", "octal" and/or "hex"; number formats recognized for
757 " CTRL-A and CTRL-X commands
761 """ tabs and indenting
764 " number of spaces a <Tab> in the text stands for
768 " You could set the 'tabstop' option to 2. However, if you edit the file
769 " another time, with 'tabstop' set to the default value of 8, it will look
770 " wrong. In other programs and when printing the indent will also be
771 " wrong. Therefore it is recommended to keep 'tabstop' at eight all the
772 " time. That's the standard value everywhere.
777 " number of spaces used for each step of (auto)indent
783 " a <Tab> in an indent inserts 'shiftwidth' spaces
788 " if non-zero, number of spaces to insert for a <Tab>
794 " round to 'shiftwidth' for "<<" and ">>"
799 " expand <Tab> to spaces in Insert mode
805 " automatically set the indent of a new line
811 " do clever autoindenting
816 " enable specific indenting for C code
821 " options for C-indenting
826 " keys that trigger C-indenting in Insert mode
828 " set cink=0{,0},0),:,0#,!^F,o,O,e
831 " list of words that cause more C-indent
833 " set cinw=if,else,while,do,for,switch
836 " expression used to obtain the indent of a line
841 " keys that trigger indenting with 'indentexpr' in Insert mode
843 " set indk=0{,0},:,0#,!^F,o,O,e
846 " Copy whitespace for indenting from previous line
852 " Preserve kind of whitespace when changing indent
855 """ set pi this ABORTS < 1:7.1-135+1 (see #446268)
866 " words that change how lisp indenting works
867 " 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
872 " set to display all folds open
877 " folds with a level higher than this number will be closed
882 " value for 'foldlevel' when starting to edit a file
886 " width of the column used to indicate folds
891 " expression used to display the text of a closed fold
896 " set to "all" to close a fold when the cursor leaves it
900 " specifies for which commands a fold will be opened
901 " set fdo=block,hor,mark,percent,quickfix,search,tag,undo
904 " minimum number of screen lines for a fold to be closed
909 " template for comments; used to put the marker in
913 " folding type: "manual", "indent", "expr", "marker" or "syntax"
919 " expression used when 'foldmethod' is "expr"
924 " used to ignore lines when 'foldmethod' is "indent"
929 " markers used when 'foldmethod' is "marker"
934 " maximum fold depth for when 'foldmethod is "indent" or "syntax"
941 " use diff mode for the current window
946 " options for using diff mode
950 " expression used to obtain a diff file
954 " expression used to patch a file
960 " maximum depth of mapping
964 " recognize mappings in mapped keys
968 " allow timing out halfway into a mapping
972 " allow timing out halfway into a key code
973 " set nottimeout ttimeout
976 " time in msec for 'timeout'
980 " time in msec for 'ttimeout'
983 """ reading and writing files
986 " enable using settings from modelines when reading a file
992 " number of lines to check for modelines
996 " binary file editing
1001 " last line in the file has an end-of-line
1006 " Prepend a Byte Order Mark to the file
1011 " end-of-line format: "dos", "unix" or "mac"
1016 " list of file formats to look for when editing a file
1020 " obsolete, use 'fileformat'
1025 " obsolete, use 'fileformats'
1029 " writing files is allowed
1033 " write a backup file before overwriting a file
1037 " keep a backup after overwriting a file
1041 " patterns that specify for which files a backup is not made
1045 " whether to make the backup as a copy or rename the existing file
1049 " list of directories to put backup files in
1050 " set bdir=.,/home/madduck/tmp,/home/madduck/
1053 " file name extension for the backup file
1057 " automatically write a file when leaving a modified buffer
1062 " as 'autowrite', but works with more commands
1067 " always write without asking for confirmation
1071 " automatically read a file when it was modified outside of Vim
1072 " (global or local to buffer)
1077 " keep oldest version of a file; specifies file name extension
1081 " forcibly sync the file to disk after writing it
1085 " use 8.3 file names
1092 " list of directories for the swap file
1093 " set dir=.,/home/madduck/tmp,/var/tmp,/tmp
1094 set dir=.,$TMPDIR//,/var/tmp//,/tmp//
1097 " use a swap file for this buffer
1102 " "sync", "fsync" or empty; how to flush a swap file to disk
1107 " number of characters typed to cause a swap file update
1111 " time in msec after which the swap file will be updated
1116 " maximum amount of memory in Kbyte used for one buffer
1120 " maximum amount of memory in Kbyte used for all buffers
1123 """ command line editing
1126 " how many command lines are remembered
1131 " key that triggers command-line expansion
1135 " like 'wildchar' but can also be used in a mapping
1139 " specifies how command line completion works
1144 " list of file name extensions that have a lower priority
1145 " set su=.bak,~,.o,.h,.info,.swp,.obj
1148 " list of file name extensions added when searching for a file
1153 " list of patterns to ignore files for file name completion
1155 set wig=*.o,*.pyc,*.pyo,*~,*.bk,*.bak
1158 " command-line completion shows a list of matches
1162 " key used to open the command-line window
1166 " height of the command-line window
1169 """ executing external commands
1172 " name of the shell program used for external commands
1176 " character(s) to enclose a shell command in
1180 " like 'shellquote' but include the redirection
1184 " argument for 'shell' to execute a command
1188 " used to redirect command output to a file
1192 " use a temp file for shell commands instead of using a pipe
1196 " program used for "=" command
1197 " (global or local to buffer)
1201 " program used to format lines with "gq" command
1205 " program used for the "K" command
1209 " warn when using a shell command and a buffer has changes
1213 """ running make and jumping to errors
1216 " name of the file that contains error messages
1220 " list of formats for error messages
1221 " (global or local to buffer)
1222 " 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
1225 " program used for the ":make" command
1226 " (global or local to buffer)
1230 " string used to put the output of ":make" in the error file
1231 " set sp=2>&1\|\ tee
1234 " name of the errorfile for the 'makeprg' command
1238 " program used for the ":grep" command
1239 " (global or local to buffer)
1240 " set gp=grep\ -n\ $*\ /dev/null
1243 " list of formats for output of 'grepprg'
1244 " set gfm=%f:%l:%m,%f:%l%m,%f\ \ %l%m
1246 """ language specific
1249 " specifies the characters in a file name
1250 " set isf=@,48-57,/,.,-,_,+,,,#,$,%,~,=
1253 " specifies the characters in an identifier
1254 " set isi=@,48-57,_,192-255
1257 " specifies the characters in a keyword
1262 " specifies printable characters
1266 " specifies escape characters in a string
1271 " display the buffer right-to-left
1276 " When to edit the command-line right-to-left
1281 " Insert characters backwards
1285 " Allow CTRL-_ in Insert and Command-line mode to toggle 'revins'
1289 " the ASCII code for the first letter of the Hebrew alphabet
1293 " use Hebrew keyboard mapping
1297 " use phonetic Hebrew keyboard mapping
1301 " use Farsi as the second language when 'revins' is set
1305 " use Farsi keyboard mapping
1309 " Prepare for editing Arabic text
1314 " Perform shaping of Arabic characters
1315 " set noarshape noarshape
1318 " Terminal will perform bidi handling
1322 " name of a keyboard mappping
1326 " translate characters for Normal mode
1330 " in Insert mode: 1: use :lmap; 2: use IM; 0: neither
1335 " entering a search pattern: 1: use :lmap; 2: use IM; 0: neither
1339 """ multi-byte characters
1342 " character encoding used in Vim: "latin1", "utf-8"
1343 " "euc-jp", "big5", etc.
1347 " character encoding for the current file
1352 " automatically detected character encodings
1353 " set fencs=ucs-bom,utf-8,default,latin1
1356 " character encoding used by the terminal
1359 " charconvert expression
1360 " used for character encoding conversion
1364 " Delete combining (composing) characters on their own
1368 " Maximum number of combining (composing) characters displayed
1372 " Width of ambiguous width characters
1378 " when to use virtual editing: "block", "insert" and/or "all"
1382 " list of autocommand events which are to be ignored
1386 " load plugin scripts when starting up
1391 " enable reading .vimrc/.exrc/.gvimrc in the current directory
1395 " safer working with script files in the current directory
1396 " set nosecure secure
1400 " use the 'g' flag for ":substitute"
1404 " 'g' and 'c' flags of ":substitute" toggle
1408 " maximum depth of function calls
1412 " list of words that specifies what to put in a session file
1413 " set ssop=blank,buffers,curdir,folds,help,options,tabpages,winsize
1416 " list of words that specifies what to save for :mkview
1417 " set vop=folds,options,cursor
1420 " directory where to store files with :mkview
1421 " set vdir=/home/madduck/.vim/view
1422 set vdir=$VARDIR/vim/view
1425 " list that specifies what to write in the viminfo file
1427 set vi=<1000,'1000,\"1000,:100,/100,@100,f1,%,!,h,n$VARDIR/vim/viminfo
1430 " what happens with a buffer when it's no longer in a window
1435 " "", "nofile", "nowrite" or "quickfix": type of buffer
1440 " whether the buffer shows up in the buffer list
1445 " set to "msg" to see all error messages
1448 filetype plugin indent on
1452 autocmd BufNewFile,BufRead /etc/logcheck/*.d*/* set tw=0
1453 autocmd BufNewFile,BufRead /home/madduck/debian/pkg/logcheck/*/rulefiles/linux/*.d*/* set tw=0
1454 autocmd BufNewFile,BufRead /home/madduck/.tmp/dir????? set tw=0
1456 " jump to last known position in file (:he last-position-jump)
1457 autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g`\"zz" | endif
1459 " leave the w mark whenever a file is written
1460 autocmd BufWrite * normal mw
1462 " keep an extra backup of vimperator's ctrl-i
1463 autocmd BufWritePost */vimperator-*.tmp exe 'write ' . fnameescape((exists('$TMPDIR') ? $TMPDIR : '/tmp') . '/vimperator.ctrl-i.' . strftime('%Y.%m.%d.%H%M%S'))
1464 autocmd BufWritePost */pentadactyl.*.txt exe 'write ' . fnameescape((exists('$TMPDIR') ? $TMPDIR : '/tmp') . '/pentadactyl.ctrl-i.' . strftime('%Y.%m.%d.%H%M%S'))
1466 autocmd BufRead *.vcf set filetype=vcard
1468 " leave the i mark whenever we go idle (after updatetime)
1470 "autocmd CursorHold * normal mi
1471 "autocmd CursorHoldI * normal mi "DISABLED while broken (shifts left)
1474 " disable list mode when inserting stuff, otherwise keep it enabled, it's
1475 " useful (see also setting lcs)
1477 autocmd InsertEnter * set nolist
1478 autocmd InsertLeave * set list
1480 " flag trailing spaces as error only when not inserting
1481 augroup tsperrorinsert
1482 autocmd InsertEnter * match none /\s\+$/
1483 autocmd InsertLeave * match Error /\s\+$/
1486 if &cp | set nocp | endif
1490 " treat wrapped lines normally
1493 inoremap <Up> <C-\><C-o>gk
1496 inoremap <Down> <C-\><C-o>gj
1498 " this isn't windows, screw the F1->help key
1503 " ignore Q -- Ex mode
1507 let maplocalleader = ';'
1513 " replace fake tab chars with real ones
1514 map <Leader>ft :%s,⇝·*, ,g<CR>:nohlsearch<CR>``
1515 " replace fake spaces with real ones
1516 map <Leader>fs :%s,·, ,g<CR>:nohlsearch<CR>``
1518 map <Leader>sy :echo synIDattr(synID(line("."), col("."), 1), "name")<CR>
1520 map <Leader>/ :nohlsearch<CR>
1522 omap [{ :normal {jj<CR>
1523 nmap [{ :normal {jj<CR>
1524 omap ]} :normal }kk<CR>
1525 nmap ]} :normal }kk<CR>
1527 iab sgf Sehr geehrte Frau
1528 iab sgh Sehr geehrter Herr
1529 iab sghn Sehr geehrte Herren
1532 iab sgdh Sehr geehrte Damen und Herren
1533 iab twimc To Whom It May Concern
1536 iab fg Freundliche Grüsse
1537 iab mfg Mit freundlichen Grüssen
1538 iab mbg Mit den besten Grüssen
1539 iab hg Herzliche Grüsse
1540 iab mhg Mit herzlichen Grüssen
1541 iab mbbg Mit bundesbrüderlichen Grüssen
1542 iab mvbg Mit verbandsbrüderlichen Grüssen
1544 iab vld Vielen lieben Dank
1545 iab vhd Vielen herzlichen Dank
1550 iab mk Martin Krafft
1551 iab mfk Martin F. Krafft
1552 iab addr Hanfstaenglstraße 15
\rD–80638 München
1557 source $HOME/.vim/macros/table.vim
1559 let g:SuperTabMappingForward = '<nul>'
1560 let g:SuperTabMappingBackward = '<s-nul>'