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.