@{{{}}} @{{{ @ref-header ViOri-Reference-Card @ref-title ViOri Reference Card @ref-author Andrew Miller Anytime in the future, ViOri will be working :-) @}}} @{{{ ViOri-Reference-Card This is a very Beta release of the vi bindings. It is not as bad as the previous release which was not really useable by anyone but me. HELP is bound to H in command mode. @{{{ History The first release (well, escape really) was something like 0.4, followed by 0.5, both of which required that the user type ESC twice to exit insert mode/enter command mode. I have now added cursor key support, though not yet anything for home etc. As a result, one can now type escape once to enter command mode. This may at first sight appear to be a minor change, but it involved a nasty hack, as it is difficult to tell appart cursor keys which start with ESC and other key sequences which really are legal vi commands, without a timeout. As a result certain terminals may have problems. Xterm, for instance will not keybind unless the keys are mapped so that sun escape sequences are produced (as determined by autoalias.) This is because xterm produces ESC O as the prefix for a cursor key (":ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:" from our /etc/termcap) @}}} @{{{ Motion The way which motion is are defined is somewhat different to the standard vi method. The start of the motion is indicated by the command letter in the usual way, but the end of the motion is indicated be repeating the command letter. Thus to delete 2 lines djd is used instead of dj or 2dd. Trying to delete 8 lines with 8dd or d8d does not work, but d8jd does. This has the nice side effect that one does not have to count lines or set marks to delete or yank, but can wander through the file, possibly marking a whole procedure or block in one delete/yank command. @}}} @{{{ Folding FOLDING is done in exacly the same way with V.........V to mark the start and end of a new fold. To be completely honest, the Delete and yank commands are build on top of folding, this being the reason why the other commands are structured the way they are. I do intend to implement the traditional VI motions, but need some more time warp to do this. FOLD COMMANDS are prefixed by v in command mode @ref-start-tbl key 3 function 32 ve @@ enter fold vx @@ exit fold vo @@ open fold vc @@ close fold vf @@ toggle filed fold vA @@ Attach file to fold vt @@ mtool top of fold vb @@ mtool bottom of fold vl @@ set language vu @@ unfold fold @ref-end-tbl @}}} @{{{ Multiple Buffers MULTIPLE BUFFERS can be created with =A and =o for adjacent Right (analog to A for Append to line) and below (analog to o for open.) One can change between buffers with =h =j =k =l or the arrow keys with = as a prefix. =r causes cursor motion to resize the current window, and all the other windows as appropriate. @}}} @{{{ Mouse The MOUSE can be used to change windows, to scroll by clicking at the appporiate edge of the window for a given buffer, and to move the cursor. Thus folding yanking and deletion of large areas of text can be done with 2 keyboard actions (eg V and V) and the mouse. The support is almost exactly that of Modeori @}}} @{{{ Bugs S and C are dangerous U and u are not implemented. y is currently broken (it worked once upon a 1.6.25 or so...) p and P sometimes unfold lines you do not expect to see unfolding. r (which is completely trivial and has worked since 1.6.25) ceased to work in version 1.6.63 or so without my even having touched the OCL code. search and replace does not yet work. Internal problems with screen-on and screen-of mean that using ex mode is hairy. An exact emulation of ex mode will not be provided as it is not sensible to emulate these features under origami. An alternative to ex mode will be provided, which is consistent with the Origami way of doing things. (ie How does Modeori/viori do something analagous.) @}}} @{{{ (Un)Acknowledgements I started writing this binding in 1991 on the Sun cluster in the Informatik Computer pool at the RWTH Aachen. Wolfgang Stumvoll has spent many a day explaining the interals of origami, and has suggested many of the solutions to the problems which cropped up on the way, not to mention debugging help etc. I wish to thank my employer Aqua_plan in Aachen for allowing me to continue this work, and for the several Megabytes of disk which my development requires, not to mention the CPU hours.... The transition from the cruddy version previously let out to this not so cruddy version 0.a took place entirely in February/March 1993! @if-using ( sarcasm ) My previous employer ought to be thankful (but isn't) that I invested all the time I should have been hacking Origami between the 13.1.1992 and 31.10.1992 in finding the fundamental design bug in the project. Read the F**king manuals Guys! My previous employer ought to be even more thankful that I am not going to name the company here. @fi @}}} @}}}