On Sun, 29 Jan 2012, Clark J. Wang wrote:

On Monday, January 30, 2012 2:24:55 PM UTC+8, Markus Osterhoff wrote:

* Clark J. Wang <[email protected]> [120130 07:01]:
So I wonder if the `jj' mapping can be ignored when doing copy-n-paste and only work when I'm typing from a keyboard.
:set paste
do your paste
:set nopaste


I knew 'paste' can work that around.

My idea is to introduce a new option, say 'mapwait' which is a number in milliseconds. For example, if 'mapwait' is set to 100 then two 'j' chars entered in less than 100ms will not be considered as the `jj' mapping.

Interesting. I was about to suggest setting 'timeoutlen' to 100. But, that's the opposite of what you're looking for. (It will wait up to 100 milliseconds for the next keystroke.)

I like the idea of 'mapwait', because it seems like the false-positive rate could be very low (problems w/ spotty internet?), but the true-positives that it would catch would be pretty numerous. Maybe set it much lower, though, around 10ms. I'm an okay typist (60 WPM according to an online test¹), but testing it via some Perl², my minimum time between keystrokes was around the 50ms mark.

On the other hand, probably a less error-prone approach would be to provide (or fix?) support for bracketed paste mode³. It's been available in XTerm for a long time, and it's also supported by rxvt-unicode. Unsure of its support in derivatives of either. And it was disabled by default for a long time (might still be?).

--
Best,
Ben

¹: http://patorjk.com/typing-speed-test/
²: perl -MTerm::ReadKey -MTime::HiRes=time -lwe 'my $stop = "="; print "Type $stop 
to exit"; ReadMode 4; END { ReadMode 0 } my @times; while (1) { next unless defined($k = 
ReadKey -1); push @times, time; last if $k eq $stop; } print for map { int(1000 * 
($times[$_]-$times[$_-1])) } 1..$#times'
³: http://www.xfree86.org/current/ctlseqs.html#Bracketed%20Paste%20Mode

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to