On 30/03/12 15:35, Tarlika Elisabeth Schmitz wrote:
On Fri, 30 Mar 2012 14:39:33 +0200
Guido Van Hoecke <[email protected]> wrote:

Is there a way to prevent :help from splitting the window?!
cabbrev h tab help

Many thanks - works fine here.

I've covered all options in .vimrc now:

" always open help in new tab
cabbrev help tab help
cabbrev he tab help
cabbrev h tab help







One slight disadvantage of the above (which can be worked around in recent versions) is that if you ever type the word "help" on a command lne, it will be abbreviated even if not at the start. For example, the (very useful) command

        :help help

will become

        :tab help tab help

which not only is not what you want, it is illegal. In addition, the abbreviation will be triggered also in / or ? (search) command-lines, which you don't want either.

The way to work around it is as follows:

        if version < 700
                cnoreabbrev h tab h
                cnoreabbrev he tab he
                cnoreabbrev hel tab hel
                cnoreabbrev help tab help
                " in Vim 6.x or earlier (which is now obsolete
                " but hasn't got :abbr <expr> )
                " we'll need to break the abbrev halfway
                " (e.g. by <Left><Right>)
                " to avoid expanding the argument of :help help
                " or h he hel help in a search command
        else
                cnoreabbrev <expr> h
                \ ((getcmdtype() == ':' && getcmdpos() <= 2)?
                \ 'tab h' : 'h')
                cnoreabbrev <expr> he
                \ ((getcmdtype() == ':' && getcmdpos() <= 3)?
                \ 'tab he' : 'he')
                cnoreabbrev <expr> hel
                \ ((getcmdtype() == ':' && getcmdpos() <= 4)?
                \ 'tab hel' : 'hel')
                cnoreabbrev <expr> help
                \ ((getcmdtype() == ':' && getcmdpos() <= 5)?
                \ 'tab help' : 'help')
        endif

Notes:
-----
- The above (meant for cut'n paste) assumes 'nocompatible', which is the default if your vimrc is named .vimrc or _vimrc but not .exrc or _exrc - The deprecated (but still valid) variable name "version" is used in preference to "v:version" for compatibility with some even older obsolete versions.


Best regards,
Tony.
--
Once Law was sitting on the bench
        And Mercy knelt a-weeping.
"Clear out!" he cried, "disordered wench!
        Nor come before me creeping.
Upon you knees if you appear,
'Tis plain you have no standing here."

Then Justice came.  His Honor cried:
        "YOUR states? -- Devil seize you!"
"Amica curiae," she replied --
        "Friend of the court, so please you."
"Begone!" he shouted -- "There's the door --
I never saw your face before!"
                -- Ambrose Bierce, "The Devil's Dictionary"

--
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