|
1 |
| -*autocmd.txt* For Vim バージョン 8.2. Last change: 2022 Apr 17 |
| 1 | +*autocmd.txt* For Vim バージョン 8.2. Last change: 2022 May 24 |
2 | 2 |
|
3 | 3 |
|
4 | 4 | VIMリファレンスマニュアル by Bram Moolenaar
|
|
46 | 46 | る場合がたまにある)。可能であれば、イベント File* や Buf* には同じ自動コマン
|
47 | 47 | ドを使うのはよい考えだ。
|
48 | 48 |
|
| 49 | +推奨される使用法: |
| 50 | +- 常にグループを利用することで、自動コマンドの削除が容易になる。 |
| 51 | +- コマンド自体を短く維持し、より多くの仕事をする関数を呼ぶようにする。 |
| 52 | +- 定義したスクリプトを複数回ソースしても自動コマンドは繰り替えさないようにす |
| 53 | + る。 |
| 54 | + |
| 55 | +Vim9 script での例: > |
| 56 | + autocmd_add({replace: true, |
| 57 | + group: 'DemoGroup', |
| 58 | + event: 'BufEnter', |
| 59 | + pattern: '*.txt', |
| 60 | + cmd: 'call DemoBufEnter()' |
| 61 | + }) |
| 62 | +
|
| 63 | +旧来のスクリプトの例: > |
| 64 | + call autocmd_add(#{replace: v:true, |
| 65 | + \ group: 'DemoGroup', |
| 66 | + \ event: 'BufEnter', |
| 67 | + \ pattern: '*.txt', |
| 68 | + \ cmd: 'call DemoBufEnter()' |
| 69 | + \ }) |
| 70 | +
|
49 | 71 | ==============================================================================
|
50 | 72 | 2. 自動コマンドの定義 *autocmd-define*
|
51 | 73 |
|
|
79 | 101 | /<start
|
80 | 102 | }
|
81 | 103 |
|
| 104 | +|autocmd_add()| 関数で自動コマンドとそのグループのリストを Vim script から追加 |
| 105 | +することができる。あたなが `:autocmd` を伴う `:execute` を利用する必要がある場 |
| 106 | +合にこれが推奨される。 |
| 107 | + |
82 | 108 | Note: ":autocmd" コマンドの後には、パターンが期待される位置に '|' が現れる場合
|
83 | 109 | にのみ別のコマンドを続けることができる。これは動作する: >
|
84 | 110 | :augroup mine | au! BufRead | augroup END
|
@@ -144,6 +170,9 @@ Note [group] はあらかじめ定義されていなければならないこと
|
144 | 170 | ==============================================================================
|
145 | 171 | 3. 自動コマンドの除去 *autocmd-remove*
|
146 | 172 |
|
| 173 | +以下で説明するコマンドに加えて、|autocmd_delete()| 関数で自動コマンドとそのグ |
| 174 | +ループのリストで Vim script から削除することができる。 |
| 175 | + |
147 | 176 | :au[tocmd]! [group] {event} {aupat} [++once] [++nested] {cmd}
|
148 | 177 | {event} と {aupat} に関連づけられた全ての自動コマンド
|
149 | 178 | を除去し、コマンド {cmd} を加える。
|
@@ -198,6 +227,8 @@ Note [group] はあらかじめ定義されていなければならないこと
|
198 | 227 | バッファローカルな自動コマンドを列挙するには、<buffer>または<buffer=N>という形
|
199 | 228 | のパターンを使う。|autocmd-buflocal|を参照。
|
200 | 229 |
|
| 230 | +|autocmd_get()| 関数で自動コマンドのリストを Vim script から取得できる。 |
| 231 | + |
201 | 232 | *:autocmd-verbose*
|
202 | 233 | 'verbose' がゼロでないならば、自動コマンドを列挙するときに、それが最後にどこで
|
203 | 234 | 定義されたかも表示する。例: >
|
|
0 commit comments