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'm using Vim on Ubuntu. When I press a function key in insert mode, the name of the key is inserted literally.

For example, if I'm in insert mode and I press Ctrl+F12, the following text is inserted <C-F12>. I have this key tied to a global shortcut key to trigger a Google search box. Furthermore, I can see no personal practical value to inserting the name of a function key into the file I'm editing.

  • How can I get Vim to not insert the name of a function key when a function key is pressed in insert mode?
share|improve this question
add comment

1 Answer 1

up vote 2 down vote accepted

Try this:

:map <C-F12> <nop>
:map! <C-F12> <nop>

See:

:help :map
:help <nop>

However, I would assume that having a global shortcut key defined should "eat" the key events so Vim never sees them. Is it possible to tell your OS to behave that way for this binding? After all this probably only solves your problem for Vim, and not other applications.

share|improve this answer
    
Thanks. You are right. I guess I have two concerns. One is that the keyboard shortcut for the Google Quick search box on Ubuntu does not seem to take precedence over any shortcuts defined in the active window. Two, I'd like to disable all printing of function keys in insert mode in Vim. –  Jeromy Anglim Sep 2 '11 at 9:05
    
You can add more mappings like the ones I've shown, but there's no real way to "wildcard" all function keys, so you'll have to do it individually. Vim does allow looping -- ":help :while" and you'll need to look at ":help :execute". –  Heptite Sep 2 '11 at 17:34
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.