Skip to content

Latest commit

 

History

History
61 lines (54 loc) · 2.47 KB

wsblock.org

File metadata and controls

61 lines (54 loc) · 2.47 KB

Description of block behaviour

Block display

  • ^KH: switch on or off
  • off when no <B> and no <K>
  • if <B> and/or <K> are present, can be on or off
  • turns automatically on if from the off state <B> or <K> are defined
  • <B> and <K> are defined by ^KB and ^KK respectively
  • when displayed, if ^KB or ^KK are used when the cursor is at <B> or <K>

(displayed right after), <B> or <K> are removed

  • if not displayed, they are made visible
  • <B> and <K> are displayed as <B> and <K> standout when there is

only one of them or the position of <K> is less or equal to the position of <B>, otherwise <B> and <K> are not visible and the characters between are made standout

  • if <B> and <K> are on the same position, <B> is displayed before

<K>

Editing

  • The cursor is never on the standout part of <B> or <K>

Column mode

  • ^KN turns on and off column mode (default if off)
  • in column mode what is selected and what is copied is the rectangle from

<B> to <K>

  • in order for the rectangle to appear, the column of <K> must be greater

than the column of <B>

  • ^KI turns on or off the column replace mode (default is off)
  • when the column replace mode is on, it replaces the content of the

columns instead of inserting

  • when inserting text in the selection when in column mode, the selection

does not move

  • there is no standout selection if one of the selected lines ends before

the column of <K>

  • The rules of moving <B> and <K> in column mode are the same as in

normal mode

  • Regarding the selection of tabs in column mode:
    • if there are tabs, they are counted as 8 characters
    • a tab can be only either selected or not selected
    • partial tabs are selected on the left and not selected on the right

Key summary

^KB

  • if block not visible, set kb at cursor, make block visible
  • if block visible and
    • if cursor on kb, unset kb; if no kk, set block to not visible
    • if cursor not on kb, set kb to cursor position

^KK

-> functions the same way as ^KB, setting and unsetting then kk variable

^KH

  • if block not visible and kb or kk defined, make the block visible
  • if block visible, make the block not visible

Making the block visible

  • if kk > kb, standout from kb to kk; for column mode, additional constraint: the columnt of kk must be greater than the column of kb.
  • otherwise display kb as <B> standout and kk as <K> standout