Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a mapping defined like

noremap <M-n> :tabn<CR>

which works nicely, except in the following scenario: I run :make, I'm waiting while javac is thinking, then I suddenly realize something I should check in another file and try to switch tabs. I cannot do this, since until :make completes I'm still in command mode, and :tabn does not have the desired effect.

Is there any way I can map directly to the action of switching tabs, and not to the keys that would be typed to do so?

share|improve this question
add comment

1 Answer

up vote 1 down vote accepted

:map commands only deal with keyboard input, so if Vim is busy waiting for a command to finish, it's not going to respond to a mapping.

If there's some way to make your :make (!) run in the background, then you'd be fine. But Vim isn't particularly multithreaded.

share|improve this answer
    
Yes, lack of parallelism does seem to be a problem; I can't even switch tabs by clicking on the gui tabs. sigh oh well. Thanks for your answer. –  Owen May 28 '11 at 17:13
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.