On 07/01/10 03:25, Gary Johnson wrote:
On 2010-01-06, frank wang wrote:
Hi,

I am trying to map two commands on one key such as:

nmap<C-\>g :call add(SrcExpl_markList, [expand("%:p"), line("."),
col(".")]) :cs find s<cword>

The command will push the current position to the SrcExpl_markList and
execute the cscope command cs find s<cword>. However, every time when
I type the key<C-\>g,
the command will be shown on the command line as
:call add(SrcExpl_markList, [expand("%:p"), line("."), col(".")]) :cs
find s<cword>

After I hit the enter, vim will complain E488: Trailing characters and
it will not jumt to the definition of<cword>. It seems the first part
of command call add(SrcExpl_markList, [expand("%:p"), line("."),
col(".")]) was executed correctly.

Does anyone know what I did wrong?

The command separator is a bar (|).  See

     :help :bar

Your mapping would then be:

     nmap<C-\>g :call add(SrcExpl_markList, [expand("%:p"), line("."), col(".")])\|cs find 
s<cword><CR>

You can also use "<Bar>" in place of "|" or "\|" in some contexts,
but I've never sure which and I didn't try it here.

I added<CR>  so that you won't have to hit Enter after hitting the
mapped key.

Regards,
Gary




Mappings (and abbreviations) are the main context where <Bar> is useful: in fact I avoid backslashes in mappings because (depending on circumstances) they may have to be doubled for each level of interpretation (when the mapping is defined, when it is interpreted, etc.). All <> notation symbols shown at ":help keycodes" (which is just _before_ ":help <>") can be used in mappings.


Best regards,
Tony.
--
There is a certain impertinence in allowing oneself to be burned for an
opinion.
                -- Anatole France

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to