#microViche MicroViche is sort of like a microfiche reader: it lets you pan and zoom through text. Installation is simple: download nav.vim, open Vim, :source nav.vim, and press f10. Check out the youtube video!
####Commands Use the mouse to pan or evoke commands with f10:
h j k l y u b n | pan (takes count) | f1 | help and warnings | |
---|---|---|---|---|
r M | redraw visible / all | o | open map | |
A D | append / delete split | L | insert label | |
S W | settings / save settings | q esc | quit |
In the map (f10 o):
h j k l y u b n | move (takes count) | f1 | help and warnings | |
---|---|---|---|---|
H J K L Y U B N | pan (takes count) | z | zoom | |
g enter doubleclick | goto label | c C | center cursor / view | |
click drag | select / pan | q esc | quit | |
p P | prev / next in history |
####Labels
Labels are lines that start with a label marker (default txb:
) and specify an anchor, title, or both. When the map is updated (f10 r, o, and M), displaced labels are reanchored by inserting or removing immediately preceding blank lines. Anchoring failures are shown in the map.
The syntax is marker(anchor)(:)( title#highlght#comment)
, but let's just consider some examples:
txb:345 blah blah anchor to line 345
txb:345: Intro#Search anchor 345, title Intro
, color Search
(Note the : separator).
txb: Intro just title Intro
txb: Intro## blah blah just title Intro
####Tips
- To resolve labeling conflicts, the case-insensitive alphabetically first title starting with
!
will be shown, eg,txb:321: !aaaImportant
. On cursor-over, the rest will be shown in line number order. - Terminal emulators work better than gVim since the latter doesn't support mousing in map mode or automatic redrawing on window / font resize. Cygwin (and the bundled mintty terminal emulator) is a great Windows setup.
- To disable scrollbinding: f10 Settings→ change
autoexe
to se noscb nowrap→apply all - Keyboard-free navigation is possible: dragging to the topleft corner opens the map and clicking the topleft corner closes it. (Terminal emulator only; ttymouse must be set to sgr or xterm2.)
- If you have an inaccessible hotkey, :call TxbKey('S') for Settings.
- To highight labels, try: syntax match Title +^txb\S*: \zs.[^#\n]*+ oneline display