--- /dev/null
+spell/
+bundle/
+tmp/
+.netrwhist
+*~
--- /dev/null
+# Install
+
+ git clone http://git.d.ctsachs.de/dotvim ~/.vim
+ ~/.vim/myinit.sh
+
+# Update
+ ~/.vim/myinit.sh
--- /dev/null
+:source C:\Users\ts\vimfiles\vimrc
+
+set scrolloff=0
+
+" unmap copy paste to/from system clipboard macht vielleicht angeblich vs
+" langsam...
+vunmap <C-c>
+iunmap <C-S-v>
+vunmap <C-S-v>
+
+" Surround simulating bindings
+nnoremap ysiw( ciw(<C-r>")<Esc>
+nnoremap ysiw) ciw(<C-r>")<Esc>
+nnoremap ysiw[ ciw[<C-r>"]<Esc>
+nnoremap ysiw] ciw[<C-r>"]<Esc>
+nnoremap ysiw{ ciw{<C-r>"}<Esc>
+nnoremap ysiw} ciw{<C-r>"}<Esc>
+nnoremap ysiw< ciw<lt><C-r>"><Esc>
+nnoremap ysiw> ciw<lt><C-r>"><Esc>
+nnoremap ysiw" ciw"<C-r>""<Esc>
+nnoremap ysiw' ciw'<C-r>"'<Esc>
+nnoremap sw( ciW(<C-r>")<Esc>
+nnoremap sw) ciW(<C-r>")<Esc>
+nnoremap sw[ ciW[<C-r>"]<Esc>
+nnoremap sw] ciW[<C-r>"]<Esc>
+nnoremap sw{ ciW{<C-r>"}<Esc>
+nnoremap sw} ciW{<C-r>"}<Esc>
+nnoremap sw< ciW<lt><C-r>"><Esc>
+nnoremap sw> ciW<lt><C-r>"><Esc>
+nnoremap sw" ciW"<C-r>""<Esc>
+nnoremap sw' ciW'<C-r>"'<Esc>
+
+" Surround delete bindings
+nnoremap ds( vi(dvhp
+nnoremap ds) vi(dvhp
+nnoremap ds[ vi[dvhp
+nnoremap ds] vi[dvhp
+nnoremap ds{ vi{dvhp
+nnoremap ds} vi{dvhp
+nnoremap ds> vi<dvhp
+nnoremap ds" vi"dvhp
+nnoremap ds' vi'dvhp
+
+" Surround change bindings
+nnoremap cs"' vi"oh<Esc>msvi"l<Esc>cl'<Esc>`scl'<Esc>
+nnoremap cs'" vi'oh<Esc>msvi'l<Esc>cl"<Esc>`scl"<Esc>
+
+" Surround visual selected text
+vnoremap S" c"<C-r>""<Esc>
+vnoremap S' c"<C-r>"'<Esc>
+vnoremap S( c(<C-r>")<Esc>
+vnoremap S) c(<C-r>")<Esc>
+vnoremap S[ c[<C-r>"]<Esc>
+vnoremap S] c[<C-r>"]<Esc>
+vnoremap S{ c{<C-r>"}<Esc>
+vnoremap S} c{<C-r>"}<Esc>
+vnoremap S< c<lt><C-r>"><Esc>
+vnoremap S> c<lt><C-r>"><Esc>
+vnoremap S* c/*<C-r>"*/<Esc>
+"vnoremap St c<lt>div><CR><C-r>"<Esc>
+" Surround in div tag and edit tag
+vnoremap St c<lt>div><CR><C-r>"<Esc>`<lt>lcw
--- /dev/null
+if exists("did_load_filetypes")
+ finish
+endif
+
+augroup filetypedetect
+ au! BufRead,BufNewFile *_[FS]*.log setfiletype hub
+ au! BufNewFile,BufRead *.xaml setfiletype xml
+augroup END
--- /dev/null
+setlocal buftype=nofile
+setlocal nomodifiable
+setlocal syntax=hub
+setlocal nowrap
+if has('gui_running')
+ setlocal guioptions+=b
+ silent simalt ~x
+endif
+setlocal nolist
+setlocal noswapfile
+setlocal nobackup
+setlocal noundofile
+setlocal foldmethod=manual
+
+match Ignore /\r$/
--- /dev/null
+"define :Tidy command to run perltidy on visual selection || entire buffer"
+command! -range=% -nargs=* Tidy <line1>,<line2>!perltidy
+
+"run :Tidy on entire buffer and return cursor to (approximate) original position"
+fun! DoTidy()
+ let l = line(".")
+ let c = col(".")
+ :Tidy
+ call cursor(l, c)
+endfun
+
+"shortcut for normal mode to run on entire buffer then return to current line"
+noremap <F2> :call DoTidy()<CR>
+
+"shortcut for visual mode to run on the the current visual selection"
+vnoremap <F2> :Tidy<CR>
--- /dev/null
+#!/usr/bin/env bash
+git stash
+
+# alten hook loeschen...
+oldhook=".git/hooks/post-merge"
+if [ -h $oldhook ]; then
+ actual=`readlink $oldhook`
+ if [ "$actual" = "../../myinit.sh" ]; then
+ rm -v -f $oldhook
+ fi
+fi
+# alten hook loeschen kann bestimmt bald wieder weg...
+
+git pull
+git stash pop
+
+if [ -d bundle/Vundle.vim ];then
+ cd bundle/Vundle.vim;
+ echo "Update Vundle:"
+ git pull
+ cd -
+else
+ git clone https://github.com/VundleVim/Vundle.vim.git bundle/Vundle.vim
+fi
+vim +PluginClean! +PluginInstall! +qall
+stty sane
--- /dev/null
+set nocompatible
+filetype off
+
+exec 'set rtp+='.b:vim_conf_dir.'/bundle/Vundle.vim/'
+call vundle#rc(b:vim_conf_dir.'/bundle/')
+
+call vundle#begin()
+Plugin 'VundleVim/Vundle.vim'
+Plugin 'chrisbra/vim-diff-enhanced'
+Plugin 'tpope/vim-repeat'
+Plugin 'tpope/vim-fugitive'
+Plugin 'tpope/vim-surround'
+Plugin 'tpope/vim-unimpaired'
+Plugin 'godlygeek/tabular'
+Plugin 'w0rp/ale'
+Plugin 'vimwiki/vimwiki'
+if ! has("win32")
+ Plugin '4Evergreen4/vim-hardy'
+ Plugin 'airblade/vim-gitgutter'
+endif
+Plugin 'jlanzarotta/bufexplorer'
+Plugin 'mileszs/ack.vim'
+Plugin 'JamshedVesuna/vim-markdown-preview'
+Plugin 'blueyed/smarty.vim'
+Plugin 'vim-scripts/nginx.vim'
+"Plugin 'vim-scripts/CycleColor'
+Plugin 'eparreno/vim-l9'
+Plugin 'c9s/perlomni.vim'
+Plugin 'morhetz/gruvbox'
+Plugin 'junegunn/fzf.vim'
+Plugin 'othree/vim-autocomplpop'
+call vundle#end()
+filetype on
+filetype plugin indent on
--- /dev/null
+" Vim syntax file
+" file type: log files
+
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+
+syn match logdate /^\d\{2}\.\d\{2}/ nextgroup=logtime skipwhite
+syn match logtime /\d\{2}:\d\{2}:\d\{2}:\d\{4}/
+
+syn match cri ".* CRITIC.*"
+syn match err ".* ERROR.*"
+syn match war ".* WARNIN.*"
+syn match inf ".* INFO.*"
+syn match trace1 ".* TRACE1.*" contains=@calls
+syn match trace2 ".* TRACE2.*" contains=@calls
+syn match trace3 ".* TRACE3.*" contains=@calls
+
+syn keyword callcontrol Setup Connect DemandTx CeaseTx contained
+syn keyword callnotification NotifyCallOngoing NotifyProceeding NotifyConnected NotifyTxGranted NotifyTxCeased notifyDisconnected contained
+
+syn cluster calls contains=callcontrol,callnotification
+
+" Highlight colors for log levels.
+":hi crit ctermfg=Red
+":hi error ctermfg=Red
+":hi warn ctermfg=Red
+":hi info ctermfg=Black
+":hi trace ctermfg=Gray
+
+
+if &background == "light"
+ hi logdate guifg=RoyalBlue4
+ hi logtime guifg=RoyalBlue4
+
+ hi cri guifg=red1
+ hi err guifg=red2
+ hi war guifg=red3
+ hi trace1 guifg=gray33
+ hi trace2 guifg=gray43
+ hi trace3 guifg=gray63
+ hi inf guifg=black
+
+ hi link callcontrol calls
+ hi link callnotification calls
+ hi calls gui=bold
+else
+ hi logdate guifg=RoyalBlue4
+ hi logtime guifg=RoyalBlue4
+
+ hi cri guifg=red1
+ hi err guifg=red2
+ hi war guifg=red3
+ hi trace1 guifg=gray63
+ hi trace2 guifg=gray43
+ hi trace3 guifg=gray33
+ hi inf guifg=white
+
+ hi link callcontrol calls
+ hi link callnotification calls
+ hi calls gui=bold
+
+endif
+
+
+let b:current_syntax = "hub"
--- /dev/null
+"============================================================================
+"
+" iptables-save/restore syntax highlighter
+"
+" Language: iptables-save/restore file
+" Version: Not Specified
+" Date: 07-Jun-2014
+" Maintainer: Eric Haarbauer <ehaar70{AT}gmail{DOT}com>
+" License: This file is placed in the public domain.
+"
+"============================================================================
+" Section: Notes {{{1
+"============================================================================
+"
+" This vim syntax script highlights files used by Harald Welte's iptables-save
+" and iptables-restore utilities. Both utilities are part of the iptables
+" application (http://www.netfilter.org/projects/iptables).
+"
+" Features:
+"
+" * Distinguishes commands, options, modules, targets and chains.
+" * Distinguishes numeric IP addresses from net masks.
+" * Highlights tokens that occur only in hand-edited files; for example,
+" "--append" and "destination-unreachable".
+" * Special handling for module names; for example, the tcp module is
+" colored differently from the tcp protocol.
+"
+" Options:
+"
+" Customize the behavior of this script by setting values for the following
+" options in your .vimrc file. (Type ":h vimrc" in vim for more information
+" on the .vimrc file.)
+"
+" g:Iptables_SpecialDelimiters
+" This variable, if set to a non-zero value, distinguishes numeric
+" delimiters, including the dots in IP addresses, the slash that separates
+" an IP address from a netmask, and the colon that separates the ends of a
+" port range. If not set, this option defaults to off.
+"
+" Known Issues:
+"
+" * Some special argument tokens are highlighted whether or not they are
+" used with the correct option. For example, "destination-unreachable"
+" gets special highlighting whether or not is used as an argument to the
+" --icmp-type option. In practice, this is rarely a problem.
+"
+" Reporting Issues:
+"
+" If you discover an iptables file that this script highlights incorrectly,
+" please email the author (address at the top of the script) with the
+" following information:
+"
+" * Problem iptables file WITH ANY SENSITIVE INFORMATION REMOVED
+" * The release version of this script (see top of the script)
+" * If possible, a patch to fix the problem
+"
+" Design Notes:
+"
+" Part of this script is autogenerated from the output of the iptables man
+" page. The source code for generating the script is available from the
+" author on request (see email address at the top of the script). The
+" script should build from source on most Linux systems with iptables
+" installed.
+"
+" The build system that generates this script strips special CVS tokens
+" (like "Id:") so that CVS no longer recognizes them. This allows users to
+" place the script in their own version control system without losing
+" information. The author encourages other vim script developers to adopt a
+" similar approach in their own scripts.
+"
+" Installation:
+"
+" Put this file in your user runtime syntax directory, usually ~/.vim/syntax
+" in *NIX or C:\Program Files\vim\vimfiles\syntax in Windows. Type ":h
+" syn-files" from within vim for more information.
+"
+" The iptables-save and iptables-restore applications do not specify a
+" naming standard for the files they use. However, iptables-save places a
+" comment in the first line of its output. Other applications, such as
+" Fedora's system-config-securitylevel uses the iptables-save/restore
+" format, but with a different leading comment. We can use these leading
+" comments to identify the filetype by placing the following code in the
+" scripts.vim file in your user runtime directory:
+"
+" if getline(1) =~ "^# Generated by iptables-save" ||
+" \ getline(1) =~ "^# Firewall configuration written by"
+" setfiletype iptables
+" set commentstring=#%s
+" finish
+" endif
+"
+" Setting the commentstring on line 4 allows Meikel Brandmeyer's
+" EnhancedCommentify script (vimscript #23) to work with iptables files.
+" (Advanced users may want to set the commentstring option in an ftplugin
+" file or in autocommands defined in .vimrc.)
+"
+"============================================================================
+" Source File: Id: iptables.src.vim 43 2014-06-08 03:21:32Z ehaar
+"============================================================================
+" Section: Initialization {{{1
+"============================================================================
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if !exists("main_syntax")
+ if version < 600
+ syntax clear
+ elseif exists("b:current_syntax")
+ finish
+ endif
+ let main_syntax = 'iptables'
+endif
+
+" Don't use standard HiLink, it will not work with included syntax files
+if version < 508
+ command! -nargs=+ IptablesHiLink highlight link <args>
+else
+ command! -nargs=+ IptablesHiLink highlight default link <args>
+endif
+
+syntax case match
+
+if version < 600
+ set iskeyword+=-
+else
+ setlocal iskeyword+=-
+endif
+
+" Initialize global public variables: {{{2
+
+" Support deprecated variable name used prior to release 1.07.
+if exists("g:iptablesSpecialDelimiters") &&
+\ !exists("g:Iptables_SpecialDelimiters")
+
+ let g:Iptables_SpecialDelimiters = g:iptablesSpecialDelimiters
+ unlet g:iptablesSpecialDelimiters
+ " echohl WarningMsg | echo "Warning:" | echohl None
+ " echo "The g:iptablesSpecialDelimiters variable is deprecated."
+ " echo "Please use g:Iptables_SpecialDelimiters in your .vimrc instead"
+
+endif
+
+if exists("g:Iptables_SpecialDelimiters")
+ let s:Iptables_SpecialDelimiters = g:Iptables_SpecialDelimiters
+else
+ let s:Iptables_SpecialDelimiters = 0
+endif
+
+"============================================================================
+" Section: Group Definitions {{{1
+"============================================================================
+
+syntax keyword iptablesSaveDirective COMMIT
+syntax match iptablesSaveOperation "^[:*]"
+
+syntax keyword iptablesTable filter nat mangle raw
+
+syntax keyword iptablesTarget
+ \ ACCEPT DROP QUEUE RETURN BALANCE CLASSIFY CLUSTERIP CONNMARK
+ \ CONNSECMARK CONNTRACK DNAT DSCP ECN IPMARK IPV4OPSSTRIP LOG
+ \ MARK MASQUERADE MIRROR NETMAP NFQUEUE NOTRACK REDIRECT REJECT
+ \ ROUTE SAME SECMARK SET SNAT TARPIT TCPMSS TOS TRACE TTL ULOG XOR
+
+syntax keyword iptablesBuiltinChain
+ \ INPUT OUTPUT FORWARD PREROUTING POSTROUTING
+
+syntax keyword iptablesCommand -A -D -I -R -L -F -Z -N -X -P -E
+ \ --append --delete --insert --replace --list --flush --zero
+ \ --new-chain --delete-chain --policy --rename-chain
+
+syntax keyword iptablesParam -p -s -d -j -i -o -f -c -t
+
+syntax match iptablesOperator "\s\zs!\ze\s"
+
+syntax keyword iptablesModuleName contained
+ \ account addrtype ah childlevel comment condition connbytes connlimit
+ \ connmark connrate conntrack dccp dscp dstlimit ecn esp fuzzy hashlimit
+ \ helper icmp iprange ipv4options length limit mac mark mport multiport
+ \ nth osf owner physdev pkttype policy psd quota random realm recent
+ \ sctp set state string tcp tcpmss time tos ttl u32 udp unclean
+
+syntax keyword iptablesModuleType
+ \ UNSPEC UNICAST LOCAL BROADCAST ANYCAST MULTICAST BLACKHOLE UNREACHABLE
+ \ PROHIBIT THROW NAT XRESOLVE INVALID ESTABLISHED NEW RELATED SYN ACK FIN
+ \ RST URG PSH ALL NONE
+
+" From --reject-with option
+syntax keyword iptablesModuleType
+ \ icmp-net-unreachable
+ \ icmp-host-unreachable
+ \ icmp-port-unreachable
+ \ icmp-proto-unreachable
+ \ icmp-net-prohibited
+ \ icmp-host-prohibited
+ \ icmp-admin-prohibited
+
+" From --icmp-type option
+syntax keyword iptablesModuleType
+ \ any
+ \ echo-reply
+ \ destination-unreachable
+ \ network-unreachable
+ \ host-unreachable
+ \ protocol-unreachable
+ \ port-unreachable
+ \ fragmentation-needed
+ \ source-route-failed
+ \ network-unknown
+ \ host-unknown
+ \ network-prohibited
+ \ host-prohibited
+ \ TOS-network-unreachable
+ \ TOS-host-unreachable
+ \ communication-prohibited
+ \ host-precedence-violation
+ \ precedence-cutoff
+ \ source-quench
+ \ redirect
+ \ network-redirect
+ \ host-redirect
+ \ TOS-network-redirect
+ \ TOS-host-redirect
+ \ echo-request
+ \ router-advertisement
+ \ router-solicitation
+ \ time-exceeded
+ \ ttl-zero-during-transit
+ \ ttl-zero-during-reassembly
+ \ parameter-problem
+ \ ip-header-bad
+ \ required-option-missing
+ \ timestamp-request
+ \ timestamp-reply
+ \ address-mask-request
+ \ address-mask-reply
+
+" If we used a keyword for this, port names would be colored the same
+" as modules with the same name (e.g. tcp, udp, icmp).
+syntax keyword iptablesParam -m --match skipwhite nextgroup=iptablesModuleName
+
+syntax region iptablesString start=+"+ skip=+\\"+ end=+"+ oneline
+
+syntax match iptablesComment "^#.*" contains=iptablesTodo
+syntax match iptablesBadComment "^\s\+\zs#.*" " Pound must be in first column
+
+syntax keyword iptablesTodo contained TODO FIXME XXX NOT NOTE
+
+" Special Delimiters: {{{2
+
+if s:Iptables_SpecialDelimiters != 0
+ syntax match iptablesNumber "\<[0-9./:]\+\>"
+ \ contains=iptablesMask,iptablesDelimiter
+ syntax match iptablesDelimiter "[./:]" contained
+ syntax match iptablesMask "/[0-9.]\+" contained
+ \ contains=iptablesDelimiter
+else " s:Iptables_SpecialDelimiters == 0
+ syntax match iptablesNumber "\<[0-9./]\+\>"
+ \ contains=iptablesMask,iptablesDelimiter
+ syntax match iptablesDelimiter "/" contained
+ syntax match iptablesMask "/[0-9.]\+" contained
+ \ contains=iptablesDelimiter
+endif
+
+"============================================================================
+" Section: Autogenerated Groups {{{2
+"============================================================================
+
+" Begin autogenerated section.
+" iptables2vim: "iptables2vim 43 2014-06-08 03:21:32Z ehaar"
+" iptables: "iptables v1.4.19.1"
+
+syntax keyword iptablesLongParam
+ \ --zone --xor-tos --xor-mark --weekdays --vproto --vportctl --vport
+ \ --vmethod --verbose --vdir --validmark --vaddr --update
+ \ --ulog-qthreshold --ulog-prefix --ulog-nlgroup --ulog-cprange
+ \ --uid-owner --u --type --tunnel-src --tunnel-dst --ttl-set --ttl-lt
+ \ --ttl-inc --ttl-gt --ttl-eq --ttl-dec --ttl --transparent --tproxy-mark
+ \ --total-nodes --tos --to-source --to-ports --to-port --to-destination
+ \ --to --timestop --timestart --timeout --tcp-option --tcp-flags --table
+ \ --syn --strip-options --string --strict --state --src-type --src-range
+ \ --src-pfx --src-group --src --sports --sport --spi --source-ports
+ \ --source-port --source --soft --socket-exists --set-xmark --set-tos
+ \ --set-mss --set-mark --set-dscp-class --set-dscp --set-counters
+ \ --set-class --set --selctx --seconds --save-mark --save --rttl --rt-type
+ \ --rt-segsleft --rt-len --rt- --rsource --return--nomatch --restore-mark
+ \ --restore --reqid --remove --reject-with --reap --realm --rdest --rcheck
+ \ --rateest-pps --rateest-name --rateest-lt --rateest-interval
+ \ --rateest-gt --rateest-ewmalog --rateest-eq --rateest-delta
+ \ --rateest-bps --rateest --random --quota --queue-num --queue-bypass
+ \ --queue-balance --protocol --proto --probability --ports --pol
+ \ --pkt-type --physdev-out --physdev-is-out --physdev-is-in
+ \ --physdev-is-bridged --physdev-in --persistent --packet --out-interface
+ \ --or-tos --or-mark --on-port --on-ip --numeric --notrack --nodst
+ \ --nflog-threshold --nflog-range --nflog-prefix --nflog-group
+ \ --nfacct-name --next --new --name --mss --monthdays --modprobe --mode
+ \ --mh-type --mask --mark --mangle-mac-d --mac-source --loose --log-uid
+ \ --log-tcp-sequence --log-tcp-options --log-prefix --log-level
+ \ --log-ip-options --log --local-node --line-numbers --limit-iface-out
+ \ --limit-iface-in --limit-burst --limit --length --led-trigger-id
+ \ --led-delay --led-always-blink --label --kerneltz --jump --ipvs --ipv
+ \ --invert --in-interface --icmpv --icmp-type --hmark-tuple
+ \ --hmark-src-prefix --hmark-sport-mask --hmark-spi-mask --hmark-rnd
+ \ --hmark-proto-mask --hmark-offset --hmark-mod --hmark-dst-prefix
+ \ --hmark-dport-mask --hl-set --hl-lt --hl-inc --hl-gt --hl-eq --hl-dec
+ \ --hitcount --hex-string --helper --help --header --hbh-opts --hbh-len
+ \ --hashmode --hashlimit-upto --hashlimit-srcmask --hashlimit-src
+ \ --hashlimit-name --hashlimit-mode --hashlimit-mask
+ \ --hashlimit-htable-size --hashlimit-htable-max
+ \ --hashlimit-htable-gcinterval --hashlimit-htable-expire
+ \ --hashlimit-dstmask --hashlimit-burst --hashlimit-above --hashlimit
+ \ --hash-init --h-length --goto --gid-owner --genre --gateway --from
+ \ --fragres --fragmore --fragment --fraglen --fraglast --fragid
+ \ --fragfirst --expevents --exist --exact --every --espspi
+ \ --ecn-tcp-remove --ecn-tcp-ece --ecn-tcp-cwr --ecn-ip-ect --dst-type
+ \ --dst-range --dst-pfx --dst-opts --dst-len --dst-group --dst
+ \ --dscp-class --dscp --dports --dport --dir --destination-ports
+ \ --destination-port --destination --del-set --dccp-types --dccp-option
+ \ --datestop --datestart --ctstatus --ctstate --ctreplsrcport --ctreplsrc
+ \ --ctrepldstport --ctrepldst --ctproto --ctorigsrcport --ctorigsrc
+ \ --ctorigdstport --ctorigdst --ctexpire --ctevents --ctdir --cpu
+ \ --contiguous --connlimit-upto --connlimit-saddr --connlimit-mask
+ \ --connlimit-daddr --connlimit-above --connbytes-mode --connbytes-dir
+ \ --connbytes --comment --clustermac --cluster-total-nodes
+ \ --cluster-local-nodemask --cluster-local-node --cluster-hash-seed --clus
+ \ --clamp-mss-to-pmtu --chunk-types --checksum-fill --check --bytecode
+ \ --and-tos --and-mark --algo --ahspi --ahres --ahlen --add-set
+ \ --accept-local
+" End autogenerated section.
+
+"============================================================================
+" Section: Group Linking {{{1
+"============================================================================
+
+IptablesHiLink iptablesSaveDirective PreProc
+IptablesHiLink iptablesSaveOperation PreProc
+
+IptablesHiLink iptablesTable Statement
+IptablesHiLink iptablesTarget Statement
+IptablesHiLink iptablesBuiltinChain Type
+
+IptablesHiLink iptablesCommand Operator
+
+IptablesHiLink iptablesModuleName Type
+IptablesHiLink iptablesModuleType Type
+
+IptablesHiLink iptablesOperator Operator
+IptablesHiLink iptablesParam Identifier
+IptablesHiLink iptablesLongParam Identifier
+
+IptablesHiLink iptablesNumber Constant
+
+if s:Iptables_SpecialDelimiters != 0
+ IptablesHiLink iptablesMask PreProc
+ IptablesHiLink iptablesDelimiter Delimiter
+else " s:Iptables_SpecialDelimiters == 0
+ IptablesHiLink iptablesMask Special
+ IptablesHiLink iptablesDelimiter None
+endif
+
+IptablesHiLink iptablesString Constant
+
+IptablesHiLink iptablesComment Comment
+IptablesHiLink iptablesBadComment Error
+IptablesHiLink iptablesTodo Todo
+
+"============================================================================
+" Section: Clean Up {{{1
+"============================================================================
+
+delcommand IptablesHiLink
+
+let b:current_syntax = "iptables"
+
+if main_syntax == 'iptables'
+ unlet main_syntax
+endif
+
+" Autoconfigure vim indentation settings
+" vim:ts=4:sw=4:sts=4:fdm=marker:iskeyword+=-
--- /dev/null
+"set vim config dir
+let b:vim_conf_dir = $HOME.'/.vim'
+if has("win32")
+ let b:vim_conf_dir = $HOME.'\vimfiles'
+endif
+
+if isdirectory( b:vim_conf_dir . '/tmp/') == 0
+ call mkdir(b:vim_conf_dir.'/tmp/', 'p', 0700)
+endif
+
+set nocompatible
+
+"load plugins
+if filereadable(b:vim_conf_dir . '/plugins.vundel.vim')
+ exec 'source ' . b:vim_conf_dir . '/plugins.vundel.vim'
+endif
+
+set backspace=indent,eol,start
+set relativenumber
+set number
+"set lazyredraw
+
+set autoindent
+set expandtab
+set tabstop=4
+set softtabstop=4
+set shiftwidth=4
+
+set pastetoggle=<F3>
+
+set scrolloff=5
+"set sidescrolloff=10
+set encoding=utf-8
+set modeline
+
+set history=50
+set noerrorbells
+set visualbell t_vb=
+set hidden
+set nojoinspaces
+set nrformats=
+set ttymouse=xterm2
+set mouse=a
+
+" Tab-completion in command-line mode
+set path+=**
+set wildmode=full
+set wildmenu
+set wildignore=*.pdf,*.fo,
+set title
+
+" Appearance
+set ruler
+set showmode
+set showcmd
+set laststatus=2
+set hlsearch
+set incsearch
+set ignorecase
+set smartcase
+
+" remove =, thus 'gf' works whit filepath asignemens like myvar=/path/tofile
+set isfname-==
+
+let perl_include_pod = 1
+augroup PerlSettings
+ autocmd!
+ autocmd FileType perl setlocal complete-=i
+augroup END
+
+let mapleader = ","
+
+nnoremap <F8> ]s
+nnoremap <S-F8> [s
+nnoremap Z Y
+
+" Window switching
+nnoremap <C-k> <C-W>k
+nnoremap <C-j> <C-W>j
+nnoremap <C-h> <C-W>h
+nnoremap <C-l> <C-W>l
+
+nnoremap <Leader>i a'" << << "' <Esc>6hi
+nnoremap <Leader>a a'{}' <Esc>2hi
+nnoremap <Leader>A a'"+ +"' <Esc>4hi
+
+nnoremap <Leader>A a'"+ +"' <Esc>4hi
+
+" see :h restore-position
+nnoremap <Leader>= msHmp=iB'pzt`s
+
+inoremap kj <Esc>
+inoremap jk <Esc>
+inoremap ts<tab> // TODOts: <Esc>=$A
+inoremap no<tab> <Esc>0i <nodoc /><Esc>0i///<Esc>=$
+inoremap td<tab> <Esc>0i//TODOts: doku<CR><summary> </summary><Esc>0i/// <Esc>kVj=$
+
+autocmd InsertEnter * set timeoutlen=500
+autocmd InsertLeave * set timeoutlen=1000
+
+inoremap in<tab> <Esc>0i<inheritdoc /><Esc>0i///<Esc>V=
+
+" do not use ex mode
+map Q <Nop>
+
+nnoremap <C-p> :bprev<CR>
+nnoremap <C-n> :bnext<CR>
+
+nnoremap <leader>e :tabedit $MYVIMRC<CR>
+
+nnoremap ZZ :wqall<CR>
+nnoremap <F6> :wa<CR>:make -j 8<CR><CR>
+inoremap <F6> <esc>:wa<CR>:make -j 8<CR><CR>
+
+nnoremap <C-l> <C-W>l
+
+" Copy paste to/from system clipboard
+vnoremap <C-c> "*y
+inoremap <C-S-v> <esc>"*p
+vnoremap <C-S-v> "*p
+
+
+"nnoremap <Leader>= mzgg=G`z<CR>
+nnoremap <F2> :call FormatDocument()<CR>
+" write using sudo.
+cmap w!! w !sudo tee > /dev/null %
+"
+"move visually selected
+
+vnoremap <M-j> :m '>+1<CR>gv=gv
+vnoremap <M-k> :m '<-2<CR>gv=gv
+nnoremap <M-k> :m -2<CR>==
+nnoremap <M-j> :m +1<CR>==
+
+" repeat last command on all selected:
+vnoremap . :normal.<CR>
+
+
+"vnoremap <leader>tt :Tabular /^[^=]*\zs\S*=/l1l2<cr>
+vnoremap <leader>tt :Tabular /^[^-+=]*\zs\S*=/l1l2<cr>
+vnoremap <leader>t, :Tabular /,\zs/l1l1<cr>
+vnoremap <leader>t<space> :Tabular /\s\+\zs/l1l1<cr>
+vnoremap <leader>t( :Tabular /(/l1l0<cr>
+vnoremap <leader>t: :Tabular /:/r0c1l0<cr>
+"
+" append word under cursor with 'or' to current search pattern
+nnoremap <Leader>s yiw/<C-R>/\\|<C-R>"<cr>
+" append selection with 'or' to current search pattern
+vnoremap <Leader>s y/<C-R>/\\|<C-R>"<cr>
+
+cmap w!! w !sudo tee % >/dev/null
+nnoremap <Leader>mh :wa<CR>:silent !mhsend -run reload code<CR>:redraw!<CR>
+nnoremap <Leader>ll iprint_log("");<Esc>V=0f(la
+
+if has('win32')
+ nnoremap <Leader>r :source ~/vimfiles/vimrc<CR>
+else
+ nnoremap <Leader>r :source ~/.vim/vimrc<CR>
+endif
+
+
+filetype plugin indent on
+
+let g:neocomplete#enable_at_startup = 1
+
+" ack seems to have vanished from artfull, thus use silversearchger-ag
+" for ack.vim:
+if executable('ag')
+ let g:ackprg = 'ag --vimgrep'
+endif
+
+set list listchars=tab:→\ ,trail:·
+
+
+set diffopt+=vertical
+set diffopt+=iwhite
+set diffopt+=algorithm:patience
+"jump to next diff and center line
+noremap <leader>n ]cz.
+noremap <leader>p [cz.
+if &diff
+ " ignore whitespace
+ set diffopt+=vertical
+ set diffopt+=iwhite
+ set diffopt+=algorithm:patience
+ syntax off
+ " go fullscreen:
+ autocmd GuiEnter * simalt ~x
+ " make all diff windows the same size
+ autocmd VimResized * wincmd =
+ autocmd VimEnter * 2wincmd w
+ autocmd VimEnter * syntax off
+ autocmd VimEnter * set guioptions+=b
+ set relativenumber!
+ set number
+else
+ syntax on
+ if has("gui_running")
+ set lines=999 columns=120
+ endif
+ " from /etc/vim/vimrc (restore last editing position)
+ if has("autocmd")
+ au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
+ endif
+endif
+
+" remove currently unused fugitive buffers:
+autocmd BufReadPost fugitive://* set bufhidden=delete
+
+autocmd GuiEnter * simalt ~x
+
+" reset terminal colors after vim leaves
+"if !has("gui_running")
+" au VimLeave * !echo -ne "\033[0m"
+"endif
+
+" macht dass auch in screen auf dem server der vollstaendige hintergund gmalt
+" wird.
+set t_ut=
+
+
+if has("gui_running")
+ if has('win32')
+ set guifont=Consolas:h10:cANSI:qDRAFT
+ else
+ set guifont=Monospace\ 12
+ endif
+endif
+
+
+if has ('win32') || has('win32unix')
+ let g:vimwiki_list = [
+ \{
+ \ 'path':'~/vimwiki',
+ \ 'path_html':'~/vimwiki/html/',
+ \ 'syntax': 'markdown',
+ \ 'ext': '.md'
+ \ }
+ \ ]
+else
+ let g:vimwiki_list = [
+ \ {
+ \ 'path':'~/p/wiki',
+ \ 'path_html':'~/p/wiki/html/',
+ \ 'syntax': 'markdown',
+ \ 'ext': '.md'
+ \ }
+ \ ]
+endif
+
+"" tmp files:
+if isdirectory( b:vim_conf_dir . '/tmp/backup') == 0
+ call mkdir(b:vim_conf_dir.'/tmp/backup', 'p', 0700)
+endif
+exec 'set backupdir='. b:vim_conf_dir.'/tmp/backup//'
+set backup
+
+" Save your swp files to a less annoying place than the current directory.
+" If you have .vim-swap in the current directory, it'll use that.
+" Otherwise it saves it to ~/.vim/swap, ~/tmp or .
+if isdirectory( b:vim_conf_dir . '/tmp/swap') == 0
+ call mkdir(b:vim_conf_dir.'/tmp/swap', 'p', 0700)
+endif
+exec 'set directory='. b:vim_conf_dir.'/tmp/swap//'
+
+" viminfo stores the the state of your previous editing session
+if has('win32')
+ set viminfo+=n~/vimfiles/tmp/viminfo
+else
+ set viminfo+=n~/.vim/tmp/viminfo
+endif
+
+" letzte suche beim öffnen einer Datei sofort wieder anzeigen
+set viminfo-=h
+
+if exists("+undofile")
+ " undofile - This allows you to use undos after exiting and restarting
+ " This, like swap and backups, uses .vim-undo first, then ~/.vim/undo
+ " :help undo-persistence
+ " This is only present in 7.3+
+ if isdirectory( b:vim_conf_dir . '/tmp/undo') == 0
+ call mkdir(b:vim_conf_dir.'/tmp/undo', 'p', 0700)
+ endif
+ exec 'set undodir='. b:vim_conf_dir.'/tmp/undo'
+ set undofile
+endif
+
+" format document
+function! FormatDocument()
+ let save_pos = getpos(".")
+ normal gg=G
+ call setpos('.', save_pos)
+ echom "formatiert.."
+endfunction
+
+noremap <Leader>x :call XmlPretty()<cr>
+" reformat xml stuff
+function! XmlPretty()
+ let save_pos = getpos(".")
+ :silent! %s/</</g
+ :silent! %s/>/>/g
+ :silent! %s/></>\r</g
+ :set ft=xml
+ :normal mzgg=G`z
+ call setpos('.', save_pos)
+endfunction
+
+" fix logger stuff to use the newer api call
+" remove #regions and whitspaces
+" use {var} instead of " + var + "
+noremap <Leader>fx ma:1,$ call FixCsharp()<cr>'a
+function! FixCsharp() range
+ let save_pos = getpos(".")
+ " regions entfernen;
+ :silent! execute a:firstline.",".a:lastline.'g/^\s*#\(end\)\{0,1\}region/d'
+ " mehrere leerzeilen durch eine einzelne ersetzen:
+ :silent! execute a:firstline.",".a:lastline.'s/\s\+$//e'
+ :silent! execute a:firstline.",".a:lastline.'s/\n\{3,}/\r\r/e'
+
+ silent! execute a:firstline.",".a:lastline.'g/\.WriteException(/normal 0df,$^iLog.Exception(\eV='
+ silent! execute a:firstline.",".a:lastline.'g/\.WriteMessage(/normal 0f(ldf."ayiw0P0xlveu0iLog.\eelcf,(\eld0$^PV='
+
+ " '+ varname +' durch '{varname}' ersetzen
+ silent! execute a:firstline.",".a:lastline.'s/"\s*+\s*\(.\{-\}\)\s*+\s*"/{\1}/g'
+ silent! execute a:firstline.",".a:lastline.'s/"\s*+\s*\(.\{-\}\)\s*+\s*$/{\1}" +/g'
+ silent! execute a:firstline.",".a:lastline.'s/"\s*+\s*\(.\{-\}\)\s*);/{\1}");/g'
+ "ersetze log...(rank, "
+ silent! execute a:firstline.",".a:lastline.'s/,\s*\("[^"]*{\)/, $\1/c'
+ "ersetze 'Zeilenanfang "'
+ silent! execute a:firstline.",".a:lastline.'s/\(^\s*\)\("[^"]*{\)/\1$\2/c'
+ silent! execute a:firstline.",".a:lastline.'s/[^$]\(".*{\)/$\1/c'
+ noh
+ call setpos('.', save_pos)
+endfunction
+
+function! FixWhitespace()
+ " convert tabs to spaces
+ :retab
+ " remove trailing whitespace
+ :silent! %s/\s\+$//e
+ :silent! g/\s*<!--\**-->\s*/d
+
+ " remov '//******' and '//#####'
+ :silent! g/\/\/\(\*\|#\)*\s*$/d
+ " remove excessive newlines
+ :silent! %s/\n\n\n\+/\r\r/
+endfunction
+
+function! UndoCSharStringInterpolation()
+ silent! s/\$"/"/g
+ silent! s/{\(.\{-}\)}/" + \1 + "/g
+endfunction
+
+
+"""" ALE start """"
+inoremap <F4> <Esc>:ALEToggle<CR>
+nnoremap <F4> <Esc>:ALEToggle<CR>
+let g:ale_linters = {
+ \ 'cpp': ['gcc', 'cppcheck', 'clang'],
+ \}
+let b:ale_warn_about_trailing_whitespace = 1
+let g:ale_sign_column_always = 1
+let g:ale_cpp_clang_options =
+ \ '-std=c++14 -Wall -pedantic -fPIC
+ \ -I/usr/include/x86_64-linux-gnu/qt5
+ \ -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
+ \ -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
+ \ -I/usr/include/x86_64-linux-gnu/qt5/QtGui
+ \ -I/usr/include/x86_64-linux-gnu/qt5/QtCore
+ \ -I/usr/include/libdrm
+ \ -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g+
+ \'
+
+let g:ale_cpp_gcc_options =
+ \ '-std=c++14 -Wall -pedantic -fPIC
+ \ -I/usr/include/x86_64-linux-gnu/qt5
+ \ -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
+ \ -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
+ \ -I/usr/include/x86_64-linux-gnu/qt5/QtGui
+ \ -I/usr/include/x86_64-linux-gnu/qt5/QtCore
+ \ -I/usr/include/libdrm
+ \ -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g+
+ \'
+
+"""" ALE end """"
+
+if has("patch-7.4.354")
+ " Indents word-wrapped lines as much as the 'parent' line
+ set breakindent
+ " Ensures word-wrap does not split words
+ set formatoptions=l
+ set lbr
+endif
+
+hi CursorLineNr term=underline cterm=underline ctermfg=White ctermbg=darkBlue guibg=darkyellow
+hi clear Cursorline
+"hi CursorLine gui=underline term=underline cterm=underline
+augroup CursorLine
+ au!
+ au VimEnter,WinEnter,BufWinEnter * setlocal cursorline
+ au WinLeave * setlocal nocursorline
+augroup END
+
+packadd! matchit
+
+let g:acp_enableAtStartup = 1
+let g:acp_behaviorPerlOmniLength = 0
+let g:acp_behaviorPhpOmniLength = 0
+let g:acp_completeoptPreview = 1
+let g:acp_behaviorPythonOmniLength = 0
+let g:acp_behaviorXmlOmniLength = 0
+let g:acp_behaviorHtmlOmniLength = 0
+let g:acp_behaviorCssOmniPropertyLength = 1
+let g:acp_behaviorCssOmniValueLength = 0
+
+" auskommentiert, macht in screen das nix gut aussieht..
+"set termguicolors
+set background=dark
+try
+ let g:gruvbox_contrast_dark = 'dark'
+ let g:gruvbox_italicize_comments = 0
+ colorscheme gruvbox
+catch /^Vim\%((\a\+)\)\=:E185/
+ " wird evtl rest instlliert... E185 heißt nicht gefunden..
+endtry
+
+set textwidth=120
+let &colorcolumn="121"
+highlight ColorColumn ctermbg=lightgray guibg=lightcyan
+
+highlight ExtraWhitespace ctermfg=red guifg=red ctermbg=white guibg=DarkGrey
+
+" keine trailing whitespaces in hub log files anzeigen
+match ExtraWhitespace /\s\+$/
+
+let g:ale_python_flake8_options = "--max-line-length=120"
+
+if has("win32")
+ function! CopyFormatted(line1, line2)
+ let prev_number = &number
+ let prev_relativenumber = &relativenumber
+ let prev_background = &background
+ let prev_ft = &ft
+ setlocal number!
+ setlocal relativenumber!
+ setlocal background=light
+ " wenn ft manuel gesetzt war wird das von set background zurueckgesetzt, deswegen gleich wieder setzen
+ exe 'setlocal ft='.expand(prev_ft)
+
+ execute a:line1 . "," . a:line2 . "TOhtml"
+ %yank *
+ !start /min powershell -noprofile "gcb | scb -as"
+ bwipeout!
+
+ if (prev_number)
+ set number
+ endif
+ if (prev_relativenumber)
+ set relativenumber
+ endif
+ exe 'setlocal background='.expand(prev_background)
+ exe 'setlocal ft='.expand(prev_ft)
+ endfunction
+
+ command! -range=% HtmlClip silent call CopyFormatted(<line1>,<line2>)
+endif