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.
4 " obtained from the output of :options, then postprocessed:
6 " :%s/^ *[[:digit:]]\+/"""
10 " /^\([^[:space:]"].*\)\?$/
20 " behave very Vi compatible (not advisable)
25 " list of flags to specify Vi compatibility
29 " use Insert mode as the default mode
33 " paste mode, insert typed text literally
37 " key sequence to toggle paste mode
42 " list of directories used for runtime files and plugins
43 " set rtp=/home/madduck/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vimcurrent,/usr/share/vim/vimfiles/after,/home/madduck/.vim/after
46 " name of the main help file
47 " set hf=/usr/share/vim/vimcurrent/doc/help.txt
49 """ moving around, searching and patterns
52 " list of flags specifying which commands wrap to another line
58 " many jump commands move the cursor to the first non-blank
63 " nroff macro names that separate paragraphs
64 " set para=IPLPPPQPP\ LIpplpipbp
67 " nroff macro names that separate sections
68 " set sect=SHNHH\ HUnhsh
71 " list of directory names used for file searching
72 " (global or local to buffer)
73 " set pa=.,/usr/include,,
76 " list of directory names used for :cd
80 " search commands wrap around the end of the buffer
85 " show match for partly typed search command
90 " change the way backslashes are used in search patterns
94 " ignore case when using a search pattern
99 " override 'ignorecase' when pattern has upper case characters
104 " What method to use for changing case of letters
105 " set cmp=internal,keepascii
108 " maximum amount of memory in Kbyte used for pattern matching
112 " pattern for a macro definition line
113 " (global or local to buffer)
114 " set def=^\\s*#\\s*define
117 " pattern for an include-file line
119 " set inc=^\\s*#\\s*include
122 " expression used to transform an include line to a file name
129 " use binary searching in tags files
133 " number of significant characters in a tag name or zero
137 " list of file names to search for tags
138 " (global or local to buffer)
139 " set tag=./tags,./TAGS,tags,TAGS
142 " file names in a tags file are relative to the tags file
146 " a :tag command will use the tagstack
150 " when completing tags in Insert mode show more info
154 " command for executing cscope
158 " use cscope for tag commands
162 " 0 or 1; the order in which ":cstag" performs a search
166 " give messages when adding a cscope database
167 " set nocsverb csverb
170 " how many components of the path to show
174 " When to open a quickfix window for cscope
180 " number of lines to scroll for CTRL-U and CTRL-D
185 " number of screen lines to show around the cursor
195 " wrap long lines at a character in 'breakat'
198 " does not work with autocmd set list/nolist below
201 " which characters might cause a line break
202 " set brk=\ \ !@*-+;:,./?
205 " string to put before wrapped screen lines
209 " minimal number of columns to scroll horizontally
213 " minimal number of columns to keep left and right of the cursor
218 " include "lastline" to show the last line even if it doesn't fit
219 " include "uhex" to show unprintable characters as a hex number
224 " characters to use for the status line, folds and filler lines
225 " set fcs=vert:\|,fold:-
228 " number of lines used for the command-line
232 " width of the display
236 " number of lines in the display
240 " don't redraw while executing macros
245 " delay in msec for each char written to the display
250 " show <Tab> as ^I and end-of-line as $
256 " list of strings used for list mode
258 set lcs=tab:⇝·,trail:·
261 " show the line number for each line
266 " number of columns to use for the line number
270 """ syntax, highlighting and spelling
273 " "dark" or "light"; the background color brightness
277 " type of file; triggers the FileType event when set
282 " name of syntax highlighting used
287 " maximum column to look for syntax items
292 " which highlighting to use for various occasions
293 " 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
296 " highlight all matches for the last used search pattern
301 " highlight the screen column of the cursor
306 " highlight the screen line of the cursor
311 " highlight spelling mistakes
316 " list of accepted languages
321 " file that "zg" adds good words to
326 " pattern to locate the end of a sentence
328 " set spc=[.?!]\\_[\\])'\"\ \ ]\\+
332 " methods used to suggest corrections
336 " amount of memory used by :mkspell before compressing
337 " set msm=460000,2000,500
342 " 0, 1 or 2; when to use a status line for the last window
346 " alternate format to be used for a status line
350 " make all windows the same size when adding/removing windows
354 " in which direction 'equalalways' works: "ver", "hor" or "both"
358 " minimal number of lines used for the current window
362 " minimal number of lines used for any window
366 " keep the height of the window
371 " keep the width of the window
376 " minimal number of columns used for the current window
380 " minimal number of columns used for any window
384 " initial height of the help window
388 " default height for the preview window
392 " identifies the preview window
397 " don't unload a buffer when no longer shown in a window
401 " "useopen" and/or "split"; which window to use when jumping
406 " a new window is put below the current one
410 " a new window is put right of the current one
414 " this window scrolls together with other bound windows
419 " "ver", "hor" and/or "jump"; list of options for 'scrollbind'
422 """ multiple tab pages
425 " 0, 1 or 2; when to use a tab pages line
429 " maximum number of tab pages to open for -p and "tab all"
433 " custom tab pages line
439 " name of the used terminal
440 " set term=rxvt-unicode
444 " set tty=rxvt-unicode
447 " check built-in termcaps first
451 " terminal connection is fast
455 " terminal that requires extra redrawing
459 " recognize keys that start with <Esc> in Insert mode
463 " minimal number of lines to scroll at a time
467 " maximum number of lines to use scrolling instead of redrawing
471 " show info in the window title
476 " percentage of 'columns' used for the window title
480 " when not empty, string to be used for the window title
484 " string to restore the title to when exiting Vim
485 " set titleold=Thanks\ for\ flying\ Vim
488 " set the text of the icon for this window
492 " when not empty, text for the icon of this window
498 " list of flags for using the mouse
502 " "extend", "popup" or "popup_setpos"; what the right
503 " mouse button is used for
507 " maximum time in msec to recognize a double-click
511 " "xterm", "xterm2", "dec" or "netterm"; type of mouse
517 " list of items that control the format of :hardcopy output
521 " name of the printer to be used for :hardcopy
525 " expression used to print the PostScript file for :hardcopy
526 " set pexpr=system('lpr'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -P'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
527 set pexpr=system('lp'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -d'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
530 " name of the font to be used for :hardcopy
534 " format of the header used for :hardcopy
535 " set pheader=%<%f%h%m%=Page\ %N
538 " encoding used to print the PostScript file for :hardcopy
542 " the CJK character set to be used for CJK output from :hardcopy
546 " list of font names to be used for CJK output from :hardcopy
549 """ messages and info
552 " add 's' flag in 'shortmess' (don't show search message)
556 " list of flags to make messages shorter
558 set shortmess=atTWoOI
561 " show (partial) command keys in the status line
565 " display the current mode in the status line
569 " show cursor position below each window
574 " alternate format to be used for the ruler
575 " set ruf=%20(%=%-14(%l,%c%V%)\ %P%)
578 " threshold for reporting number of changed lines
582 " the higher the more messages are given
586 " file to write messages in
590 " pause listings when the screen is full
594 " start a dialog when a command fails
598 " ring the bell for error messages
602 " use a visual bell instead of beeping
606 " list of preferred languages for finding help
612 " "old", "inclusive" or "exclusive"; how selecting text behaves
616 " "mouse", "key" and/or "cmd"; when to start Select mode
617 " instead of Visual mode
621 " "startsel" and/or "stopsel"; what special keys can do
627 " maximum number of changes that can be undone
631 " changes have been made and not written to a file
636 " buffer is not to be written
641 " changes to the text are not possible
646 " line length above which to break a line
652 " margin from the right in which to break a line
657 " specifies what <BS>, CTRL-W, etc. can do in Insert mode
659 set bs=indent,eol,start
662 " definition of what comment lines look like
664 " set com=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
667 " list of flags that tell how automatic formatting works
673 " pattern to recognize a numbered list
675 " set flp=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
676 set flp=^\\v[[:space:]]*([[:digit:]]+\|[[:alpha:]])[\\]:.)}[:space:]][[:space:]]+
679 " expression used for "gq" to format lines
684 " specifies how Insert mode completion works for CTRL-N and CTRL-P
686 " set cpt=.,w,b,u,t,i
689 " whether to use a popup menu for Insert mode completion
690 " set cot=menu,preview
693 " maximum height of the popup menu
697 " user defined function for Insert mode completion
702 " function for filetype-specific Insert mode completion
707 " list of dictionary files for keyword completion
708 " (global or local to buffer)
712 " list of thesaurus files for keyword completion
713 " (global or local to buffer)
717 " adjust case of a keyword completion match
723 " enable entering digraps with c1 <BS> c2
728 " the "~" command behaves like an operator
733 " function called for the"g@" operator
737 " When inserting a bracket, briefly jump to its match
741 " tenth of a second to show a match for 'showmatch'
745 " list of pairs that match for the "%" command
747 " set mps=(:),{:},[:]
750 " use two spaces after '.' when joining a line
755 " "alpha", "octal" and/or "hex"; number formats recognized for
756 " CTRL-A and CTRL-X commands
760 """ tabs and indenting
763 " number of spaces a <Tab> in the text stands for
767 " You could set the 'tabstop' option to 2. However, if you edit the file
768 " another time, with 'tabstop' set to the default value of 8, it will look
769 " wrong. In other programs and when printing the indent will also be
770 " wrong. Therefore it is recommended to keep 'tabstop' at eight all the
771 " time. That's the standard value everywhere.
776 " number of spaces used for each step of (auto)indent
782 " a <Tab> in an indent inserts 'shiftwidth' spaces
787 " if non-zero, number of spaces to insert for a <Tab>
793 " round to 'shiftwidth' for "<<" and ">>"
798 " expand <Tab> to spaces in Insert mode
804 " automatically set the indent of a new line
810 " do clever autoindenting
815 " enable specific indenting for C code
820 " options for C-indenting
825 " keys that trigger C-indenting in Insert mode
827 " set cink=0{,0},0),:,0#,!^F,o,O,e
830 " list of words that cause more C-indent
832 " set cinw=if,else,while,do,for,switch
835 " expression used to obtain the indent of a line
840 " keys that trigger indenting with 'indentexpr' in Insert mode
842 " set indk=0{,0},:,0#,!^F,o,O,e
845 " Copy whitespace for indenting from previous line
851 " Preserve kind of whitespace when changing indent
854 """ set pi this ABORTS < 1:7.1-135+1 (see #446268)
865 " words that change how lisp indenting works
866 " 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
871 " set to display all folds open
876 " folds with a level higher than this number will be closed
881 " value for 'foldlevel' when starting to edit a file
885 " width of the column used to indicate folds
890 " expression used to display the text of a closed fold
895 " set to "all" to close a fold when the cursor leaves it
899 " specifies for which commands a fold will be opened
900 " set fdo=block,hor,mark,percent,quickfix,search,tag,undo
903 " minimum number of screen lines for a fold to be closed
908 " template for comments; used to put the marker in
912 " folding type: "manual", "indent", "expr", "marker" or "syntax"
918 " expression used when 'foldmethod' is "expr"
923 " used to ignore lines when 'foldmethod' is "indent"
928 " markers used when 'foldmethod' is "marker"
933 " maximum fold depth for when 'foldmethod is "indent" or "syntax"
940 " use diff mode for the current window
945 " options for using diff mode
949 " expression used to obtain a diff file
953 " expression used to patch a file
959 " maximum depth of mapping
963 " recognize mappings in mapped keys
967 " allow timing out halfway into a mapping
971 " allow timing out halfway into a key code
972 " set nottimeout ttimeout
975 " time in msec for 'timeout'
979 " time in msec for 'ttimeout'
982 """ reading and writing files
985 " enable using settings from modelines when reading a file
991 " number of lines to check for modelines
995 " binary file editing
1000 " last line in the file has an end-of-line
1005 " Prepend a Byte Order Mark to the file
1010 " end-of-line format: "dos", "unix" or "mac"
1015 " list of file formats to look for when editing a file
1019 " obsolete, use 'fileformat'
1024 " obsolete, use 'fileformats'
1028 " writing files is allowed
1032 " write a backup file before overwriting a file
1036 " keep a backup after overwriting a file
1040 " patterns that specify for which files a backup is not made
1044 " whether to make the backup as a copy or rename the existing file
1048 " list of directories to put backup files in
1049 " set bdir=.,/home/madduck/tmp,/home/madduck/
1052 " file name extension for the backup file
1056 " automatically write a file when leaving a modified buffer
1061 " as 'autowrite', but works with more commands
1066 " always write without asking for confirmation
1070 " automatically read a file when it was modified outside of Vim
1071 " (global or local to buffer)
1076 " keep oldest version of a file; specifies file name extension
1080 " forcibly sync the file to disk after writing it
1084 " use 8.3 file names
1091 " list of directories for the swap file
1092 " set dir=.,/home/madduck/tmp,/var/tmp,/tmp
1093 set dir=.,$TMPDIR//,/var/tmp//,/tmp//
1096 " use a swap file for this buffer
1101 " "sync", "fsync" or empty; how to flush a swap file to disk
1106 " number of characters typed to cause a swap file update
1110 " time in msec after which the swap file will be updated
1115 " maximum amount of memory in Kbyte used for one buffer
1119 " maximum amount of memory in Kbyte used for all buffers
1122 """ command line editing
1125 " how many command lines are remembered
1130 " key that triggers command-line expansion
1134 " like 'wildchar' but can also be used in a mapping
1138 " specifies how command line completion works
1143 " list of file name extensions that have a lower priority
1144 " set su=.bak,~,.o,.h,.info,.swp,.obj
1147 " list of file name extensions added when searching for a file
1152 " list of patterns to ignore files for file name completion
1154 set wig=*.o,*.pyc,*.pyo,*~,*.bk,*.bak
1157 " command-line completion shows a list of matches
1161 " key used to open the command-line window
1165 " height of the command-line window
1168 """ executing external commands
1171 " name of the shell program used for external commands
1175 " character(s) to enclose a shell command in
1179 " like 'shellquote' but include the redirection
1183 " argument for 'shell' to execute a command
1187 " used to redirect command output to a file
1191 " use a temp file for shell commands instead of using a pipe
1195 " program used for "=" command
1196 " (global or local to buffer)
1200 " program used to format lines with "gq" command
1204 " program used for the "K" command
1208 " warn when using a shell command and a buffer has changes
1212 """ running make and jumping to errors
1215 " name of the file that contains error messages
1219 " list of formats for error messages
1220 " (global or local to buffer)
1221 " 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
1224 " program used for the ":make" command
1225 " (global or local to buffer)
1229 " string used to put the output of ":make" in the error file
1230 " set sp=2>&1\|\ tee
1233 " name of the errorfile for the 'makeprg' command
1237 " program used for the ":grep" command
1238 " (global or local to buffer)
1239 " set gp=grep\ -n\ $*\ /dev/null
1242 " list of formats for output of 'grepprg'
1243 " set gfm=%f:%l:%m,%f:%l%m,%f\ \ %l%m
1245 """ language specific
1248 " specifies the characters in a file name
1249 " set isf=@,48-57,/,.,-,_,+,,,#,$,%,~,=
1252 " specifies the characters in an identifier
1253 " set isi=@,48-57,_,192-255
1256 " specifies the characters in a keyword
1261 " specifies printable characters
1265 " specifies escape characters in a string
1270 " display the buffer right-to-left
1275 " When to edit the command-line right-to-left
1280 " Insert characters backwards
1284 " Allow CTRL-_ in Insert and Command-line mode to toggle 'revins'
1288 " the ASCII code for the first letter of the Hebrew alphabet
1292 " use Hebrew keyboard mapping
1296 " use phonetic Hebrew keyboard mapping
1300 " use Farsi as the second language when 'revins' is set
1304 " use Farsi keyboard mapping
1308 " Prepare for editing Arabic text
1313 " Perform shaping of Arabic characters
1314 " set noarshape noarshape
1317 " Terminal will perform bidi handling
1321 " name of a keyboard mappping
1325 " translate characters for Normal mode
1329 " in Insert mode: 1: use :lmap; 2: use IM; 0: neither
1334 " entering a search pattern: 1: use :lmap; 2: use IM; 0: neither
1338 """ multi-byte characters
1341 " character encoding used in Vim: "latin1", "utf-8"
1342 " "euc-jp", "big5", etc.
1346 " character encoding for the current file
1351 " automatically detected character encodings
1352 " set fencs=ucs-bom,utf-8,default,latin1
1355 " character encoding used by the terminal
1358 " charconvert expression
1359 " used for character encoding conversion
1363 " Delete combining (composing) characters on their own
1367 " Maximum number of combining (composing) characters displayed
1371 " Width of ambiguous width characters
1377 " when to use virtual editing: "block", "insert" and/or "all"
1381 " list of autocommand events which are to be ignored
1385 " load plugin scripts when starting up
1390 " enable reading .vimrc/.exrc/.gvimrc in the current directory
1394 " safer working with script files in the current directory
1395 " set nosecure secure
1399 " use the 'g' flag for ":substitute"
1403 " 'g' and 'c' flags of ":substitute" toggle
1407 " maximum depth of function calls
1411 " list of words that specifies what to put in a session file
1412 " set ssop=blank,buffers,curdir,folds,help,options,tabpages,winsize
1415 " list of words that specifies what to save for :mkview
1416 " set vop=folds,options,cursor
1419 " directory where to store files with :mkview
1420 " set vdir=/home/madduck/.vim/view
1421 set vdir=$VARDIR/vim/view
1424 " list that specifies what to write in the viminfo file
1426 set vi='1000,f1,\"1000,:20,/20,%,!,h,n$VARDIR/vim/viminfo
1429 " what happens with a buffer when it's no longer in a window
1434 " "", "nofile", "nowrite" or "quickfix": type of buffer
1439 " whether the buffer shows up in the buffer list
1444 " set to "msg" to see all error messages
1447 filetype plugin indent on
1451 autocmd BufNewFile,BufRead /etc/logcheck/*.d*/* set tw=0
1452 autocmd BufNewFile,BufRead /home/madduck/debian/pkg/logcheck/*/rulefiles/linux/*.d*/* set tw=0
1453 autocmd BufNewFile,BufRead /home/madduck/.tmp/dir????? set tw=0
1455 " jump to last known position in file (:he last-position-jump)
1456 autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g`\"zz" | endif
1458 " leave the w mark whenever a file is written
1459 autocmd BufWrite * normal mw
1461 " keep an extra backup of vimperator's ctrl-i
1462 autocmd BufWritePost */vimperator-*.tmp exe 'write ' . fnameescape((exists('$TMPDIR') ? $TMPDIR : '/tmp') . '/vimperator.ctrl-i.' . strftime('%Y.%m.%d.%H%M%S'))
1464 " leave the i mark whenever we go idle (after updatetime)
1466 "autocmd CursorHold * normal mi
1467 "autocmd CursorHoldI * normal mi "DISABLED while broken (shifts left)
1470 " disable list mode when inserting stuff, otherwise keep it enabled, it's
1471 " useful (see also setting lcs)
1473 autocmd InsertEnter * set nolist
1474 autocmd InsertLeave * set list
1476 " flag trailing spaces as error only when not inserting
1477 augroup tsperrorinsert
1478 autocmd InsertEnter * match none /\s\+$/
1479 autocmd InsertLeave * match Error /\s\+$/
1482 if &cp | set nocp | endif
1486 " treat wrapped lines normally
1489 inoremap <Up> <C-\><C-o>gk
1492 inoremap <Down> <C-\><C-o>gj
1494 " this isn't windows, screw the F1->help key
1499 " ignore Q -- Ex mode
1503 let maplocalleader = ';'
1509 " replace fake tab chars with real ones
1510 map <Leader>ft :%s,⇝·*, ,g<CR>:nohlsearch<CR>``
1511 " replace fake spaces with real ones
1512 map <Leader>fs :%s,·, ,g<CR>:nohlsearch<CR>``
1514 map <Leader>sy :echo synIDattr(synID(line("."), col("."), 1), "name")<CR>
1516 map <Leader>/ :nohlsearch<CR>
1518 omap [{ :normal {jj<CR>
1519 nmap [{ :normal {jj<CR>
1520 omap ]} :normal }kk<CR>
1521 nmap ]} :normal }kk<CR>
1523 iab sgf Sehr geehrte Frau
1524 iab sgh Sehr geehrter Herr
1525 iab sghn Sehr geehrte Herren
1528 iab sgdh Sehr geehrte Damen und Herren
1529 iab twimc To Whom It May Concern
1532 iab fg Freundliche Grüsse
1533 iab mfg Mit freundlichen Grüssen
1534 iab mbg Mit den besten Grüssen
1535 iab hg Herzliche Grüsse
1536 iab mhg Mit herzlichen Grüssen
1537 iab mbbg Mit bundesbrüderlichen Grüssen
1538 iab mvbg Mit verbandsbrüderlichen Grüssen
1540 iab vld Vielen lieben Dank
1541 iab vhd Vielen herzlichen Dank
1550 source $HOME/.vim/macros/table.vim
1552 let g:SuperTabMappingForward = '<nul>'
1553 let g:SuperTabMappingBackward = '<s-nul>'