Плагин "matchit" для vim должен позволять вам использовать клавишу %
для перехода между соответствующими начальными / конечными тегами при редактировании HTML, а также /*
и */
разделители комментариев при редактировании других типов кода.
Я следовал точным инструкциям в ":help matchit
", но %
все еще не работает для меня.
Кажется глупым спрашивать "Почему это не работает?" поэтому вместо этого я спрашиваю Как я могу диагностировать проблему? Указатели на ссылки приветствуются, но предпочтительны конкретные методы отладки vim-plugin.
Вот каталог ~ / .vim:
$ ls -ltaGR ~/.vim
/cygdrive/y/.vim:
total 0
drwxr-xr-x 1 spause 0 Sep 17 13:20 ..
drwxr-xr-x 1 spause 0 Sep 16 13:59 doc
drwxr-xr-x 1 spause 0 Sep 16 13:58 .
drwxr-xr-x 1 spause 0 Sep 16 13:58 plugin
/cygdrive/y/.vim/doc:
total 24
-rw-r--r-- 1 spause 1961 Sep 16 13:59 tags
drwxr-xr-x 1 spause 0 Sep 16 13:59 .
-rw-r--r-- 1 spause 19303 Sep 16 13:58 matchit.txt
drwxr-xr-x 1 spause 0 Sep 16 13:58 ..
/cygdrive/y/.vim/plugin:
total 32
drwxr-xr-x 1 spause 0 Sep 16 13:58 ..
-rw-r--r-- 1 spause 30714 Sep 16 13:58 matchit.vim
drwxr-xr-x 1 spause 0 Sep 16 13:58 .
Я использую vim 7.2 под Cygwin (установлен осенью 2008 г.). cygcheck
показывает:
1829k 2008/06/12 C:\cygwin\bin\cygwin1.dll
Cygwin DLL version info:
DLL version: 1.5.25
DLL epoch: 19
DLL bad signal mask: 19005
DLL old termios: 5
DLL malloc env: 28
API major: 0
API minor: 156
Shared data: 4
DLL identifier: cygwin1
Mount registry: 2
Cygnus registry name: Cygnus Solutions
Cygwin registry name: Cygwin
Program options name: Program Options
Cygwin mount registry name: mounts v2
Cygdrive flags: cygdrive flags
Cygdrive prefix: cygdrive prefix
Cygdrive default prefix:
Build date: Thu Jun 12 19:34:46 CEST 2008
CVS tag: cr-0x5f1
Shared id: cygwin1S4
В vim, :set
показывает:
--- Options ---
autoindent fileformat=dos shiftwidth=3
background=dark filetype=html syntax=html
cedit=^F scroll=24 tabstop=3
expandtab shelltemp textmode
viminfo='20,<50,s10,h
Примечательно, что синтаксис и тип файла распознаются как HTML. (Синтаксис раскраски просто отлично.)
Если необходима дополнительная информация, пожалуйста, прокомментируйте.
UPDATE:
За ответ по слишком много php :
После попытки vim -V1
, я изменил свой .vimrc
, чтобы включить строку
set nocp
, поэтому опция compatible
не включена.
:let loadad_matchit
loaded_matchit #1
:set runtimepath?
runtimepath=~/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,~/.vim/after
(~
is /cygdrive/y
)
За ответ Майкл :
:scriptnames
1: /cygdrive/y/.vimrc
2: /usr/share/vim/vim72/syntax/syntax.vim
3: /usr/share/vim/vim72/syntax/synload.vim
4: /usr/share/vim/vim72/syntax/syncolor.vim
5: /usr/share/vim/vim72/filetype.vim
6: /usr/share/vim/vim72/colors/evening.vim
7: /cygdrive/y/.vim/plugin/matchit.vim
8: /cygdrive/y/.vim/plugin/python_match.vim
9: /usr/share/vim/vim72/plugin/getscriptPlugin.vim
10: /usr/share/vim/vim72/plugin/gzip.vim
11: /usr/share/vim/vim72/plugin/matchparen.vim
12: /usr/share/vim/vim72/plugin/netrwPlugin.vim
13: /usr/share/vim/vim72/plugin/rrhelper.vim
14: /usr/share/vim/vim72/plugin/spellfile.vim
15: /usr/share/vim/vim72/plugin/tarPlugin.vim
16: /usr/share/vim/vim72/plugin/tohtml.vim
17: /usr/share/vim/vim72/plugin/vimballPlugin.vim
18: /usr/share/vim/vim72/plugin/zipPlugin.vim
19: /usr/share/vim/vim72/syntax/html.vim
20: /usr/share/vim/vim72/syntax/javascript.vim
21: /usr/share/vim/vim72/syntax/vb.vim
22: /usr/share/vim/vim72/syntax/css.vim
Обратите внимание, что все matchit.vim, html.vim, tohtml.vim, css.vim и javascript.vim присутствуют.
:echo b:match_words
E121: Undefined variable: b:match_words
E15: Invalid expression: b:match_words
Хм, это выглядит очень актуально. Сейчас я просматриваю :help matchit-debug
, чтобы узнать, как исправить b:match_words
.