matchit.vim の動作

47 views
Skip to first unread message

tora

unread,
Oct 7, 2019, 5:03:30 AM10/7/19
to vim_jp
最近、vim を使って、html のファイルを編集していて、気がついたことがあります。

大部分のタグは期待したようにジャンプするのですが、次のタグはうまく
働きません。
<li>...</li>, <dt>...</dt>, <ul>...</ul>, <dd>...</dd>

これらのタグは、開始タグ<> から 終了タグ</> へ向かう時に動作が誤動作となり、
終了タグから開始タグへ向かうときは正常に動作します。

使用している vim はversion8.1.5 で、matchit.vim はversion 1.13.3 です。

この現象は私のPC だけでしょうか。
(私の実力ではmatchit.vimを読み解くことは、できませんでした。)
Message has been deleted

Hiroyuki Yoshinaga

unread,
Oct 13, 2019, 6:03:40 AM10/13/19
to vim_jp
2019年10月7日月曜日 18時03分30秒 UTC+9 tora:
大部分のタグは期待したようにジャンプするのですが、次のタグはうまく
働きません。
<li>...</li>, <dt>...</dt>, <ul>...</ul>, <dd>...</dd>
どうやら箇条書きは順番に辿れるようにしているようです
対処法としては、b:match_wordsを再設定してやれば良いようです
→help matchit

ただ、私もうまくいかないケース刈り、https://github.com/vim-jp/issues/issues/1311 で伺ったのですが、
set filetype=〜
がかかるとリセットされるので、~/.vim/after/ftplugin/html.vim に次を記述すればよいです
→help ftplugin-overrule

scriptencoding utf-8
if exists('b:did_after_ftplugin_user')
    finish
endif
let b:did_after_ftplugin_user = 1
let b:undo_ftplugin = 'unlet b:did_after_ftplugin_user'

let b:match_words = '<\(\w\+\)[^>]*>:</\1>,' . &l:matchpairs

なおここの記述処理が少ないのであれば、わざわざ読み込み制限しないで、最後の一行だけのファイルでも大丈夫です
Reply all
Reply to author
Forward
0 new messages