Vim Tips Wiki
Advertisement
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Tip 214 Printable Monobook Previous Next

created February 14, 2002 · complexity intermediate · author Tomas Zellerin · version 6.0


If you have different menus for different filetypes, and you want to have only the menu relevant to current buffer displayed, you can use this approach:

In your vimrc:

au BufEnter * if exists('b:BuffEnter')|exec b:BuffEnter|endif
au BufLeave * if exists('b:BuffEnter')|exec b:BuffLeave|endif

In appropriate ftplugin/?.vim, there are assigned commands to create or destroy the menus - here typed in directly, may be of course call to a menu-generating function or whatever.

let b:BuffEnter='amenu C.added ...'
let b:BuffLeave='unmenu! C|unmenu C'

Comments

Advertisement