Vim Tips Wiki

Current buffer based menus

Redirected from VimTip214

1,623pages on
this wiki
Add New Page
Add New Page Talk0
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'


Also on Fandom

Random Wiki