/
neocomplcache.jax
549 lines (423 loc) · 27.2 KB
/
neocomplcache.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
*neocomplcache.txt* 究極の自動補完環境
Version: 4.01
Author : Shougo <Shougo.Matsu@gmail.com>
License: MIT license {{{
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
}}}
CONTENTS *neocomplcache-contents*
Introduction |neocomplcache-introduction|
Interface |neocomplcache-interface|
Commands |neocomplcache-commands|
Variables |neocomplcache-variables|
Key mappings |neocomplcache-key-mappings|
Examples |neocomplcache-examples|
Plugins |neocomplcache-plugins|
Create plugin |neocomplcache-create-plugin|
Changelog |neocomplcache-changelog|
==============================================================================
INTRODUCTION *neocomplcache-introduction*
*neocomplcache* はバッファ中のキーワードをキャッシュすることで、キーワード補
完を行う。 Vim組み込みのキーワード補完とは違い、自前で実装しているため、柔軟
なカスタマイズが可能である。 ただし他のプラグインよりメモリを大量に消費する。
==============================================================================
INTERFACE *neocomplcache-interface*
------------------------------------------------------------------------------
COMMANDS *neocomplcache-commands*
:NeoComplCacheEnable *:NeoComplCacheEnable*
neocomplcacheを有効にし、初期化を行う。 これを実行すると、今
までのキャッシュが消えてしまうので注意。
:NeoComplCacheDisable *:NeoComplCacheDisable*
neocomplcacheを無効にし、後始末を行う。
:NeoComplCacheToggle *:NeoComplCacheToggle*
neocomplcacheのロック状態を切り替える。
ロックしている間は自動補完ができなくなる。
:Neco *:Neco*
???
:NeoComplCacheLock *:NeoComplCacheLock*
自動補完にロックをかけ、自動補完しないようにする。 自動補完
をロックしていたとしても、手動補完は使用できる。 自動補完を
一時的に無効にしたい場合に有効。 ロック状態はバッファローカ
ルである。
:NeoComplCacheUnLock *:NeoComplCacheUnLock*
自動補完にかけたロックを解除する。
:NeoComplCacheAutoCompletionLength *:NeoComplCacheAutoCompletionLength*
自動補完する文字数を一時的に変更する。
:NeoComplCacheCachingBuffer [bufname] *:NeoComplCacheCachingBuffer*
[bufname]で示されるバッファを完全にキャッシュする。 大きなバッ
ファに対しては、かなり時間がかかるので注意。 [bufname]を省略
すると、カレントバッファを指定したことになる。 [bufname]のバッ
ファがまだキャッシュされていない場合、簡易キャッシュのみを行
う。
:NeoComplCacheCachingSyntax [filetype] *:NeoComplCacheCachingSyntax*
[filetype]のシンタックスをもう一度キャッシュする。
[filetype]を省略すると、カレントバッファのファイルタイプを指
定したことになる。
:NeoComplCacheCachingTags [bufname] *:NeoComplCacheCachingTags*
[bufname]のタグをキャッシュする。 [bufname]を省略すると、カ
レントバッファのファイルタイプを指定したことになる。 これを
実行しなければ、tags_completeは動作しない。
:NeoComplCacheCachingDisable [bufname] *:NeoComplCacheCachingDisable*
[bufname]で示されるバッファをキャッシュしないようにする。 バッ
ファのキャッシュは削除されるので注意。 [bufname]を省略すると、
カレントバッファを指定したことになる。
:NeoComplCacheCachingEnable [bufname] *:NeoComplCacheCachingEnable*
[bufname]で示されるバッファをキャッシュできるようにする。
[bufname]を省略すると、カレントバッファを指定したことになる。
:NeoComplCachePrintSource [bufname] *:NeoComplCachePrintSource*
[bufname]で示されるバッファのキャッシュ情報をカレントバッファ
に書き出す。 [bufname]を省略すると、カレントバッファを指定し
たことになる。 主にデバッグ用の機能のため、ユーザーが使うこ
とはないだろう。
:NeoComplCacheOutputKeyword [bufname] *:NeoComplCacheOutputKeyword*
[bufname]で示されるバッファのキャッシュしたキーワードをカレ
ントバッファに書き出す。 [bufname]を省略すると、カレントバッ
ファを指定したことになる。 辞書ファイルを自分で作成するとき
に便利かもしれない。
:NeoComplCacheCreateTags [bufname] *:NeoComplCacheCreateTags*
[bufname]で示されるバッファから、タグ情報を生成する。
[bufname]を省略すると、カレントバッファを指定したことになる。
:NeoComplCacheEditSnippets [filetype] *:NeoComplCacheEditSnippets*
[filetype]のスニペット補完ファイルを編集する。 [filetype]を
省略すると、カレントバッファのファイルタイプを編集する。
[filetype]のスニペット補完ファイルが存在しない場合、新しく生
成される。 このコマンドでは、|g:NeoComplCache_SnippetsDir|に
あるスニペット補完ファイルを優先的に編集する。 スニペット補
完ファイルを保存すると、自動的に再キャッシュされる。
:NeoComplCacheEditRuntimeSnippets [filetype] *:NeoComplCacheEditRuntimeSnippets*
[filetype]のスニペット補完ファイルを編集する。 [filetype]を
省略すると、カレントバッファのファイルタイプを編集する。
[filetype]のスニペット補完ファイルが存在しない場合、新しく生
成される。 このコマンドでは、neocomplcacheに付属するスニペッ
ト補完ファイルを編集する。 スニペット補完ファイルを保存する
と、自動的に再キャッシュされる。
:NeoComplCachePrintSnippets [filetype] *:NeoComplCachePrintSnippets*
[filetype]のスニペットをすべて表示する。 [filetype]を省略す
ると、カレントバッファのファイルタイプを指定したことになる。
スニペットの名前を忘れてしまったときに便利であろう。
------------------------------------------------------------------------------
VARIABLES *neocomplcache-variables*
g:NeoComplCache_EnableAtStartup *g:NeoComplCache_EnableAtStartup*
Vim起動時にneocomplcacheを有効にするかどうか制御する。 1なら
ば自動で有効化する。このオプションは.vimrcで設定するべきであ
る。
初期値は0なので、手動で有効にしない限りneocomplcacheは使用で
きない。
g:NeoComplCache_MaxList *g:NeoComplCache_MaxList*
ポップアップメニューで表示される候補の数を制御する。 候補が
これを超えた場合は切り詰められる。
初期値は100である。
g:NeoComplCache_MaxKeywordWidth *g:NeoComplCache_MaxKeywordWidth*
ポップアップメニューで表示される候補の表示幅を制御する。 こ
れを超えた場合は適当に切り詰められる。
初期値は50である。
g:NeoComplCache_MaxFilenameWidth *g:NeoComplCache_MaxFilenameWidth*
ポップアップメニューで表示されるファイル名の表示幅を制御する。
これを超えた場合は切り詰められる。
初期値は15である。
g:NeoComplCache_KeywordCompletionStartLength *g:NeoComplCache_KeywordCompletionStartLength*
キー入力時にキーワード補完を行う入力数を制御する。
初期値は2である。
g:NeoComplCache_ManualCompletionStartLength *g:NeoComplCache_ManualCompletionStartLength*
手動補完時に補完を行う入力数を制御する。 この値を減らすと便
利だが、ポップアップ表示時 <C-h> や <BS> などで文字を削除し
たときに重くなる可能性がある。
初期値は2である。
g:NeoComplCache_MinKeywordLength *g:NeoComplCache_MinKeywordLength*
バッファや辞書ファイル中で、補完の対象となるキーワードの最小長さを制御する。
初期値は4である。
g:NeoComplCache_MinSyntaxLength *g:NeoComplCache_MinSyntaxLength*
シンタックスファイル中で、補完の対象となるキーワードの最小長さを制御する。
初期値は4である。
g:NeoComplCache_IgnoreCase *g:NeoComplCache_IgnoreCase*
補完候補を探すときに、大文字・小文字を無視するかを制御する。
1ならば無視する。
初期値は1である。
g:NeoComplCache_SmartCase *g:NeoComplCache_SmartCase*
入力に大文字が含まれている場合は、大文字・小文字を無視しない
ようにする。 1ならば有効。
初期値は0である。
g:NeoComplCache_AlphabeticalOrder *g:NeoComplCache_AlphabeticalOrder*
候補をアルファベット順で並び替えるかを制御する。 このオプショ
ンを設定すると、neocomplcacheの機能がかなり制限されるが、補
完処理は高速化する。 1ならば有効。
初期値は0なので、頻度順に並び替える。
g:NeoComplCache_CacheLineCount *g:NeoComplCache_CacheLineCount*
バッファの何行ごとにキャッシュするかを制御する。 Ver.2.31ま
でキャッシュラインは固定だったが、一行が長いHTMLやTeXで重い
ために可変となった。 これが小さいほど候補の探索は早くなるが、
キャッシュするのに時間がかかる。
初期値は70である。
g:NeoComplCache_DisableAutoComplete *g:NeoComplCache_DisableAutoComplete*
自動補完を無効にするかどうかを制御する。 1ならば自動補完が無
効になるが、 <C-x><C-u> による手動補完は使用できる。
初期値は0なので、自動補完が有効になっている。
g:NeoComplCache_EnableWildCard *g:NeoComplCache_EnableWildCard*
省入力のために、ワイルドカード文字 '*' を容認するかどうかを
制御する。 1ならばワイルドカードが使用できる。
初期値は1なので、ワイルドカードが有効になっている。
g:NeoComplCache_EnableQuickMatch *g:NeoComplCache_EnableQuickMatch*
省入力のために、-を入力すると候補の横に表示される英数字で候
補を選択できるようにするかを制御する。 1ならば有効になる。
初期値は1なので、有効になっている。
g:NeoComplCache_EnableRandomize *g:NeoComplCache_EnableRandomize*
頻度を再計算するときなどに、乱数を使用するかを制御する。 1ならば
有効になる。
初期値は+reltimeの時に1となる。
g:NeoComplCache_EnableSkipCompletion *g:NeoComplCache_EnableSkipCompletion*
候補の計算に時間がかかりすぎると自動補完を中止するかどうか制
御する。 1ならば有効になる。
初期値は+reltimeの時に1となる。
g:NeoComplCache_SkipCompletionTime *g:NeoComplCache_SkipCompletionTime*
自動補完を中止するための計算時間を定義する。 このオプション
の値は文字列でなければならない。
初期値は'0.2'である。
g:NeoComplCache_EnableCamelCaseCompletion *g:NeoComplCache_EnableCamelCaseCompletion*
大文字を入力したときに、それを単語の区切りとしてあいまい検索
を行うかどうか制御する。 例えば AE と入力したとき、
ArgumentsException とマッチするようになる。 1ならば有効にな
る。
副作用があるので、初期値は0となっている。
g:NeoComplCache_EnableUnderbarCompletion *g:NeoComplCache_EnableUnderbarCompletion*
_を入力したときに、それを単語の区切りとしてあいまい検索を行
うかどうか制御する。 例えば p_h と入力したとき、 public_html
とマッチするようになる。 1ならば有効になる。
副作用があるので、初期値は0となっている。
g:NeoComplCache_EnableDispalyParameter *g:NeoComplCache_EnableDispalyParameter*
入力中に、関数のプロトタイプをCommand-lineに表示するかを制御
する。 現在はvim_completeのみ対応している。
初期値は1である。
g:NeoComplCache_CachingLimitFileSize *g:NeoComplCache_CachingLimitFileSize*
ファイルをキャッシュするファイルサイズを設定する。 開いたファ
イルがこのサイズより大きいとキャッシュしない。
初期値は1000000となっている。
g:NeoComplCache_CachingDisablePattern *g:NeoComplCache_CachingDisablePattern*
バッファをキャッシュしないバッファ名のパターンを正規表現で設
定する。 空文字列だと無効になる。
初期値は空となっている。
g:NeoComplCache_SnippetsDir *g:NeoComplCache_SnippetsDir*
ユーザが定義したスニペット補完ファイルのパスを指定する。 カ
ンマ区切りで複数のディレクトリを設定可能。 ここで指定したディ
レクトリが実際に存在しない場合、無視される。 ユーザ定義のス
ニペット補完ファイルは標準のスニペット補完ファイルを読み込ん
だ後に読み込まれる。 重複したスニペットは上書きされる。
この変数はユーザが自分で定義しない限り存在しない。
g:NeoComplCache_TemporaryDir *g:NeoComplCache_TemporaryDir*
neocomplcacheが一時ファイルを書き出すディレクトリを指定する。
ここで指定したディレクトリが実際に存在しない場合、作成される。
例えばkeyword_complete.vimはキーワードのキャッシュをこの下の
'keyword_cache'ディレクトリに保存する。
初期値は'~/.neocon'である。
g:NeoComplCache_KeywordPatterns *g:NeoComplCache_KeywordPatterns*
補完するためのキーワードパターンを記録する。 これはファイル
タイプ毎に正規表現で指定されている。
初期値は複雑なので、autoload/neocomplcache.vimを参照せよ。
g:NeoComplCache_NextKeywordPatterns *g:NeoComplCache_NextKeywordPatterns*
カーソルより後のキーワードパターンを認識するための正規表現を記録する。
|g:NeoComplCache_KeywordPatterns|と形式は同じである。
初期値は複雑なので、autoload/neocomplcache.vimを参照せよ。
g:NeoComplCache_OmniPatterns *g:NeoComplCache_OmniPatterns*
オムニ補完するためのキーワードパターンを記録する。 これはファ
イルタイプ毎に正規表現で指定されている。
初期値は複雑なので、autoload/neocomplcache.vimを参照せよ。
g:NeoComplCache_SameFileTypeLists *g:NeoComplCache_SameFileTypeLists*
ファイルタイプを相互に関連づけるためのディクショナリ。 cと
cppを相互参照させるときなどに有効である。
初期値は複雑なので、autoload/neocomplcache.vimを参照せよ。
g:NeoComplCache_NonBufferFileTypeDetect *g:NeoComplCache_NonBufferFileTypeDetect*
拡張子とファイルタイプを関連づけるためのディクショナリ。 辞
書ファイルなど、うまくファイルタイプが判定できないときに有効
である。
初期値は複雑なので、autoload/neocomplcache.vimを参照せよ。
g:NeoComplCache_DictionaryFileTypeLists *g:NeoComplCache_DictionaryFileTypeLists*
ファイルタイプに辞書ファイルを関連づけるためのディクショナリ。
キーにファイルタイプ、値に辞書ファイルへのパスを指定する。
初期値は空である。
g:NeoComplCache_PluginCompletionLength *g:NeoComplCache_PluginCompletionLength*
補完関数を呼び出す文字数をプラグインごとに指定するディクショ
ナリ。 重いプラグインは文字数が多いときにのみ呼び出せるよう
にするなどが考えられる。
初期値は空である。
g:NeoComplCache_DisableSelectModeMappings *g:NeoComplCache_DisableSelectModeMappings*
snippets_completeが行うSelect modeのKey-mappingsを無効にする
かどうかを制御する。 通常は有効にしておいた方がよい。
初期値は1である。
g:NeoComplCache_CtagsArgumentsList *g:NeoComplCache_CtagsArgumentsList*
buffer_completeやinclude_completeがctagsコマンドを使用する際
に、 コマンドの引数として与える値を設定するための、ファイル
タイプをキーとした文字列の辞書である。
初期値は複雑なので、autoload/neocomplcache.vimを参照せよ。
g:NeoComplCache_IncludePath *g:NeoComplCache_IncludePath*
インクルードファイルのpathをファイルタイプごとに列挙する変数
である。存在しない場合、&l:pathが使われる。 記述形式は'path'
を参照せよ。ファイルタイプをキーとした文字列の辞書である。
初期値は複雑なので、autoload/neocomplcache/plugin/include_complete.vimを参照せよ。
g:NeoComplCache_IncludeExpr *g:NeoComplCache_IncludeExpr*
インクルードファイル名を取得するために行う行解析の式である。
存在しない場合、&l:includeexprが使われる。 記述形式は
'includeexpr'を参照せよ。ファイルタイプをキーとした文字列の
辞書である。
初期値は複雑なので、autoload/neocomplcache/plugin/include_complete.vimを参照せよ。
g:NeoComplCache_IncludePattern *g:NeoComplCache_IncludePattern*
インクルード命令のパターンを指定する。存在しない場合、
&l:includeが使われる。 記述形式は'include'を参照せよ。ファイ
ルタイプをキーとした文字列の辞書である。
初期値は複雑なので、autoload/neocomplcache/plugin/include_complete.vimを参照せよ。
g:NeoComplCache_DisablePluginList *g:NeoComplCache_DisablePluginList*
補完関数やプラグインを無効にするかどうかを指定するディクショ
ナリ。 補完関数やプラグイン名をキーにして、値を1にすることで
無効になる。 neocomplcacheを初期化するときに参照するので、初
期化前に指定する必要がある。
初期値は空である。
g:NeoComplCache_MemberPrefixPatterns *g:NeoComplCache_MemberPrefixPatterns*
include_completeやtags_completeでメンバ補完するためのキーワー
ドパターンを記録する。 これはファイルタイプ毎に正規表現で指
定されている。
初期値は複雑なので、autoload/neocomplcache.vimを参照せよ。
g:NeoComplCache_QuickMatchPatterns *g:NeoComplCache_QuickMatchPatterns*
クイックマッチリストを表示する入力パターンを記録する。 これ
はファイルタイプ毎に入力文字列の末尾にマッチする正規表現で指
定されている。 defaultを指定すると、通常時の入力パターンを設
定できる。
初期値は { 'default' : '-' } である。
------------------------------------------------------------------------------
KEY MAPPINGS *neocomplcache-key-mappings*
<Plug>(neocomplcache_snippets_expand) *<Plug>(neocomplcache_snippets_expand)*
カーソル位置にあるスニペットを展開する。スニペットが存在しな
いとき、次のプレースホルダにジャンプする。 展開したスニペッ
トはランクが上昇するため、上位に表示されやすくなる。
<Plug>(neocomplcache_snippets_jump) *<Plug>(neocomplcache_snippets_jump)*
次のプレースホルダにジャンプする。スニペットの展開は行わない。
スニペット名を展開したくないときに使う。
neocomplcache#manual_filename_complete *neocomplcache#manual_filename_complete*
inoremap <expr>上で使用する。neocomplcacheのファイル名補完を
手動で呼び出す。 Vim標準のファイル名補完を置き換えるときに使
う。
>
inoremap <expr><C-x><C-f> neocomplcache#manual_filename_complete()
<
neocomplcache#manual_omni_complete *neocomplcache#manual_omni_complete*
inoremap <expr>上で使用する。neocomplcacheのオムニ補完を手動
で呼び出す。 Vim標準のオムニ補完を置き換えるときに使う。
>
inoremap <expr><C-j> neocomplcache#manual_filename_complete()
<
neocomplcache#manual_keyword_complete *neocomplcache#manual_keyword_complete*
inoremap <expr>上で使用する。neocomplcacheのキーワード補完を
手動で呼び出す。 Vim標準のキーワード補完を置き換えるときに使
う。
>
inoremap <expr><C-n> pumvisible() ? "\<C-n>" : neocomplcache#manual_keyword_complete()
<
neocomplcache#close_popup *neocomplcache#close_popup*
inoremap <expr>上で使用する。neocomplcacheのポップアップを閉
じ、補完を終了する。 Vim標準の<C-y>よりも確実にポップアップ
を閉じることができる。
>
inoremap <expr><C-y> pumvisible() ? neocomplcache#close_popup() : "\<C-y>"
<
neocomplcache#cancel_popup *neocomplcache#cancel_popup*
inoremap <expr>上で使用する。neocomplcacheの補完をキャンセル
する。 Vim標準の<C-e>よりも確実にポップアップを閉じることが
できる。
>
inoremap <expr><C-e> pumvisible() ? neocomplcache#cancel_popup() : "\<C-e>"
<
neocomplcache#undo_completion *neocomplcache#undo_completion*
inoremap <expr>上で使用する。neocomplcacheによって補完した候
補を元に戻す。 Vimには確定した補完をキャンセルする機構がない
ため、活用すると便利であろう。
>
inoremap <expr><C-g> neocomplcache#undo_completion()
<
==============================================================================
EXAMPLES *neocomplcache-examples*
>
" Use neocomplcache.
let g:NeoComplCache_EnableAtStartup = 1
" Use smartcase.
let g:NeoComplCache_SmartCase = 1
" Use camel case completion.
let g:NeoComplCache_EnableCamelCaseCompletion = 1
" Use underbar completion.
let g:NeoComplCache_EnableUnderbarCompletion = 1
" Set minimum syntax keyword length.
let g:NeoComplCache_MinSyntaxLength = 3
" Define dictionary.
let g:NeoComplCache_DictionaryFileTypeLists = {
\ 'default' : '',
\ 'vimshell' : $HOME.'/.vimshell_hist',
\ 'scheme' : $HOME.'/.gosh_completions'
\ }
" Define keyword.
if !exists('g:NeoComplCache_KeywordPatterns')
let g:NeoComplCache_KeywordPatterns = {}
endif
let g:NeoComplCache_KeywordPatterns['default'] = '\h\w*'
" Plugin key-mappings.
imap <C-l> <Plug>(neocomplcache_snippets_expand)
smap <C-l> <Plug>(neocomplcache_snippets_expand)
inoremap <expr><C-h> pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
inoremap <expr><C-g> neocomplcache#undo_completion()
<
==============================================================================
PLUGINS *neocomplcache-plugins*
この項では、neocomplcacheに添付されているプラグインの解説を行う。 自分で作成
したプラグインは、autoload/neocomplcache/pluginディレクトリに保存することで、
neocomplcacheにより自動的に読み込まれる。
keyword_complete.vim *keyword_complete*
バッファやディクショナリからキーワードを収集し、補完に利用す
るプラグイン。 neocomplcacheの基本機能も提供しているため、こ
のプラグインを削除すると neocomplcacheは正常に動作しない。
snippets_complete.vim *snippets_complete*
スニペット補完ファイルからスニペットを読み込み、補完に利用す
るプラグイン。 snipMate.vimやsnippetsEmu.vimと似たような機能
を提供する。 neocomplcacheの機能を使い、スニペットを検索でき
るため、 スニペットを覚える手間が省けるだろう。 スニペットの
定義はsnipMate.vimと似ているため、 自分でスニペットを定義し
たり改造するのも簡単である。
tags_complete.vim *tags_complete*
'tags'で定義されているタグファイルを読み込み、補完候補に加え
るプラグイン。 大きなタグを読み込ませると重いため、巨大なタ
グファイルが設定されているとき、 |:NeoComplCacheCachingTags|
を実行しなければキャッシュしない。 現在は、より便利なインク
ルード補完を使用するべきである。
syntax_complete.vim *syntax_complete*
標準で提供されているautoload/syntaxcomplete.vimのように、 シ
ンタックスファイルを解析し、補完候補に加えるプラグイン。
autoload/syntaxcomplete.vimよりもたくさんの候補を認識できる。
include_complete.vim *include_complete*
開いているバッファを解析し、参照しているファイルを自動的に候
補に加えるプラグイン。 いちいちタグファイルや辞書ファイルを
用意しなくて良いので便利である。 ただし、'path'や'include',
'includeexpr'が適切に設定されている必要がある。
vim_complete.vim *vim_complete*
実験的機能。文脈を解析し、VimScriptのオムニ補完を行う。
VimScriptの編集時以外では動作しない。 neocomplcacheからは
|i_CTRL-X_CTRL-V|が呼び出せないため作られた。 標準で用意され
ている補完よりも、高機能なものにすることが目標である。 現在、
ローカル変数やスクリプト変数、関数やコマンドの解析が実装され
ている。
==============================================================================
CREATE PLUGIN *neocomplcache-create-plugin*
この項では、neocomplcacheのプラグインを作成する方法について解説する。 プラグ
インを自作することで、neocomplcacheの能力は無限大に広がるだろう。
==============================================================================
CHANGELOG *neocomplcache-changelog*
doc/neocomplcache.txtを参照せよ。
==============================================================================
vim:tw=78:ts=8:ft=help:norl:noet:fen:fdl=0:fdm=marker: