diff --git a/blk/105 b/blk/105 index 2a3edab..01ff871 100644 --- a/blk/105 +++ b/blk/105 @@ -6,7 +6,9 @@ ( user-facing lines are 1-based ) : T 1- DUP 64 * EDPOS ! _pln ; : P IBUF _type IBUF EDPOS @ _cpos 64 MOVE BLK!! ; -: _mvln+ ( ln -- move ln 1 line further ) +: _mvln+ ( ln -- move ln 1 line down ) DUP 14 > IF DROP EXIT THEN - _lpos DUP 64 + 64 MOVE -; + _lpos DUP 64 + 64 MOVE ; +: _mvln- ( ln -- move ln 1 line up ) + DUP 14 > IF DROP 15 _lpos _zbuf + ELSE 1+ _lpos DUP 64 - 64 MOVE THEN ; diff --git a/blk/122 b/blk/122 index deb62f6..d0a1fa2 100644 --- a/blk/122 +++ b/blk/122 @@ -8,9 +8,9 @@ Block Editor (B100). Refer to documentation there. 'o' inserts a blank line after the cursor. 'O', before. -'f' puts the contents of your previous cursor movement into the -find buffer. If that movement was a forward movement, it brings -the cursor back where it was. This allows for an efficient -combination of movements and 'E'. For example, if you want to -delete the next word, you type 'w', then 'f', then check your -"F" buffer to be sure, then press 'E'. (cont.) +'D' deletes "modifier" lines at the cursor. + + + + + (cont.) diff --git a/blk/123 b/blk/123 index c8dca32..7fe46c8 100644 --- a/blk/123 +++ b/blk/123 @@ -1,3 +1,10 @@ +'f' puts the contents of your previous cursor movement into the +find buffer. If that movement was a forward movement, it brings +the cursor back where it was. This allows for an efficient +combination of movements and 'E'. For example, if you want to +delete the next word, you type 'w', then 'f', then check your +"F" buffer to be sure, then press 'E'. + 'X' deletes "modifier" characters following cursor. 'R' goes into replace mode at current cursor position. diff --git a/blk/130 b/blk/130 index 05e9803..0406b6e 100644 --- a/blk/130 +++ b/blk/130 @@ -8,5 +8,7 @@ EDPOS @ _cpos C! 1 EDPOS +! BLK!! 0 THEN UNTIL mode! SPC contents ; : $O EDPOS @ 0x3c0 ( 15 * 64 ) >= IF EXIT THEN - _U EDPOS @ 0x3c0 AND DUP pos! _cpos _zbuf contents ; + _U EDPOS @ 0x3c0 AND DUP pos! _cpos _zbuf BLK!! contents ; : $o EDPOS @ 64 < IF EXIT THEN EDPOS @ 64 + EDPOS ! $O ; +: $D acc@ 0 DO 16 EDPOS @ 64 / DO i _mvln- LOOP LOOP + BLK!! contents ;