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.
1 " obtained from the output of :options, then postprocessed:
3 " :%s/^ *[[:digit:]]\+/"""
7 " /^\([^[:space:]"].*\)\?$/
17 " behave very Vi compatible (not advisable)
22 " list of flags to specify Vi compatibility
26 " use Insert mode as the default mode
30 " paste mode, insert typed text literally
34 " key sequence to toggle paste mode
39 " list of directories used for runtime files and plugins
40 " set rtp=/home/madduck/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vimcurrent,/usr/share/vim/vimfiles/after,/home/madduck/.vim/after
43 " name of the main help file
44 " set hf=/usr/share/vim/vimcurrent/doc/help.txt
46 """ moving around, searching and patterns
49 " list of flags specifying which commands wrap to another line
55 " many jump commands move the cursor to the first non-blank
60 " nroff macro names that separate paragraphs
61 " set para=IPLPPPQPP\ LIpplpipbp
64 " nroff macro names that separate sections
65 " set sect=SHNHH\ HUnhsh
68 " list of directory names used for file searching
69 " (global or local to buffer)
70 " set pa=.,/usr/include,,
73 " list of directory names used for :cd
77 " search commands wrap around the end of the buffer
82 " show match for partly typed search command
87 " change the way backslashes are used in search patterns
91 " ignore case when using a search pattern
96 " override 'ignorecase' when pattern has upper case characters
101 " What method to use for changing case of letters
102 " set cmp=internal,keepascii
105 " maximum amount of memory in Kbyte used for pattern matching
109 " pattern for a macro definition line
110 " (global or local to buffer)
111 " set def=^\\s*#\\s*define
114 " pattern for an include-file line
116 " set inc=^\\s*#\\s*include
119 " expression used to transform an include line to a file name
126 " use binary searching in tags files
130 " number of significant characters in a tag name or zero
134 " list of file names to search for tags
135 " (global or local to buffer)
136 " set tag=./tags,./TAGS,tags,TAGS
139 " file names in a tags file are relative to the tags file
143 " a :tag command will use the tagstack
147 " when completing tags in Insert mode show more info
151 " command for executing cscope
155 " use cscope for tag commands
159 " 0 or 1; the order in which ":cstag" performs a search
163 " give messages when adding a cscope database
164 " set nocsverb csverb
167 " how many components of the path to show
171 " When to open a quickfix window for cscope
177 " number of lines to scroll for CTRL-U and CTRL-D
182 " number of screen lines to show around the cursor
192 " wrap long lines at a character in 'breakat'
195 " does not work with autocmd set list/nolist below
198 " which characters might cause a line break
199 " set brk=\ \ !@*-+;:,./?
202 " string to put before wrapped screen lines
206 " minimal number of columns to scroll horizontally
210 " minimal number of columns to keep left and right of the cursor
215 " include "lastline" to show the last line even if it doesn't fit
216 " include "uhex" to show unprintable characters as a hex number
221 " characters to use for the status line, folds and filler lines
222 " set fcs=vert:\|,fold:-
225 " number of lines used for the command-line
229 " width of the display
233 " number of lines in the display
237 " don't redraw while executing macros
242 " delay in msec for each char written to the display
247 " show <Tab> as ^I and end-of-line as $
253 " list of strings used for list mode
255 set lcs=tab:⇝·,trail:·
258 " show the line number for each line
263 " number of columns to use for the line number
267 """ syntax, highlighting and spelling
270 " "dark" or "light"; the background color brightness
274 " type of file; triggers the FileType event when set
279 " name of syntax highlighting used
284 " maximum column to look for syntax items
289 " which highlighting to use for various occasions
290 " 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
293 " highlight all matches for the last used search pattern
298 " highlight the screen column of the cursor
303 " highlight the screen line of the cursor
308 " highlight spelling mistakes
313 " list of accepted languages
318 " file that "zg" adds good words to
323 " pattern to locate the end of a sentence
325 " set spc=[.?!]\\_[\\])'\"\ \ ]\\+
329 " methods used to suggest corrections
333 " amount of memory used by :mkspell before compressing
334 " set msm=460000,2000,500
339 " 0, 1 or 2; when to use a status line for the last window
343 " alternate format to be used for a status line
347 " make all windows the same size when adding/removing windows
351 " in which direction 'equalalways' works: "ver", "hor" or "both"
355 " minimal number of lines used for the current window
359 " minimal number of lines used for any window
363 " keep the height of the window
368 " keep the width of the window
373 " minimal number of columns used for the current window
377 " minimal number of columns used for any window
381 " initial height of the help window
385 " default height for the preview window
389 " identifies the preview window
394 " don't unload a buffer when no longer shown in a window
398 " "useopen" and/or "split"; which window to use when jumping
403 " a new window is put below the current one
407 " a new window is put right of the current one
411 " this window scrolls together with other bound windows
416 " "ver", "hor" and/or "jump"; list of options for 'scrollbind'
419 """ multiple tab pages
422 " 0, 1 or 2; when to use a tab pages line
426 " maximum number of tab pages to open for -p and "tab all"
430 " custom tab pages line
436 " name of the used terminal
437 " set term=rxvt-unicode
441 " set tty=rxvt-unicode
444 " check built-in termcaps first
448 " terminal connection is fast
452 " terminal that requires extra redrawing
456 " recognize keys that start with <Esc> in Insert mode
460 " minimal number of lines to scroll at a time
464 " maximum number of lines to use scrolling instead of redrawing
468 " show info in the window title
473 " percentage of 'columns' used for the window title
477 " when not empty, string to be used for the window title
481 " string to restore the title to when exiting Vim
482 " set titleold=Thanks\ for\ flying\ Vim
485 " set the text of the icon for this window
489 " when not empty, text for the icon of this window
495 " list of flags for using the mouse
499 " "extend", "popup" or "popup_setpos"; what the right
500 " mouse button is used for
504 " maximum time in msec to recognize a double-click
508 " "xterm", "xterm2", "dec" or "netterm"; type of mouse
514 " list of items that control the format of :hardcopy output
518 " name of the printer to be used for :hardcopy
522 " expression used to print the PostScript file for :hardcopy
523 " set pexpr=system('lpr'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -P'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
524 set pexpr=system('lp'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -d'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
527 " name of the font to be used for :hardcopy
531 " format of the header used for :hardcopy
532 " set pheader=%<%f%h%m%=Page\ %N
535 " encoding used to print the PostScript file for :hardcopy
539 " the CJK character set to be used for CJK output from :hardcopy
543 " list of font names to be used for CJK output from :hardcopy
546 """ messages and info
549 " add 's' flag in 'shortmess' (don't show search message)
553 " list of flags to make messages shorter
555 set shortmess=atTWoOI
558 " show (partial) command keys in the status line
562 " display the current mode in the status line
566 " show cursor position below each window
571 " alternate format to be used for the ruler
572 " set ruf=%20(%=%-14(%l,%c%V%)\ %P%)
575 " threshold for reporting number of changed lines
579 " the higher the more messages are given
583 " file to write messages in
587 " pause listings when the screen is full
591 " start a dialog when a command fails
595 " ring the bell for error messages
599 " use a visual bell instead of beeping
603 " list of preferred languages for finding help
609 " "old", "inclusive" or "exclusive"; how selecting text behaves
613 " "mouse", "key" and/or "cmd"; when to start Select mode
614 " instead of Visual mode
618 " "startsel" and/or "stopsel"; what special keys can do
624 " maximum number of changes that can be undone
628 " changes have been made and not written to a file
633 " buffer is not to be written
638 " changes to the text are not possible
643 " line length above which to break a line
649 " margin from the right in which to break a line
654 " specifies what <BS>, CTRL-W, etc. can do in Insert mode
656 set bs=indent,eol,start
659 " definition of what comment lines look like
661 " set com=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
664 " list of flags that tell how automatic formatting works
670 " pattern to recognize a numbered list
672 " set flp=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
673 let &flp='^\v\s*(((#|\a|\d{,4}|[ivx]{,4})[]:.)}/])+|[-\*.·→+])\s+'
676 " expression used for "gq" to format lines
681 " specifies how Insert mode completion works for CTRL-N and CTRL-P
683 " set cpt=.,w,b,u,t,i
686 " whether to use a popup menu for Insert mode completion
687 " set cot=menu,preview
690 " maximum height of the popup menu
694 " user defined function for Insert mode completion
699 " function for filetype-specific Insert mode completion
704 " list of dictionary files for keyword completion
705 " (global or local to buffer)
709 " list of thesaurus files for keyword completion
710 " (global or local to buffer)
714 " adjust case of a keyword completion match
720 " enable entering digraps with c1 <BS> c2
725 " the "~" command behaves like an operator
730 " function called for the"g@" operator
734 " When inserting a bracket, briefly jump to its match
738 " tenth of a second to show a match for 'showmatch'
742 " list of pairs that match for the "%" command
744 " set mps=(:),{:},[:]
747 " use two spaces after '.' when joining a line
752 " "alpha", "octal" and/or "hex"; number formats recognized for
753 " CTRL-A and CTRL-X commands
757 """ tabs and indenting
760 " number of spaces a <Tab> in the text stands for
764 " You could set the 'tabstop' option to 2. However, if you edit the file
765 " another time, with 'tabstop' set to the default value of 8, it will look
766 " wrong. In other programs and when printing the indent will also be
767 " wrong. Therefore it is recommended to keep 'tabstop' at eight all the
768 " time. That's the standard value everywhere.
773 " number of spaces used for each step of (auto)indent
779 " a <Tab> in an indent inserts 'shiftwidth' spaces
784 " if non-zero, number of spaces to insert for a <Tab>
790 " round to 'shiftwidth' for "<<" and ">>"
795 " expand <Tab> to spaces in Insert mode
801 " automatically set the indent of a new line
807 " do clever autoindenting
812 " enable specific indenting for C code
817 " options for C-indenting
822 " keys that trigger C-indenting in Insert mode
824 " set cink=0{,0},0),:,0#,!^F,o,O,e
827 " list of words that cause more C-indent
829 " set cinw=if,else,while,do,for,switch
832 " expression used to obtain the indent of a line
837 " keys that trigger indenting with 'indentexpr' in Insert mode
839 " set indk=0{,0},:,0#,!^F,o,O,e
842 " Copy whitespace for indenting from previous line
848 " Preserve kind of whitespace when changing indent
851 """ set pi this ABORTS < 1:7.1-135+1 (see #446268)
862 " words that change how lisp indenting works
863 " 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
868 " set to display all folds open
873 " folds with a level higher than this number will be closed
878 " value for 'foldlevel' when starting to edit a file
882 " width of the column used to indicate folds
887 " expression used to display the text of a closed fold
892 " set to "all" to close a fold when the cursor leaves it
896 " specifies for which commands a fold will be opened
897 " set fdo=block,hor,mark,percent,quickfix,search,tag,undo
900 " minimum number of screen lines for a fold to be closed
905 " template for comments; used to put the marker in
909 " folding type: "manual", "indent", "expr", "marker" or "syntax"
915 " expression used when 'foldmethod' is "expr"
920 " used to ignore lines when 'foldmethod' is "indent"
925 " markers used when 'foldmethod' is "marker"
930 " maximum fold depth for when 'foldmethod is "indent" or "syntax"
937 " use diff mode for the current window
942 " options for using diff mode
946 " expression used to obtain a diff file
950 " expression used to patch a file
956 " maximum depth of mapping
960 " recognize mappings in mapped keys
964 " allow timing out halfway into a mapping
968 " allow timing out halfway into a key code
969 " set nottimeout ttimeout
972 " time in msec for 'timeout'
976 " time in msec for 'ttimeout'
979 """ reading and writing files
982 " enable using settings from modelines when reading a file
988 " number of lines to check for modelines
992 " binary file editing
997 " last line in the file has an end-of-line
1002 " Prepend a Byte Order Mark to the file
1007 " end-of-line format: "dos", "unix" or "mac"
1012 " list of file formats to look for when editing a file
1016 " obsolete, use 'fileformat'
1021 " obsolete, use 'fileformats'
1025 " writing files is allowed
1029 " write a backup file before overwriting a file
1033 " keep a backup after overwriting a file
1037 " patterns that specify for which files a backup is not made
1041 " whether to make the backup as a copy or rename the existing file
1045 " list of directories to put backup files in
1046 " set bdir=.,/home/madduck/tmp,/home/madduck/
1049 " file name extension for the backup file
1053 " automatically write a file when leaving a modified buffer
1058 " as 'autowrite', but works with more commands
1063 " always write without asking for confirmation
1067 " automatically read a file when it was modified outside of Vim
1068 " (global or local to buffer)
1073 " keep oldest version of a file; specifies file name extension
1077 " forcibly sync the file to disk after writing it
1081 " use 8.3 file names
1088 " list of directories for the swap file
1089 " set dir=.,/home/madduck/tmp,/var/tmp,/tmp
1090 set dir=.,$TMPDIR//,/var/tmp//,/tmp//
1093 " use a swap file for this buffer
1098 " "sync", "fsync" or empty; how to flush a swap file to disk
1103 " number of characters typed to cause a swap file update
1107 " time in msec after which the swap file will be updated
1112 " maximum amount of memory in Kbyte used for one buffer
1116 " maximum amount of memory in Kbyte used for all buffers
1119 """ command line editing
1122 " how many command lines are remembered
1127 " key that triggers command-line expansion
1131 " like 'wildchar' but can also be used in a mapping
1135 " specifies how command line completion works
1140 " list of file name extensions that have a lower priority
1141 " set su=.bak,~,.o,.h,.info,.swp,.obj
1144 " list of file name extensions added when searching for a file
1149 " list of patterns to ignore files for file name completion
1151 set wig=*.o,*.pyc,*.pyo,*~,*.bk,*.bak
1154 " command-line completion shows a list of matches
1158 " key used to open the command-line window
1162 " height of the command-line window
1165 """ executing external commands
1168 " name of the shell program used for external commands
1172 " character(s) to enclose a shell command in
1176 " like 'shellquote' but include the redirection
1180 " argument for 'shell' to execute a command
1184 " used to redirect command output to a file
1188 " use a temp file for shell commands instead of using a pipe
1192 " program used for "=" command
1193 " (global or local to buffer)
1197 " program used to format lines with "gq" command
1201 " program used for the "K" command
1205 " warn when using a shell command and a buffer has changes
1209 """ running make and jumping to errors
1212 " name of the file that contains error messages
1216 " list of formats for error messages
1217 " (global or local to buffer)
1218 " 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
1221 " program used for the ":make" command
1222 " (global or local to buffer)
1226 " string used to put the output of ":make" in the error file
1227 " set sp=2>&1\|\ tee
1230 " name of the errorfile for the 'makeprg' command
1234 " program used for the ":grep" command
1235 " (global or local to buffer)
1236 " set gp=grep\ -n\ $*\ /dev/null
1239 " list of formats for output of 'grepprg'
1240 " set gfm=%f:%l:%m,%f:%l%m,%f\ \ %l%m
1242 """ language specific
1245 " specifies the characters in a file name
1246 " set isf=@,48-57,/,.,-,_,+,,,#,$,%,~,=
1249 " specifies the characters in an identifier
1250 " set isi=@,48-57,_,192-255
1253 " specifies the characters in a keyword
1258 " specifies printable characters
1262 " specifies escape characters in a string
1267 " display the buffer right-to-left
1272 " When to edit the command-line right-to-left
1277 " Insert characters backwards
1281 " Allow CTRL-_ in Insert and Command-line mode to toggle 'revins'
1285 " the ASCII code for the first letter of the Hebrew alphabet
1289 " use Hebrew keyboard mapping
1293 " use phonetic Hebrew keyboard mapping
1297 " use Farsi as the second language when 'revins' is set
1301 " use Farsi keyboard mapping
1305 " Prepare for editing Arabic text
1310 " Perform shaping of Arabic characters
1311 " set noarshape noarshape
1314 " Terminal will perform bidi handling
1318 " name of a keyboard mappping
1322 " translate characters for Normal mode
1326 " in Insert mode: 1: use :lmap; 2: use IM; 0: neither
1331 " entering a search pattern: 1: use :lmap; 2: use IM; 0: neither
1335 """ multi-byte characters
1338 " character encoding used in Vim: "latin1", "utf-8"
1339 " "euc-jp", "big5", etc.
1343 " character encoding for the current file
1348 " automatically detected character encodings
1349 " set fencs=ucs-bom,utf-8,default,latin1
1352 " character encoding used by the terminal
1355 " charconvert expression
1356 " used for character encoding conversion
1360 " Delete combining (composing) characters on their own
1364 " Maximum number of combining (composing) characters displayed
1368 " Width of ambiguous width characters
1374 " when to use virtual editing: "block", "insert" and/or "all"
1378 " list of autocommand events which are to be ignored
1382 " load plugin scripts when starting up
1387 " enable reading .vimrc/.exrc/.gvimrc in the current directory
1391 " safer working with script files in the current directory
1392 " set nosecure secure
1396 " use the 'g' flag for ":substitute"
1400 " 'g' and 'c' flags of ":substitute" toggle
1404 " maximum depth of function calls
1408 " list of words that specifies what to put in a session file
1409 " set ssop=blank,buffers,curdir,folds,help,options,tabpages,winsize
1412 " list of words that specifies what to save for :mkview
1413 " set vop=folds,options,cursor
1416 " directory where to store files with :mkview
1417 " set vdir=/home/madduck/.vim/view
1418 set vdir=$VARDIR/vim/view
1421 " list that specifies what to write in the viminfo file
1423 set vi=<1000,'1000,\"1000,:100,/100,@100,f1,%,!,h,n$VARDIR/vim/viminfo
1426 " what happens with a buffer when it's no longer in a window
1431 " "", "nofile", "nowrite" or "quickfix": type of buffer
1436 " whether the buffer shows up in the buffer list
1441 " set to "msg" to see all error messages
1444 if &cp | set nocp | endif
1448 let g:netrw_home="$VARDIR/vim"
1450 filetype plugin indent on
1453 " leave the w mark whenever a file is written
1454 autocmd BufWrite * normal mw
1456 autocmd BufRead *.vcf set filetype=vcard
1458 " leave the i mark whenever we go idle (after updatetime)
1460 "autocmd CursorHold * normal mi
1461 "autocmd CursorHoldI * normal mi "DISABLED while broken (shifts left)
1464 " disable list mode when inserting stuff, otherwise keep it enabled, it's
1465 " useful (see also setting lcs)
1467 autocmd InsertEnter * set nolist
1468 autocmd InsertLeave * set list
1470 " flag trailing spaces as error only when not inserting
1471 augroup tsperrorinsert
1472 autocmd InsertEnter * match none /\s\+$/
1473 autocmd InsertLeave * match Error /\s\+$/
1476 " this isn't windows, screw the F1->help key
1481 " ignore Q -- Ex mode
1485 let maplocalleader = ';'
1487 " replace fake tab chars with real ones
1488 map <Leader>ft :%s,⇝·*, ,g<CR>:nohlsearch<CR>``
1489 " replace fake spaces with real ones
1490 map <Leader>fs :%s,·, ,g<CR>:nohlsearch<CR>``
1492 function WhatHighlight()
1493 echon 'hi<' . synIDattr(synID(line('.'),col('.'),1),'name') . '> '
1494 echon 'trans<' . synIDattr(synID(line('.'),col('.'),0),'name') . '> '
1495 echon 'lo<' . synIDattr(synIDtrans(synID(line('.'),col('.'),1)),'name') . '>'
1498 map <Leader>sy :call WhatHighlight()<CR>
1500 map <Leader>/ :nohlsearch<CR>
1502 iab sgf Sehr geehrte Frau
1503 iab sgh Sehr geehrter Herr
1504 iab sghn Sehr geehrte Herren
1507 iab sgdh Sehr geehrte Damen und Herren
1508 iab twimc To Whom It May Concern
1511 iab fg Freundliche Grüsse
1512 iab mfg Mit freundlichen Grüssen
1513 iab mbg Mit den besten Grüssen
1514 iab hg Herzliche Grüsse
1515 iab mhg Mit herzlichen Grüssen
1516 iab mbbg Mit bundesbrüderlichen Grüssen
1517 iab mvbg Mit verbandsbrüderlichen Grüssen
1518 iab dallarmi Dall'Armi-Strasse
1519 iab muc5 80538 München
1520 iab muc6 80638 München
1525 execute pathogen#infect()
1527 "echo "Pathogen not installed"
1530 set background=light
1531 let g:artesanal_dimmed = 1
1532 let g:artesanal_transparent = 1
1533 colorscheme artesanal
1537 let g:ycm_add_preview_to_completeopt="popup"
1538 let g:ycm_autoclose_preview_window_after_completion = 1
1540 let g:UltiSnipsExpandTrigger = "<leader><tab>"
1541 let g:UltiSnipsJumpForwardTrigger = "<c-]>"
1542 let g:UltiSnipsJumpBackwardTrigger = "<c-[>"
1543 let g:UltiSnipsListSnippets = "<leader>q"
1544 map <F10> :UltiSnipsEdit<cr>
1545 imap <F10> <esc>:UltiSnipsEdit<cr>