" Vim indent file " Language: Gedcom " Maintainer: Patrick Texier " Last Change: 2010 May 22 " Url: " Thanks to Teemu Likonen for his help on Vim maillist list. " Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif let b:did_indent = 1 " indent only LifeLines tmp gedcom files if getline(1) =~ '^0' && getline(1) != '0 HEAD' setlocal indentexpr=Gedcom_indent(v:lnum) setlocal indentkeys=!^F,*, " shiftwidth value must be equal to LifeLines indent. setlocal sw=2 endif function! Gedcom_indent(line) let number = matchstr(getline(a:line),'\v^\s*\zs\d+\ze') if number == '' return -1 else if number == 0 number = 1 endif return (number - 1) * &shiftwidth endif endfunction