On 24/10/08 00:24, Robin Wood wrote:
> 2008/10/23 Tony Mechelynck<[EMAIL PROTECTED]>:
>> On 23/10/08 23:11, Robin Wood wrote:
>>> 2008/10/23 Tony Mechelynck<[EMAIL PROTECTED]>:
>>>> On 23/10/08 10:36, Robin Wood wrote:
>>>>> 2008/10/22 Tony Mechelynck<[EMAIL PROTECTED]>:
>>>>>> Matchit is not "breaking" anything, it "improves" % matching; however,
>>>>>> to do that, it relies on a buffer-local variable b:match_words telling
>>>>>> it what to match: just look up what that variable is set to in:
>>>>>> - a Vim script,
>>>>>> - an HTML file,
>>>>>> - an XML file
>>>>>> - a bash script
>>>>>> - etc.
>>>>>>
>>>>>> The above autocommand "restores" matching of round, square and curly
>>>>>> brackets for these 4 filetypes which don't set the matchit setting in
>>>>>> their filetype-plugins. However even here there is a plus: with the
>>>>>> above, and matchit loaded at startup, you won't anymore pair a bracket
>>>>>> within a comment with its opposite outside a comment.
>>>>>>
>>>>> if has('autocmd')
>>>>>           augroup vimrclocal
>>>>>           " match (:),[:],{:} in matchit for C, C++, CSS and javascript
>>>>>                   au FileType c,cpp,css,javascript,php
>>>>>                           \ let b:match_words =&matchpairs
>>>>>           " you may have other autocommands, unrelated to the above.
>>>>>           " Place them here.
>>>>>           augroup END
>>>>> endif
>>>>>
>>>>> I mainly edit .html and .php files so I added php to the FileType list
>>>>> when adding this to my .vimrc. After this normal bracket matching
>>>>> works for .php files  but I lose the html matching, html matching
>>>>> works fine on .html files but no bracket matching.
>>>>>
>>>>> How do I view the buffer? I'll send in the entries from the different
>>>>> file types.
>>>> What do you mean by "view the buffer"? The file you're editing is in the
>>>> active window. If you mean the autocommands for the FileType event,
>>>>
>>>>          :verbose au FileType
>>>>
>>>> will show them. You can optionally add an autocommand group name before
>>>> the event name and/or an autocommand pattern after it. If you mean the
>>>> b:match_words variable or the 'matchpairs' options for the current
>>>> buffer, display them (after making sure that you edit the right buffer)
>>>> by means of
>>>>
>>>>          :echo b:match_words
>>>>          :verbose set matchpairs?
>>> OK, from this, when editing a php file I get
>>>    :echo b:match_words
>>> (:),{:},[:]
>>>
>>> and :verbose set matchpairs? gives
>>> matchpairs=(:),{:},[:]
>>>
>>> However, on my desktop with the latest vim when I do the echo I get this
>>>
>>> <?php:?>,\<switch\>:\<endswitch\>,\<if\>:\<elseif\>:\<else\>:\<endif\>,\<while\>:\<endwhile\>,\<do\>:\<while\>,\<for\>:\<endfor\>,\<foreach\>:\<endforeach\>,(:),[:],{:},<:>,<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/
>>> [ou]l>,<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,<\@<=\([^/][^
>>> \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>
>>>
>>> This obviously explains the difference in how things work. Could it be
>>> just the version of vim that is causing the problem or something else.
>>>
>>> About the version, I know it is old, I know it needs updating, I know
>>> there are bugs in it but I also know there is nothing I can do about
>>> it. It isn't getting upgraded which is why I would like a fix for
>>> this. If it isn't possible then as long as I know that it isn't I can
>>> live with it but not knowing is very frustrating. Every other machine
>>> I use has up-to-date versions, it is just this one machine.
>>>
>>> Robin
>> Have you got matchit installed? Look at the output of ":scriptnames" and
>> see if matchit is listed. If it isn't, then on Unix/Linux bash
>
> Its there, number 9
>
>    1: /etc/vimrc
>    2: /usr/share/vim/vim63/syntax/syntax.vim
>    3: /usr/share/vim/vim63/syntax/synload.vim
>    4: /usr/share/vim/vim63/syntax/syncolor.vim
>    5: /usr/share/vim/vim63/filetype.vim
>    6: /home/robin/.vimrc
>    7: /usr/share/vim/vim63/syntax/nosyntax.vim
>    8: /usr/share/vim/vim63/ftplugin.vim
>    9: /home/robin/.vim/plugin/matchit.vim
>   10: /usr/share/vim/vim63/plugin/explorer.vim
>   11: /usr/share/vim/vim63/plugin/gzip.vim
>   12: /usr/share/vim/vim63/plugin/netrw.vim
>   13: /usr/share/vim/vim63/plugin/rrhelper.vim
>   14: /usr/share/vim/vim63/plugin/tohtml.vim
>   15: /usr/share/vim/vim63/scripts.vim
>> But then, if your ftplugins are not setting b:match_words it means
>> you've got obsolete versions of the runtime files.
>
> If this is the problem how can I fix it?
>
> Robin

Hah! By getting more recent runtime files; but the current runtimes use 
the features of the corresponding current binaries, features some of 
which have probably been introduced since your current Vim version was 
published. Seems to me like a case of "have my cake and eat it too".


Best regards,
Tony.
-- 
APL is a mistake, carried through to perfection.  It is the language of
the future for the problems of the past: it creates a new generation of
coding bums.

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to