Editing GEDCOM files with vim
March 5th, 2012
2 comments
GEDCOM files sometimes have no indentation. That makes it difficult to read or edit them with a text editor. Using the following simple instructions, you can auto-indent the file so that it is more readable in the vim editor.
Save the next few lines into a file called gedcom_indent. Make the file executable and place it somewhere in your path.
#!/usr/bin/env python
from __future__ import print_function
import sys
for line in sys.stdin:
line = line.lstrip()
try:
level = int(line.split(' ', 1)[0])
print('\t' * level, end='')
except:
pass
print(line, end='', sep='')
Now add the following 2 lines to your ~/.vimrc file:
autocmd BufReadPost,FileReadPost *.ged %!gedcom_indent autocmd FileType gedcom set foldmethod=indent nolist ts=4
This tells vim to filter any file with a “ged” extension through the small gedcom_indent filter (which will add leading tabs to the file). The second line tells it to make each TAB count for 4 spaces, and to fold based on indentation.
