From: Simon Ruderich Date: Mon, 13 Jul 2009 22:25:15 +0000 (+0200) Subject: Merge plugins X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=9f610fb453be88ea9c03a451054eb3c6d0e62efa;hp=6c32a7b1034abdbea556c12fc565ce800f57e047;p=config%2Fdotfiles.git Merge plugins --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..54b262a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +# Ignore unnecessary Vim files. +vim/view/* +vim/spell/* +vim/doc/tags diff --git a/gvimrc b/gvimrc new file mode 100644 index 0000000..e6ec641 --- /dev/null +++ b/gvimrc @@ -0,0 +1,12 @@ +" GVim configuration file, mostly used for MacVim. + + +" Stop the cursor from blinking. +set guicursor=a:blinkon0 + +" Don't display the toolbar. +set guioptions-=T + +" Increase window size to 110x25. +set columns=110 +set lines=25 diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..a8097cd --- /dev/null +++ b/setup.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# Setup script for Vim configuration files. + + +. ../lib.sh + +# Link setup. +link vim ~/.vim +link vimrc ~/.vimrc +link gvimrc ~/.gvimrc diff --git a/vim/after/ftplugin/crontab.vim b/vim/after/ftplugin/crontab.vim new file mode 100644 index 0000000..252f3fa --- /dev/null +++ b/vim/after/ftplugin/crontab.vim @@ -0,0 +1,9 @@ +" Vim filetype plugin file +" Language: Crontab +" Maintainer: Simon Ruderich +" Last Change: 2008-05-20 + + +" Fix to allow Vim edit crontab files as crontab doesn't work with +" backupcopy=auto. +setlocal backupcopy=yes diff --git a/vim/after/ftplugin/diff.vim b/vim/after/ftplugin/diff.vim new file mode 100644 index 0000000..6c06567 --- /dev/null +++ b/vim/after/ftplugin/diff.vim @@ -0,0 +1,8 @@ +" Vim filetype plugin file +" Language: Diff +" Maintainer: Simon Ruderich +" Last Change: 2008-05-22 + + +" Make sure no spell checking is used in diff files. +setlocal nospell diff --git a/vim/after/ftplugin/gitcommit.vim b/vim/after/ftplugin/gitcommit.vim new file mode 100644 index 0000000..bc60cf4 --- /dev/null +++ b/vim/after/ftplugin/gitcommit.vim @@ -0,0 +1,9 @@ +" Vim filetype plugin file +" Language: Git commit +" Maintainer: Simon Ruderich +" Last Change: 2009-03-14 + + +" Don't use the modeline as the diff created by `git commit -v` may contain +" one which could change the filetype or other settings of the commit window. +setlocal nomodeline diff --git a/vim/after/ftplugin/mail.vim b/vim/after/ftplugin/mail.vim new file mode 100644 index 0000000..3005e25 --- /dev/null +++ b/vim/after/ftplugin/mail.vim @@ -0,0 +1,19 @@ +" Vim filetype plugin file +" Language: Mail +" Maintainer: Simon Ruderich +" Last Change: 2008-12-07 + + +" Use only 65 characters per line as given in rfc1855. +setlocal textwidth=65 + +" Replace trailing spaces except after mail headers (To:, etc.) or a signature +" delimiter (-- ). +silent! %s/\(^\([a-zA-z-]\+:\|--\)\)\@ > to >>). +silent! %s/^\(>\+\) >/\1>/g +silent! %s/^\(>\+\) >/\1>/g + +" Move directly after the headers. +normal gg +normal } diff --git a/vim/after/ftplugin/perl.vim b/vim/after/ftplugin/perl.vim new file mode 100644 index 0000000..9f116a7 --- /dev/null +++ b/vim/after/ftplugin/perl.vim @@ -0,0 +1,9 @@ +" Vim filetype plugin file +" Language: Perl +" Maintainer: Simon Ruderich +" Last Change: 2008-10-28 + + +" Allow folding. +let perl_fold = 1 +let perl_fold_blocks = 1 diff --git a/vim/after/ftplugin/php.vim b/vim/after/ftplugin/php.vim new file mode 100644 index 0000000..190395d --- /dev/null +++ b/vim/after/ftplugin/php.vim @@ -0,0 +1,16 @@ +" Vim filetype plugin file +" Language: PHP +" Maintainer: Simon Ruderich +" Last Change: 2008-10-17 + + +" Don't allow short PHP tags () as they are not always available. +let b:php_short_tags = 0 +" Highlight SQL queries in strings. +let b:php_sql_query = 1 +" Fold PHP functions. +let b:php_folding = 3 + +" Automatically fix my wrong usage of kdb tags in phpdoc comments which don't +" exist and should be kbd tags. I make this typo all the time. +abbreviate kdb kbd diff --git a/vim/after/ftplugin/vimperator.vim b/vim/after/ftplugin/vimperator.vim new file mode 100644 index 0000000..2a57bd5 --- /dev/null +++ b/vim/after/ftplugin/vimperator.vim @@ -0,0 +1,8 @@ +" Vim filetype plugin file +" Language: Vimperator +" Maintainer: Simon Ruderich +" Last Change: 2008-06-08 + + +" Use the same comment string as for Vim files. +setlocal commentstring=\"%s diff --git a/vim/after/syntax/apache.vim b/vim/after/syntax/apache.vim new file mode 100644 index 0000000..73c5c0a --- /dev/null +++ b/vim/after/syntax/apache.vim @@ -0,0 +1,8 @@ +" Vim syntax file +" Language: Apache files +" Maintainer: Simon Ruderich +" Last Change: 2008-12-07 + + +" Only check spelling in comments. +syn match apacheComment "^\s*#.*$" contains=apacheFixme,@Spell diff --git a/vim/after/syntax/crontab.vim b/vim/after/syntax/crontab.vim new file mode 100644 index 0000000..46713e8 --- /dev/null +++ b/vim/after/syntax/crontab.vim @@ -0,0 +1,8 @@ +" Vim syntax file +" Language: Crontab files +" Maintainer: Simon Ruderich +" Last Change: 2008-11-13 + + +" Don't check spelling in variables. +syntax match crontabVar "^\s*\k\w*\s*="me=e-1 contains=@NoSpell diff --git a/vim/after/syntax/vim.vim b/vim/after/syntax/vim.vim new file mode 100644 index 0000000..1764cf5 --- /dev/null +++ b/vim/after/syntax/vim.vim @@ -0,0 +1,9 @@ +" Vim syntax file +" Language: Vim .vim files +" Maintainer: Simon Ruderich +" Last Change: 2008-05-20 + + +" Fix for the default .vim syntax to also recognize "syntax default" instead +" of "syntax def". +syn region vimHiLink contained oneline matchgroup=vimCommand start="\<\(def\(ault\)\?\s\+\)\=link\>\|\" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation diff --git a/vim/ftdetect/md.vim b/vim/ftdetect/md.vim new file mode 100644 index 0000000..2c9b7e9 --- /dev/null +++ b/vim/ftdetect/md.vim @@ -0,0 +1,8 @@ +" Vim filetype detection file +" Language: Markdown +" Maintainer: Simon Ruderich +" Last Change: 2008-05-20 + + +" Recognize .md as markdown files. +autocmd BufRead,BufNewFile *.md set filetype=mkd diff --git a/vim/ftdetect/tcl.vim b/vim/ftdetect/tcl.vim new file mode 100644 index 0000000..4324e20 --- /dev/null +++ b/vim/ftdetect/tcl.vim @@ -0,0 +1,8 @@ +" Vim filetype detection file +" Language: Tcl +" Maintainer: Simon Ruderich +" Last Change: 2008-05-28 + + +" Recognize .test as Tcl files. +autocmd BufRead,BufNewFile *.test set filetype=tcl diff --git a/vim/syntax/msmtp.vim b/vim/syntax/msmtp.vim new file mode 100644 index 0000000..5efc9cc --- /dev/null +++ b/vim/syntax/msmtp.vim @@ -0,0 +1,52 @@ +" Vim syntax file +" Language: msmtp rc files +" Maintainer: Simon Ruderich +" Last Change: 2008-08-23 +" Filenames: msmtprc +" Version: 0.1 + + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + + +" Comments. +syn match msmtpComment /#.*$/ contains=@Spell + +" General commands. +syntax match msmtpOption /\<\(defaults\|account\|host\|port\|timeout\|protocol\|domain\)\>/ +" Authentication commands. +syntax match msmtpOption /\<\(auth\|user\|password\|ntlmdomain\)\>/ +" TLS commands. +syntax match msmtpOption /\<\(tls\|tls_trust_file\|tls_crl_file\|tls_key_file\|tls_cert_file\|tls_certcheck\|tls_starttls\|tls_force_sslv3\|tls_min_dh_prime_bits\|tls_priorities\)\>/ +" Sendmail mode specific commands. +syntax match msmtpOption /\<\(auto_from\|from\|maildomain\|dsn_notify\|dsn_return\|keepbcc\|logfile\|syslog\)\>/ + + +" Options which accept only an on/off value. +syn match msmtpWrongOption /\<\(tls\|tls_certcheck\|tls_starttls\|tls_force_sslv3\|auto_from\|keepbcc\) \(on$\|off$\)\@!.*$/ +" Option port accepts numeric values. +syn match msmtpWrongOption /\= 700 + set tabpagemax=50 +endif + + +" EDIT SETTINGS + +" Enable automatic file detection, plugin and indention. +if has('autocmd') + filetype plugin indent on +endif + +" Use UTF-8 file encoding for all files. Automatically recognize latin1 in +" existing files. +set fileencodings=utf-8,latin1 + +" Wrap text after 78 characters. +set textwidth=78 + +" Set tabs to 4 spaces, use softtabs. +set shiftwidth=4 +set softtabstop=4 +set expandtab +" When < and > is used indent/deindent to the next shiftwidth boundary. +set shiftround +" Use the default value for real tabs. +set tabstop=8 + +" Enable auto indention. +set autoindent + +" When joining lines only add one space after a sentence. +set nojoinspaces + +" Allow backspacing over autoindent and line breaks. +set backspace=indent,eol + +" Start a comment when hitting enter after a commented line (r) and when using +" o or O around a commented line (o). +set formatoptions+=ro +" Don't break a line if was already longer then 'textwidth' when insert mode +" started. +set formatoptions+=l + +" Allow virtual editing (cursor can be positioned anywhere, even when there is +" no character) in visual block mode. +set virtualedit=block + +" Already display matches while typing the search command. This makes spotting +" errors easy. +set incsearch + +" Activate syntax folding. +if has('folding') + set foldmethod=syntax + set foldcolumn=2 + set foldlevel=99 " no closed folds at default, 'foldenable' would disable + " folding which is not what I want +endif + +" Only check for case if the searched word contains a capital character. +set ignorecase +set smartcase + +" Activate spell checking, use English as default. Don't use spell checking +" when diffing. +if v:version >= 700 && !&diff + set spell + set spelllang=en_us +endif + +" Allow buffers with changes to be hidden. +set hidden + + +" DISPLAY SETTINGS + +" Use a dark background. +set background=dark + +" Activate lines display. +set number +" Display the ruler with current line/file position. +set ruler +" Display partial commands in the status line. +set showcmd + +" Visualize the line the cursor is currently in. +if v:version >= 700 + set cursorline +endif + +" Display tabs, trailing space, non breakable spaces and long lines (when +" wrapping is enabled). +set list +set listchars=trail:-,nbsp:!,extends:> + + +" MAPPINGS (except for plugins, see PLUGIN SETTINGS below) + +" Use to move down a page and - to move up one like in mutt. +nnoremap +nnoremap - + +" Fast access to buffers. +nnoremap 1 :1b +nnoremap 2 :2b +nnoremap 3 :3b +nnoremap 4 :4b +nnoremap 5 :5b +nnoremap 6 :6b +nnoremap 7 :7b +nnoremap 8 :8b +nnoremap 9 :9b +nnoremap 0 :10b + +" Maps to change spell language between English and German and disable it. +if v:version >= 700 + map sn :set nospell + map se :set spell spelllang=en_us + map sd :set spell spelllang=de_de +endif + +" Add semicolon to the end of the line. Thanks to +" http://www.van-laarhoven.org/vim/.vimrc for this idea and godlygeek in #vim +" on Freenode for an improved version which doesn't clobber any marks. +nnoremap ; :call setline(line('.'), getline('.') . ';') + +" I often type "W" instead of "w" when trying to save a file. Fix my mistake. +" Thanks to Tony Mechelynck from the Vim +" mailing list for the commands. +if v:version < 700 + cnoreabbrev W w + cnoreabbrev Wq wq + cnoreabbrev Wqa wqa +else + cnoreabbrev W + \ ((getcmdtype() == ':' && getcmdpos() <= 2) ? 'w' : 'W') + cnoreabbrev Wq + \ ((getcmdtype() == ':' && getcmdpos() <= 3) ? 'wq' : 'Wq') + cnoreabbrev Wqa + \ ((getcmdtype() == ':' && getcmdpos() <= 4) ? 'wqa' : 'Wqa') +endif +" Also fix my typo with "Q". +if v:version < 700 + cnoreabbrev Q q + cnoreabbrev Qa qa +else + cnoreabbrev Q + \ ((getcmdtype() == ':' && getcmdpos() <= 2) ? 'q' : 'Q') + cnoreabbrev Qa + \ ((getcmdtype() == ':' && getcmdpos() <= 3) ? 'qa' : 'Qa') +endif + +" Make sure xa0 (alt + space) is automatically changed to a normal whitespace +" if pressed accidentally while in insert mode (happens on Mac when alt +" doesn't send escape). filereadable() is necessary for Leopard were 'mac' is +" no longer set on the console. +if has('mac') || filereadable('/Users/.localized') + imap +endif + +" Disable Apple style movements in MacVim. +if has('gui_macvim') && has('eval') + let macvim_skip_cmd_opt_movement = 1 +endif + + +" SYNTAX SETTINGS + +" Activate syntax coloring. +if has('syntax') + syntax enable + +" Highlight text longer then 78 characters. Thanks to Tony Mechelynck +" from the Vim mailing list. + if v:version >= 700 + 2match Todo /\%>78v./ + else + match Todo /\%>78v./ + endif + +" Highlight TODO, FIXME, CHANGED and XXX in all documents. + if v:version >= 701 && has('patch40') + call matchadd('Todo', '\(TODO\|FIXME\|CHANGED\|XXX\)') + endif +endif + + +" PLUGIN SETTINGS + +" Settings for the NERD commenter. +" Don't create any mappings I don't want to use. +if has('eval') + let NERDCreateDefaultMappings = 0 +endif +" Map toggle comment. +map NERDCommenterToggle + + +" AUTO COMMANDS + +" Use a custom auto group to prevent problems when the vimrc files is sourced +" twice. +if has('autocmd') + augroup vimrc + autocmd! + +" Use diff filetype for mercurial patches in patch queue. + autocmd BufReadPost */.hg/patches/* set filetype=diff + + augroup END +endif