-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy pathpi_paren.jax
70 lines (49 loc) · 3.64 KB
/
pi_paren.jax
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
*pi_paren.txt* For Vim バージョン 9.1. Last change: 2024 Nov 04
VIMリファレンスマニュアル by Bram Moolenaar
対応するカッコの強調表示 *matchparen*
このプラグインは標準プラグイン |standard-plugin| である。
'compatible' がオフのときだけ使用できる。
"loaded_matchparen" 変数を設定することで、このプラグインの読み込みを回避でき
る: >
:let loaded_matchparen = 1
このプラグインは自動コマンドイベントの CursorMoved、CursorMovedI、WinEnter を
使って強調表示を再設定する。
*:NoMatchParen* *:DoMatchParen*
このプラグインの機能を無効にするには次のコマンドを使う: >
:NoMatchParen
機能を有効に戻すには次のコマンドを使う: >
:DoMatchParen
強調表示には MatchParen が使われる。":highlight" コマンドを使って好きな色を設
定できる。例: >
:hi MatchParen ctermbg=blue guibg=lightblue
デフォルトでは、プラグインはカーソルの下の括弧とマッチする括弧の両方を、
|hl-MatchParen| ハイライトグループを使用してハイライトする。これにより、カーソ
ルのハイライトが MatchParen の色に置き換えられるため、カーソルが一時的に画面か
ら消える場合がある。これを防ぎ、プラグインがマッチする括弧のみをハイライトし、
(実質的にカーソルのスタイルを変更せずに) カーソルの下の括弧をハイライトしない
ようにするには、"matchparen_disable_cursor_hl" 変数を設定する: >
:let matchparen_disable_cursor_hl = 1
オプション 'matchpairs' に設定されている文字が強調表示される。このオプションを
設定することで好きな文字を強調表示できる。Note 設定しても機能しない文字もある。
例えば、シングルクォートやダブルクォートのペアなどは、始点と終点が同じなので強
調表示できない。
対応するカッコを探すときには構文強調の属性が使われる。カーソル位置の文字が、文
字列やコメント以外のときは、文字列やコメントの中は無視される。名前に "string"
や "comment" が含まれている構文強調アイテムはすべて、文字列やコメントとして扱
われる。
カーソルの移動が遅くならないように、対応するカッコの検索には次の制限がある:
- ウィンドウに表示されている範囲だけ検索する。
- 閉じた折り畳みがあると処理に時間がかかるので、カーソル位置から 100 行以内の
範囲だけ検索する。
- 長い行が構文強調表示されていると処理に時間がかかるので、カーソル位置から
'synmaxcol' の二倍の範囲の文字だけ検索する。
- 300 ミリ秒でタイムアウト (挿入モードでは 60 ミリ秒)。これは変数の
"g:matchparen_timeout" と "g:matchparen_insert_timeout" を設定することで変更
できる。バッファ毎に設定する場合は "b:matchparen_timeout" と
"b:matchparen_insert_timeout" を設定する。
|%| コマンドの動作を改善したい場合は matchit プラグインが使用できる。
|matchit-install| 参照。このプラグインを使うとコメント内のカッコをスキップする
こともできる。これは matchparen プラグインとの関連性はない。matchit プラグイン
は matchparen とは別のメカニズムを使っている。
==============================================================================
vim:tw=78:ts=8:noet:ft=help:norl: