Hoisting What is it? : Hoisting is a way to focus on a particular area of an outline. Only the : offspring from a selected parent will be shown. The offspring are : left-justified just as if they were the top level headings and had no : parent. Installation Get the newest, possibly unstable vo_hoist.vim CVS server: :pserver:anonymous@red.noels-lab.com:2401/usr/local/cvsroot : no password is required Web: http://red.noels-lab.com/cgi-bin/cvsweb.cgi/ VimOutliner mailing list Put it where you put your other experimental vim scrips perhaps this is ~/.vimoutliner/ Add this line to your ~/.vimoutlinerrc so /vo_hoist.vim Optionally set the hoistParanoia variable : If you are really paranoid about loosing your data during shakedown : of vo_hoist.vim, you can add this to your ~/.vimoutlinerrc file. It : will prevent VO from automatically removing the temporary hoist : files. This will have a tendency to hugely increase the number of : files in your working directory (but if you're paranoid... ;) ) let g:hoistParanoia = 1 How do I use it? Hoisting : Whenever you open a VO document, hoisting will be available. Invocation Place the cursor on the parent to be hoisted ,,h You will need to hit to accept some informational messages You should now see the children of the selected parent ready for editing Treat this document just like a normal .otl file De-hoisting : From within the hoisted document you simply need to quit. The : hoisted data will be saved in place of the old children. The cursor : will be returned to the hoisted parent. Invocation The :q, :wq, :x and ZZ perform a de-hoist operation A write will automatically be done to save any changes Manual De-hoisting : Should the de-hoisting ever fail or should an operator quit Vim (by : closing the window with the mouse, say), a manual de-hoisting will : need to be performed. You can find a currently hoisted parent by searching for __hoist Place the cursor on the parent with the __hoist tag ,,H The edited, hoisted offspring will replace the current offspring The __hoist tag will be removed The Hoist Tag Example Tag : The hoist tag is added to a hoisted parent for error recovery. It : includes a filename, a line number and a timestamp. Example Tag __hoist:vo_hoist.46.20030816124249.otl Tag Components Tag Marker __hoist: Easy search and replace Filename Prefix vo_hoist. Needed to comply with VO standards for file naming Parent Line Number (at time of hoisting) 46. Timestamp 20030816124249 YYYYMMDDhhmmss Filename Suffix .otl Duh The Log Files : Log files of the hoists are created to aid in error recovery should that : become necessary. They are created in the same directory as the working : .otl file. Log Filename .vo_hoist..log Example Log Filename .vo_hoist.test.otl.log Contents There is one line per hoist operation Each is comprised of a parent with a __hoist tag Limitations 1 Level Deep : Until debug is complete, hoisting is limited to one level.