On 28/05/08 11:51, Antony Scriven wrote:
> 2008/5/28 Andy Wokula<[EMAIL PROTECTED]>:
>
> > Antony Scriven schrieb:
> > > Hi all. I've often encountered the situation where a plugin
> > > maps keys that I've wistfully mapped in my vimrc. I think it
> > > would be useful for a user to be able to prevent this, say
> > > by using a notation such as
> > >
> > > :map<final> \x foo
> > >
> > > Then if Vim tries to map \x elsewhere, the command is ignored.
> > > Comments? --Antony
> >
> > You can put your mappings in a
> > ~/.vim/after/plugin/vimrc.vim
> > or define a function triggered by the VimEnter autocmd.
> > Thus you get again the last word on your mappings.
>
> That only works for some cases. Ftplugins? --Antony
ftplugins should only have ":map <buffer>" (and similarly ":setlocal"
etc.) to avoid clobbering mappings for other buffers; and you can always
(once you know about them, which may be as simple as using ":verbose map
{lhs}" and/or ":verbose map! {lhs}", in both cases with the appropriate
{lhs}) override them in an "after-plugin", i.e., a user-written ftplugin
in the corresponding |after-directory|.
You could even use
: au VimEnter * au FileType * map <buffer> {lhs} {rhs}
-- using the VimEnter autocommand event (which is triggered after all
global plugins have been run) to set up a FileType autocommand (which
will thus be triggered after all other FileType autocommands, including
the one which sources the filetype-plugin).
Best regards,
Tony.
--
If you don't get everything you want, think of
everything you didn't get and don't want.
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---