dotfiles

configuration files for shell, text editor, graphical environment, etc.
git clone git://src.adamsgaard.dk/dotfiles
Log | Files | Refs | README | LICENSE Back to index

commit a3f40ea42e2c31705717844aa77c5a83b098369c
parent 7ad1065644f44e879bd1987f152b2f9d2dbb5c45
Author: Anders Damsgaard Christensen <adc@geo.au.dk>
Date:   Tue, 19 Feb 2013 21:06:47 +0100

Added pathogen, various vim plugins, changed urxvt term name to 256 colors

Diffstat:
M.Xdefaults | 3++-
M.signature | 4++--
M.vim/.netrwhist | 5++++-
M.vim/autoload/pathogen.vim | 175++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
M.vimrc | 11++++++++---
5 files changed, 145 insertions(+), 53 deletions(-)

diff --git a/.Xdefaults b/.Xdefaults @@ -74,6 +74,8 @@ xpdf*matteColor: gray xpdf*urlCommand: /usr/bin/firefox %s ! rxvt-unicode --------------------------------------------------------------- +!URxvt.termName:screen-256color +URxvt.termName:rxvt-256color URxvt.transparent: true ! URxvt.shading: 0 to 99 darkens, 101 to 200 lightens URxvt.shading: 20 @@ -99,7 +101,6 @@ URxvt.matcher.button: 1 !URxvt.background: Black !URxvt.saveLines: 1024 URxvt.meta8: True -urxvt*termName: rxvt ! xscreensaver --------------------------------------------------------------- !font settings diff --git a/.signature b/.signature @@ -2,5 +2,5 @@ Anders Damsgaard Christensen Ph.D. student, Dept. of Geoscience, Aarhus University, Denmark adc@geo.au.dk | http://cs.au.dk/~adc Phone: (+45) 87 15 63 04, (+45) 61 27 42 66 -PGP public key (private): http://cs.au.dk/~adc/adc.gpg -PGP public key (work): http://cs.au.dk/~adc/adc-work.gpg +PGP public key (private): http://cs.au.dk/~adc/adc.gpg (new key, 02/14/2013) +PGP public key (work): http://cs.au.dk/~adc/adc-work.gpg (new key, 02/13/2013) diff --git a/.vim/.netrwhist b/.vim/.netrwhist @@ -1,8 +1,11 @@ let g:netrw_dirhistmax =10 -let g:netrw_dirhist_cnt =6 +let g:netrw_dirhist_cnt =9 let g:netrw_dirhist_1='/home/adc/code/simple_DEM/output' let g:netrw_dirhist_2='/home/adc/.config/awesome' let g:netrw_dirhist_3='/home/adc/.config/chromium' let g:netrw_dirhist_4='/home/adc/code/dotfiles' let g:netrw_dirhist_5='/home/adc' let g:netrw_dirhist_6='/home/adc/.config' +let g:netrw_dirhist_7='/home/adc' +let g:netrw_dirhist_8='/home/adc/downloads' +let g:netrw_dirhist_9='/home/adc/code/cppfem/src' diff --git a/.vim/autoload/pathogen.vim b/.vim/autoload/pathogen.vim @@ -1,12 +1,12 @@ " pathogen.vim - path option manipulation " Maintainer: Tim Pope <http://tpo.pe/> -" Version: 2.0 +" Version: 2.2 " Install in ~/.vim/autoload (or ~\vimfiles\autoload). " " For management of individually installed plugins in ~/.vim/bundle (or -" ~\vimfiles\bundle), adding `call pathogen#infect()` to your .vimrc -" prior to `filetype plugin indent on` is the only other setup necessary. +" ~\vimfiles\bundle), adding `call pathogen#infect()` to the top of your +" .vimrc is the only other setup necessary. " " The API is documented inline below. For maximum ease of reading, " :set foldmethod=marker @@ -16,18 +16,35 @@ if exists("g:loaded_pathogen") || &cp endif let g:loaded_pathogen = 1 -" Point of entry for basic default usage. Give a directory name to invoke -" pathogen#runtime_append_all_bundles() (defaults to "bundle"), or a full path -" to invoke pathogen#runtime_prepend_subdirectories(). Afterwards, -" pathogen#cycle_filetype() is invoked. -function! pathogen#infect(...) abort " {{{1 - let source_path = a:0 ? a:1 : 'bundle' - if source_path =~# '[\\/]' - call pathogen#runtime_prepend_subdirectories(source_path) - else - call pathogen#runtime_append_all_bundles(source_path) +function! s:warn(msg) + if &verbose + echohl WarningMsg + echomsg a:msg + echohl NONE endif +endfunction + +" Point of entry for basic default usage. Give a relative path to invoke +" pathogen#incubate() (defaults to "bundle/{}"), or an absolute path to invoke +" pathogen#surround(). For backwards compatibility purposes, a full path that +" does not end in {} or * is given to pathogen#runtime_prepend_subdirectories() +" instead. +function! pathogen#infect(...) abort " {{{1 + for path in a:0 ? reverse(copy(a:000)) : ['bundle/{}'] + if path =~# '^[^\\/]\+$' + call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') + call pathogen#incubate(path . '/{}') + elseif path =~# '^[^\\/]\+[\\/]\%({}\|\*\)$' + call pathogen#incubate(path) + elseif path =~# '[\\/]\%({}\|\*\)$' + call pathogen#surround(path) + else + call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') + call pathogen#surround(path . '/{}') + endif + endfor call pathogen#cycle_filetype() + return '' endfunction " }}}1 " Split a path into a list. @@ -111,8 +128,9 @@ function! pathogen#cycle_filetype() " {{{1 endif endfunction " }}}1 -" Checks if a bundle is 'disabled'. A bundle is considered 'disabled' if -" its 'basename()' is included in g:pathogen_disabled[]' or ends in a tilde. +" Check if a bundle is disabled. A bundle is considered disabled if it ends +" in a tilde or its basename or full name is included in the list +" g:pathogen_disabled. function! pathogen#is_disabled(path) " {{{1 if a:path =~# '\~$' return 1 @@ -120,29 +138,48 @@ function! pathogen#is_disabled(path) " {{{1 return 0 endif let sep = pathogen#separator() - return index(g:pathogen_disabled, strpart(a:path, strridx(a:path, sep)+1)) != -1 + let blacklist = g:pathogen_disabled + return index(blacklist, strpart(a:path, strridx(a:path, sep)+1)) != -1 && index(blacklist, a:path) != 1 endfunction "}}}1 -" Prepend all subdirectories of path to the rtp, and append all 'after' -" directories in those subdirectories. -function! pathogen#runtime_prepend_subdirectories(path) " {{{1 - let sep = pathogen#separator() - let before = filter(pathogen#glob_directories(a:path.sep."*"), '!pathogen#is_disabled(v:val)') - let after = filter(pathogen#glob_directories(a:path.sep."*".sep."after"), '!pathogen#is_disabled(v:val[0:-7])') +" Prepend the given directory to the runtime path and append its corresponding +" after directory. If the directory is already included, move it to the +" outermost position. Wildcards are added as is. Ending a path in /{} causes +" all subdirectories to be added (except those in g:pathogen_disabled). +function! pathogen#surround(path) abort " {{{1 + let sep = pathogen#separator() let rtp = pathogen#split(&rtp) - let path = expand(a:path) - call filter(rtp,'v:val[0:strlen(path)-1] !=# path') - let &rtp = pathogen#join(pathogen#uniq(before + rtp + after)) + if a:path =~# '[\\/]{}$' + let path = fnamemodify(a:path[0:-4], ':p:s?[\\/]\=$??') + let before = filter(pathogen#glob_directories(path.sep.'*'), '!pathogen#is_disabled(v:val)') + let after = filter(reverse(pathogen#glob_directories(path.sep."*".sep."after")), '!pathogen#is_disabled(v:val[0:-7])') + call filter(rtp,'v:val[0:strlen(path)-1] !=# path') + else + let path = fnamemodify(a:path, ':p:s?[\\/]\=$??') + let before = [path] + let after = [path . sep . 'after'] + call filter(rtp, 'index(before + after, v:val) == -1') + endif + let &rtp = pathogen#join(before, rtp, after) return &rtp endfunction " }}}1 -" For each directory in rtp, check for a subdirectory named dir. If it -" exists, add all subdirectories of that subdirectory to the rtp, immediately -" after the original directory. If no argument is given, 'bundle' is used. -" Repeated calls with the same arguments are ignored. -function! pathogen#runtime_append_all_bundles(...) " {{{1 +" Prepend all subdirectories of path to the rtp, and append all 'after' +" directories in those subdirectories. Deprecated. +function! pathogen#runtime_prepend_subdirectories(path) " {{{1 + call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#surround('.string(a:path.'/{}').')') + return pathogen#surround(a:path . pathogen#separator() . '{}') +endfunction " }}}1 + +" For each directory in the runtime path, add a second entry with the given +" argument appended. If the argument ends in '/{}', add a separate entry for +" each subdirectory. The default argument is 'bundle/{}', which means that +" .vim/bundle/*, $VIM/vimfiles/bundle/*, $VIMRUNTIME/bundle/*, +" $VIM/vim/files/bundle/*/after, and .vim/bundle/*/after will be added (on +" UNIX). +function! pathogen#incubate(...) abort " {{{1 let sep = pathogen#separator() - let name = a:0 ? a:1 : 'bundle' + let name = a:0 ? a:1 : 'bundle/{}' if "\n".s:done_bundles =~# "\\M\n".name."\n" return "" endif @@ -150,38 +187,71 @@ function! pathogen#runtime_append_all_bundles(...) " {{{1 let list = [] for dir in pathogen#split(&rtp) if dir =~# '\<after$' - let list += filter(pathogen#glob_directories(substitute(dir,'after$',name,'').sep.'*[^~]'.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])') + [dir] + if name =~# '{}$' + let list += filter(pathogen#glob_directories(substitute(dir,'after$',name[0:-3],'').'*[^~]'.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])') + [dir] + else + let list += [dir, substitute(dir, 'after$', '', '') . name . sep . 'after'] + endif else - let list += [dir] + filter(pathogen#glob_directories(dir.sep.name.sep.'*[^~]'), '!pathogen#is_disabled(v:val)') + if name =~# '{}$' + let list += [dir] + filter(pathogen#glob_directories(dir.sep.name[0:-3].'*[^~]'), '!pathogen#is_disabled(v:val)') + else + let list += [dir . sep . name, dir] + endif endif endfor let &rtp = pathogen#join(pathogen#uniq(list)) return 1 +endfunction " }}}1 + +" Deprecated alias for pathogen#incubate(). +function! pathogen#runtime_append_all_bundles(...) abort " {{{1 + if a:0 + call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#incubate('.string(a:1.'/{}').')') + else + call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#incubate()') + endif + return call('pathogen#incubate', map(copy(a:000),'v:val . "/{}"')) endfunction let s:done_bundles = '' " }}}1 " Invoke :helptags on all non-$VIM doc directories in runtimepath. -function! pathogen#helptags() " {{{1 +function! pathogen#helptags() abort " {{{1 let sep = pathogen#separator() - for dir in pathogen#split(&rtp) - if (dir.sep)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir.sep.'doc') == 2 && !empty(glob(dir.sep.'doc'.sep.'*')) && (!filereadable(dir.sep.'doc'.sep.'tags') || filewritable(dir.sep.'doc'.sep.'tags')) - helptags `=dir.'/doc'` - endif + for glob in pathogen#split(&rtp) + for dir in split(glob(glob), "\n") + if (dir.sep)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir.sep.'doc') == 2 && !empty(filter(split(glob(dir.sep.'doc'.sep.'*'),"\n>"),'!isdirectory(v:val)')) && (!filereadable(dir.sep.'doc'.sep.'tags') || filewritable(dir.sep.'doc'.sep.'tags')) + helptags `=dir.'/doc'` + endif + endfor endfor endfunction " }}}1 command! -bar Helptags :call pathogen#helptags() +" Execute the given command. This is basically a backdoor for --remote-expr. +function! pathogen#execute(...) abort " {{{1 + for command in a:000 + execute command + endfor + return '' +endfunction " }}}1 + " Like findfile(), but hardcoded to use the runtimepath. -function! pathogen#runtime_findfile(file,count) "{{{1 +function! pathogen#runtime_findfile(file,count) abort "{{{1 let rtp = pathogen#join(1,pathogen#split(&rtp)) - return fnamemodify(findfile(a:file,rtp,a:count),':p') + let file = findfile(a:file,rtp,a:count) + if file ==# '' + return '' + else + return fnamemodify(file,':p') + endif endfunction " }}}1 " Backport of fnameescape(). -function! pathogen#fnameescape(string) " {{{1 +function! pathogen#fnameescape(string) abort " {{{1 if exists('*fnameescape') return fnameescape(a:string) elseif a:string ==# '-' @@ -191,17 +261,30 @@ function! pathogen#fnameescape(string) " {{{1 endif endfunction " }}}1 +if exists(':Vedit') + finish +endif + +let s:vopen_warning = 0 + function! s:find(count,cmd,file,lcd) " {{{1 let rtp = pathogen#join(1,pathogen#split(&runtimepath)) let file = pathogen#runtime_findfile(a:file,a:count) if file ==# '' return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'" - elseif a:lcd + endif + if !s:vopen_warning + let s:vopen_warning = 1 + let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE' + else + let warning = '' + endif + if a:lcd let path = file[0:-strlen(a:file)-2] execute 'lcd `=path`' - return a:cmd.' '.pathogen#fnameescape(a:file) + return a:cmd.' '.pathogen#fnameescape(a:file) . warning else - return a:cmd.' '.pathogen#fnameescape(file) + return a:cmd.' '.pathogen#fnameescape(file) . warning endif endfunction " }}}1 @@ -219,7 +302,7 @@ function! s:Findcomplete(A,L,P) " {{{1 else let request = a:A endif - let pattern = substitute(request,'\'.sep,'*'.sep,'g').'*' + let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*' let found = {} for path in pathogen#split(&runtimepath) let path = expand(path, ':p') @@ -242,4 +325,4 @@ command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabed command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(<count>,'pedit',<q-args>,<bang>1) command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(<count>,'read',<q-args>,<bang>1) -" vim:set ft=vim ts=8 sw=2 sts=2: +" vim:set et sw=2: diff --git a/.vimrc b/.vimrc @@ -1,5 +1,5 @@ " Include pathogen plugin manager -"call pathogen#infect() +execute pathogen#infect() " REQUIRED. This makes vim invoke Latex-Suite when you open a tex file. filetype plugin on @@ -68,9 +68,14 @@ set pastetoggle=<F2> "match OverLength /\%81v.\+/ " Vim Powerline -"set nocompatible " Disable vi-compatibility -"set laststatus=2 " Always show the statusline +set nocompatible " Disable vi-compatibility +set laststatus=2 " Always show the statusline set encoding=utf-8 " Necessary to show unicode glyphs +"let g:Powerline_symbols = 'fancy' +let g:Powerline_symbols = 'unicode' + +" NERD Tree short cut +map <F3> :NERDTreeToggle<CR> :autocmd FileType mail :nmap <F6> :w<CR>:!aspell -e -c %<CR>:e<CR>