--- a/.vim/view/~=+public_html=+osten-ui=+Pages=+Evn.pm= Sun Sep 01 11:14:49 2013 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
-argglobal
-setlocal autoindent
-setlocal autoread
-setlocal nobinary
-setlocal bufhidden=
-setlocal buflisted
-setlocal buftype=
-setlocal nocindent
-setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e
-setlocal cinoptions=
-setlocal cinwords=if,else,while,do,for,switch
-setlocal comments=b:#
-setlocal commentstring=/*%s*/
-setlocal complete=.,w,b,u,t,i
-setlocal define=[^A-Za-z_]
-setlocal dictionary=
-setlocal nodiff
-setlocal equalprg=
-setlocal errorformat=
-setlocal noexpandtab
-if &filetype != 'perl'
-setlocal filetype=perl
-endif
-setlocal foldcolumn=0
-setlocal foldenable
-setlocal foldexpr=0
-setlocal foldignore=#
-setlocal foldlevel=0
-setlocal foldmarker={{{,}}}
-setlocal foldmethod=indent
-setlocal foldminlines=1
-setlocal foldnestmax=20
-setlocal foldtext=foldtext()
-setlocal formatoptions=crqol
-setlocal grepprg=
-setlocal iminsert=0
-setlocal imsearch=0
-setlocal include=\\<\\(use|require\\)\\s*
-setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','')
-setlocal indentexpr=
-setlocal indentkeys=0{,0},:,0#,!^F,o,O,e
-setlocal noinfercase
-setlocal iskeyword=48-57,_,A-Z,a-z,:
-setlocal keymap=
-setlocal nolinebreak
-setlocal nolisp
-setlocal nolist
-setlocal makeprg=
-setlocal matchpairs=(:),{:},[:]
-setlocal modeline
-setlocal modifiable
-setlocal nrformats=octal,hex
-setlocal nonumber
-setlocal path=/usr/local/lib/perl/5.6.1,/usr/local/share/perl/5.6.1,/usr/lib/perl5,/usr/share/perl5,/usr/lib/perl/5.6.1,/usr/share/perl/5.6.1,/usr/local/lib/site_perl/i386-linux,/usr/local/lib/site_perl,,
-setlocal nopreviewwindow
-setlocal noreadonly
-setlocal noscrollbind
-setlocal shiftwidth=4
-setlocal noshortname
-setlocal smartindent
-setlocal softtabstop=4
-setlocal suffixesadd=
-setlocal swapfile
-if &syntax != ''
-setlocal syntax=
-endif
-setlocal tabstop=8
-setlocal tags=
-setlocal textwidth=72
-setlocal thesaurus=
-setlocal wrap
-setlocal wrapmargin=0
-23
-normal zo
-23
-normal zo
-let s:l = 34 - ((25 * winheight(0) + 11) / 22)
-if s:l < 1 | let s:l = 1 | endif
-exe s:l
-normal zt
-34
-normal 0
-let &so = s:so_save | let &siso = s:siso_save
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/install Sun Sep 01 12:10:43 2013 +0200
@@ -0,0 +1,39 @@
+#! /usr/bin/perl
+
+use 5.012;
+use warnings;
+use File::Basename;
+use File::Spec::Functions qw(catfile rel2abs abs2rel canonpath);
+use Sys::Hostname;
+use autodie;
+
+# list of files/dirs to exclude
+my @exclude = map { qr/$_/ } qw(
+ ^\.\.?$
+ ^\.hg$
+), basename $0;
+
+foreach my $this (grep { not $_ ~~ @exclude } glob('.*')) {
+
+ my $link = catfile $ENV{HOME}, $this;
+
+ given ($link) {
+ when (not -e) {
+ { no autodie; unlink $link } # may be necessary if it's a broken symlink
+ symlink abs2rel($this, $ENV{HOME}) => $link;
+ say "$link linked";
+ next;
+ }
+ when(not -l) {
+ warn "$link is not a link, skipping\n";
+ next;
+ }
+ when(-l) {
+ my $dst = rel2abs(readlink, $ENV{HOME});
+ next if $dst eq rel2abs($this);
+ warn "$link is a link to $dst, skipping\n";
+ next;
+ }
+ default { ... }
+ }
+}