Erik Wognsen schrieb:
> I've seen this in the Mac editor TextMate: Block mode insert inserts
> the characters in all relevant lines _as you type_!
>
> It's by no means an important feature, but would look spiffy. I
> figured that when vim keeps different buffers for the same file
> synchronized as you type, doing this with lines in the same buffer
> would be possible.
>
> Are we going to see this feature someday?
>
> Regards,
> Erik Wognsen
here is something in Vim script
... basically the same as what worked for the "typewriter":
It's like doing I{char}<Esc> from Visual block mode for every
character typed in.
" start "synchronized Visual-block-insert mode" with v_gI :
xmap gI <Plug>sim
vmap <script> <Plug>sim I<SID>m_
imap <SID>m_<Esc> <Esc>
ino <silent> <SID>m_ <C-R>=TwGetchar()<CR>
func! TwGetchar()
if getchar(1)
let chr = s:getchar()
else
let chr = "."
endif
call feedkeys("\<Plug>sim")
if chr == "\<BS>"
return "\egvhohxgv"
elseif chr == "\<C-U>"
return "\egvhoh0xgv"
else
return chr. "\egvlol"
endif
endfunc
func! s:getchar()
let chr = getchar()
if chr != 0
let chr = nr2char(chr)
endif
return chr
endfunc
" many problems yet ... but no serious ones:
" TODO
" - restrict to Visual block mode
" - handle situation when cursor cannot move left
" - Visual block mode, more than one column selected, <BS> pressed: prevent
" data loss
" - listen to 'backspace' option (let cursor not move left from Insert start
" position)
" - don't insert dummy char when not pressing a char within 'timeoutlen'
" - check with 'selection' not at default
" - enable [count]gI
" - ...
" - much more
" - ...
--
Andy
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---