-
Notifications
You must be signed in to change notification settings - Fork 65
/
Copy pathvim_faq.jax
7159 lines (5683 loc) · 287 KB
/
vim_faq.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
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
*vim_faq.txt* よく訊かれる質問
このファイルをインストールする方法については、vim内で >
:help add-local-help
とタイプしてください。
Last updated on: 17 October 2004
VIM リファレンスマニュアル by: Yegappan Lakshmanan
Frequently Asked Questions *faq* *FAQ*
このVim FAQは、[email protected]メーリングリストとcomp.editorsニューズグループに投稿
された質問とその答から作られました。Vimにおいて問題を解決する方法はいくつかあ
ります。このFAQを読めば、その数種類の可能性のうちの1つが得られます。このFAQ中
の情報とリンクを使って他の方法を探すこともできます。このFAQの答に対するクレ
ジットはPeppe, Benji, Charles Campbellと他多数の人々に帰属します。
*faq-index*
目次
*faq-general-information*
SECTION 1 - 一般的な情報
|faq-1.1| Vimとは何ですか?
|faq-1.2| 誰が Vim を書いたんですか?
|faq-1.3| Vim は Vi と互換性がありますか?
|faq-1.4| Vim が Vi よりも向上している点は何ですか?
|faq-1.5| Vim は無料ですか?
*faq-resources*
SECTION 2 - 情報源
|faq-2.1| どこに行けば Vim についてもっと学べるでしょうか?
|faq-2.2| メーリングリストはありますか?
|faq-2.3| メーリングリストのアーカイブはありますか?
|faq-2.4| HTML/PDF/PS形式のVimユーザーマニュアルはどこで手に入りますか?
|faq-2.5| ある問題が発生しました。それが私の設定によるものか、Vimそのものの
問題かはどうすればわかりますか?
|faq-2.6| どこでバグ報告をすればいいですか?
|faq-2.7| FAQはどこで見つけられますか?
|faq-2.8| このFAQに答えが見つからなかった時、どうすればいいですか?
|faq-2.9| Vimに機能を追加するパッチを持っています。これをどこへ送ればいいで
すか?
|faq-2.10| Vimのtipを持っていたり新しいsyntax/indent/filetype/compilerプラグ
インを開発したり、新しいスクリプトやカラースキームを開発しました。
これをアップロードできる公開のウェブサイトはありますか?
*faq-availability*
SECTION 3 - 入手
|faq-3.1| Vim の最新のバージョンは何ですか?
|faq-3.2| どこで Vim の最新版を見つけられますか?
|faq-3.3| どのプラットフォーム上で実行できるんですか?
|faq-3.4| どこでVimのランタイムファイルの最新バージョンをダウンロードできま
すか?
*faq-help*
SECTION 4 - ヘルプ
|faq-4.1| どうやってヘルプファイルを利用するんですか?
|faq-4.2| どうやってVimヘルプファイル中のキーワードを探すんですか?
|faq-4.3| エラーメッセージE123が出ました。何がまずいのでしょうか?
|faq-4.4| Vimの様々なモードについては何を読めばいいですか?
|faq-4.5| 新しいVimヘルプファイルを追加した後、どうすればVimのヘルプタグファ
イルを生成することができますか?
|faq-4.6| 圧縮したヘルプファイルを使うことはできますか?
*faq-editing-a-file*
SECTION 5 - ファイルの編集
|faq-5.1| ファイルを編集用に読み込むには?
|faq-5.2| 現在のファイルを別な名前で保存(save as)して新しいファイルを編集す
るには?
|faq-5.3| カレントディレクトリを現在のファイルのディレクトリにするには?
|faq-5.4| ファイルの末尾に改行文字(EOL)をつけずにファイルを書き込むには?
|faq-5.5| ファイルを最後に編集した場所から開くようにするには?
|faq-5.6| Vimでファイルを編集中にそのファイルが他のアプリケーションによって
変更されたとき、Vimは変更が検出されるたびに警告ウィンドウ(確認ダイ
アログのような)を開きます。この警告を無効にするには?
|faq-5.7| カーソル下のファイル名のファイルを開くには?
|faq-5.8| 現在のファイルを再読み込みするには?
|faq-5.9| ファイルを定期的に自動保存するには?
|faq-5.10| ファイルを読み取り専用モードで開くには?
*faq-editing-multiple-files*
SECTION 6 - 複数のファイルを編集する
|faq-6.1| Vim内で同時に複数のファイルを開くには?
|faq-6.2| 複数のファイル・バッファを切り替えるには?
|faq-6.3| それぞれのファイルを別ウィンドウで開くには?
|faq-6.4| 「ワークセット」や「プロジェクト」のように自動的に複数のファイルを
同時に読み込ませるようにするには?
|faq-6.5| Neditやemacsのように単一のVimインスタンスで複数のトップレベルウィ
ンドウを開くことはできますか?
|faq-6.6| Vim内でディレクトリをブラウズするには?
|faq-6.7| ftp/scp/rcp/httpでネットワークごしにファイルを編集するには?
*faq-backup*
SECTION 7 - バックアップ
|faq-7.1| ファイルを保存したとき元のファイル名の末尾に"~"という文字をつけた
ファイルが作られます。このファイルを作成するのを止めさせるには?
(または)バックアップ機能を無効にするには?
|faq-7.2| 全てのバックアップファイルを特定のディレクトリに保存するように設定
するには?
|faq-7.3| ファイルを保存するとファイルパーミッションが変更されます。ファイル
パーミッションを変更せずにファイルを保存するよう設定するには?
*faq-buffers*
SECTION 8 - バッファ
|faq-8.1| バッファに対して変更を加えました。変更されたバッファを保存せずに、
かつ変更を失うことなく他のバッファを編集するには?
|faq-8.2| バッファを切り替えるときに自動的に保存するよう設定するには?
|faq-8.3| カレントウィンドウのバッファを空バッファにするには?
|faq-8.4| バッファ番号を指定してバッファを読み込むショートカットキーはありま
すか?
|faq-8.5| 読み込んでいるバッファをそれぞれ別のウィンドウで開くには?
|faq-8.6| Vimを終了することなくバッファを閉じる(削除する)には?
|faq-8.7| :e filenameでいくつかのファイルを開きました。Vimを終了することなく
そのバッファのうちの1つを閉じるには?
|faq-8.8| ":%bd"コマンドで全バッファを削除しようとしても、全てのバッファが
削除されません。なぜ?
|faq-8.9| カレントバッファ/ファイルのバッファ番号を表示するには?
|faq-8.10| ウィンドウを閉じることなくバッファを削除するには?
|faq-8.11| Tabキーで全バッファを巡回するようにマップするには?
*faq-windows*
SECTION 9 - ウィンドウ
|faq-9.1| ウィンドウとバッファの違いは?
|faq-9.2| ウィンドウの幅を広げるには?
|faq-9.3| ウィンドウをズームイン・ズームアウトするには?
|faq-9.4| 全バッファまたは全ウィンドウ、引数リスト中の全ファイルに対してex
コマンドを実行するには?
*faq-motion*
SECTION 10 - モーション
|faq-10.1| ファイルの先頭や末尾に移動するには?
|faq-10.2| 挿入モードで<Esc>キーを押してノーマルモードに移行すると、カーソル
が1文字左へ移動します(カーソルが行の最初の文字の上にあるときを除い
て)。この動作を変更し、カーソルがその桁の上に残るようにできますか?
|faq-10.3| <Page Up>、<Page Down>などのキーを押してスクロールしたときカーソル
位置の桁を保つように設定することはできますか?
|faq-10.4| ファイル中のある行の長さが画面の幅を越えており、折り返されていま
す。ここでj, kキーを使うと画面上の次行(物理行)でなくファイルの次行
(論理行)に移動します。画面上の次行に移動するには?
|faq-10.5| Vimにおける文、段落、セクションの定義は?
|faq-10.6| 文、段落、セクションの先頭と末尾に移動するには?
|faq-10.7| 画面の右端を越えて続いている行があります。右側にスクロールして画面
外に出ているテキストを表示するには?
|faq-10.8| 2個以上のバッファを同時にスクロールさせるには?
|faq-10.9| 矢印キーを使うとモードが変わり、バッファに変な文字が挿入され、カー
ソルが適切に移動しません。どうなっているのですか?
|faq-10.10| カーソルが行頭にあるとき左矢印キーを押すと前行の行末に移動するよう
にするには?
|faq-10.11| 常に挿入モードに留まるようにするには?(モードレスな編集をするに
は?)
|faq-10.12| テキストをスクロールするとき、前後の行を表示するには?
|faq-10.13| 以前のカーソル位置に戻るには?
*faq-searching-text*
SECTION 11 - テキストを検索する
|faq-11.1| テキストを検索した後、マッチしたテキストが全て強調されます。この強
調を一時的/永続的に無効にするには?
|faq-11.2| 検索パターンにキャリッジリターン文字を含めるには?
|faq-11.3| 文字^Mを検索するには?
|faq-11.4| '~R', '~S'などと表示される文字を検索・置換するには?
|faq-11.5| ファイル中の印字不能文字を全て強調するには?
|faq-11.6| 単語に完全に一致するテキストを検索するには?
|faq-11.7| カーソル下の単語を検索するには?
|faq-11.8| 大文字・小文字を区別せず検索するには?
|faq-11.9| 2回続けて現れる単語を検索するには?
|faq-11.10| ある単語がバッファ中に何回現れるか数えるには?
|faq-11.11| 検索時にカーソルをマッチした単語の末尾に移動させるには?
|faq-11.12| 空行を検索するには?
|faq-11.13| 1つの文字だけを含む行を検索するには?
|faq-11.14| 複数のファイルから文字列を検索し、置換するには?
|faq-11.15| マップ中で置換コマンド":s"を使っています。検索が失敗したときマップ
が途切れてしまいます。置換が失敗したときにもマップの次のコマンドを
続けてほしいのですが、どうすればできますか?
|faq-11.16| 行からある文字がn回目に現れる箇所を検索するには?
|faq-11.17| タブ(やその他の文字)を改行文字で置換するには?
|faq-11.18| ASCIIコードで検索する文字を指定するには?
|faq-11.19| 長い行を見つけるには?
|faq-11.20| カレントバッファ内の指定したパターンを含む行を全て表示するには?
|faq-11.21| 複数行にわたる文字列を検索するには?
|faq-11.22| バッファの指定した範囲内から検索するには?
*faq-changing-text*
SECTION 12 - テキストを変更する
|faq-12.1| 行末の空白文字(スペースとタブ)を全て削除するには?
|faq-12.2| 連続する空白文字を1個のスペースに置換するには?
|faq-12.3| 連続する空行を1行だけに圧縮するには?
|faq-12.4| ファイル中の空行を全て削除するには?空白文字だけを含む行を全て削除
するには?
|faq-12.5| カーソル下の単語をコピー/ヤンクするには?
|faq-12.6| 行全体ではなく、行内のある位置からある位置までをヤンクするには?
|faq-12.7| 現在のレジスタの中身に追加ヤンクするには?
|faq-12.8| 複数行にわたる文全体をヤンクするには?
|faq-12.9| あるパターンを含む行全てをヤンクするには?
|faq-12.10| あるパターンを含まない行全てを削除するには?
|faq-12.11| "pattern"を含む全ての行の前に行を追加するには?
|faq-12.12| 前の行が特定のパターンを含んでいる行に対して操作を行うには?
|faq-12.13| あるパターンを含む行全てに対してコマンドを実行するには?
|faq-12.14| カーソル位置の1文字上の文字をカーソル位置にコピーするには?
|faq-12.15| 挿入モードに入らずに現在行の前/後に空行を挿入するには?
|faq-12.16| カレントファイルの名前をカレントバッファに挿入するには?
|faq-12.17| レジスタの中身をカレントバッファに挿入するには?
|faq-12.18| 行末を越えてカーソルを移動し、テキストを挿入するには?
|faq-12.19| カーソル下の単語(例えばjunk)を"foojunkbar"に置き換えるには?
|faq-12.20| ディレクトリ中の全てのファイルに対して特定のテキストを置換する
には?
|faq-12.21| ファイル中に数字が書かれています。これを増加・減少させるには?
|faq-12.22| ":substitute"で最後に検索したパターンを再利用するには?
|faq-12.23| ":substitute"を使って大文字・小文字を入れかえるには?
|faq-12.24| キーボード上に無い文字を入力するには?
|faq-12.25| ダイグラフのどれか、または全てを削除するコマンドはありますか?
|faq-12.26| 挿入モードでバックスペースキーを押すと、今回の挿入モードで入力した
文字が消されるだけです。バックスペースキーで前回の挿入モードで入力
した文字を消すには?
|faq-12.27| 72文字より長くて"+"で終わり、次行に折り返されている行があります。
このような行をすばやく連結させるには?
|faq-12.28| 文字単位でヤンクされたテキストを新しい行にペーストするには?
|faq-12.29| 単語・文字・テキストのブロックの大文字小文字を入れかえるには?
|faq-12.30| キーボード上にないASCII文字を入力するには?
|faq-12.31| ファイル中の印字不能文字を置換するには?
|faq-12.32| バッファから重複した行を削除するには?
|faq-12.33| ファイル中の全ての行の前に行番号をつけるには?
|faq-12.34| 2つの文字・単語・行を入れ換えるには?
*faq-completion-in-insert-mode*
SECTION 13 - 挿入モードでの補完
|faq-13.1| 挿入モードで単語や行を補完するには?
|faq-13.2| 挿入モードでファイル名を補完するには?
|faq-13.3| 挿入モードで単語を補完するのにCTRL-P/CTRL-Nを使っています。
今補完した単語の後に現れる単語を補完するには?
*faq-text-formatting*
SECTION 14 - テキストの整形
|faq-14.1| 折り返された行の末尾に改行を挿入するには?
|faq-14.2| 1行がn文字以下になるように長い行を整形するには?
|faq-14.3| 短い行を連結して段落を形成するには?
|faq-14.4| 箇条書きや番号つきリストを整形するには?
|faq-14.5| 挿入モードで行をインデントするには?
|faq-14.6| ファイル全体を整形・インデントするには?
|faq-14.7| 現在のファイルのインデントを増やす/減らすには?
|faq-14.8| ブロックまたは行のグループをインデントするには?
|faq-14.9| >または<キーで行をインデントすると、'tabstop'で設定した値でなく、
標準的なタブストップ値の8が使われます。なぜですか?
|faq-14.10| オートインデントを無効にするには?
|faq-14.11| メールを編集するときは自動的に'textwidth'オプションをある値にする
ようにするには?
|faq-14.12| 自動的に改行を挿入させることはできますか?
|faq-14.13| ファイル中に^Mという記号がたくさん表示されます。'fileformat'を
'dos'にしたり'unix'にしたり'mac'にしたりしてみましたが、改善できま
せん。これらの記号を表示させなくするには?
|faq-14.14| 他のアプリケーションからVimのバッファへテキストを貼り付けたとき、
挿入されたテキストの桁(インデント)が狂ってしまいます。
これを直すには?
|faq-14.15| 'wrap'をオンにしていて、とても長い行が折り返されて画面に収まりきら
ないとき、まったく何も表示されません。折り返された行の代わりに'@'
という記号で始まる空の行が表示されます。行が収まるように画面をスク
ロールすると'@'は消え、行が表示されるようになります。この挙動の設
定はどうやるのですか?
|faq-14.16| ファイル中の全てのタブ文字をスペースに変換するには?
|faq-14.17| 後でワードプロセッサーに送るテキストを編集するためのオプションは?
*faq-visual-mode*
SECTION 15 - ビジュアルモード
|faq-15.1| 矩形範囲をコピーするには?
|faq-15.2| ファイルの特定の列を削除・変更するには?
|faq-15.3| ビジュアル選択した行に対してexコマンドを適用するには?
|faq-15.4| 矩形選択した範囲に対してexコマンドを適用するには?
|faq-15.5| ビジュアルモードでファイル全体を選択するには?
|faq-15.6| ビジュアル選択してから>キーを押してインデントすると、選択が解除さ
れます。この範囲に対して操作を続けるため選択したままにするには?
(または)最後に選択された範囲を再選択するには?
|faq-15.7| ビジュアル選択した範囲の先頭/末尾へ移動するには?
|faq-15.8| マウスでテキストを選択してからexコマンドを実行しようと:キーを押す
と選択された範囲が文字:で置換されてしまいます。マウスで選択したと
きもビジュアル選択したときのようにテキストに対してexコマンドを実行
するには?
|faq-15.9| マウスでテキストを選択するとビジュアルモードでなく選択モードに入っ
てしまいます。なぜですか?
|faq-15.10| 最後にコピー/ペーストされたテキストをビジュアル選択するには?
*faq-command-line-mode*
SECTION 16 - コマンドラインモード
|faq-16.1| コマンドモードまたはexコマンドモードでカレントファイル名を使うには?
|faq-16.2| Vimのコマンドラインで効率的にテキストを編集するには?
|faq-16.3| ViモードからExモードに移行するには?
|faq-16.4| exコマンドの出力をバッファにコピーするには?
|faq-16.5| コマンドモードでファイル名を補完しようとタブキーを押します。マッチ
するファイル名が複数ある時、Vimは最初にマッチするファイル名を補完
し、マッチしたファイル名全てのリストを表示します。マッチしたファイ
ル名全てを表示するだけで、最初の候補を補完しないようにするには?
|faq-16.6| バッファからコマンドラインにテキストをコピーしたり、コマンドライン
からバッファにテキストをコピーするには?
|faq-16.7| あるコマンドを実行することなくコマンド履歴に入れるには?
|faq-16.8| コマンドラインの高さを上げるには?
*faq-viminfo*
SECTION 17 - VIMINFO
|faq-17.1| Vimを起動したときviminfoファイルに不正な文字があるとエラーメッセー
ジが出ます。このメッセージを出なくさせるには?
|faq-17.2| viminfo機能を無効にするには?
|faq-17.3| Vimのセッションをまたいでマークを保存し、使用するには?
*faq-remote-editing*
SECTION 18 - リモート編集
|faq-18.1| 既に起動しているgvimでファイルを開くには? Vim 5.xの
OpenWithVim.exeとSendToVim.exeはどうなりました?
|faq-18.2| vimサーバーに全てのバッファをディスクに保存するようなコマンドを送
るには?
|faq-18.3| Vimのリモートサーバー機能についてのドキュメントはどこで手に入りま
すか?
*faq-options*
SECTION 19 - オプション
|faq-19.1| Vimを設定する簡単な方法は?
|faq-19.2| オプションの値をトグルするには?
|faq-19.3| 現在のバッファ/ウィンドウに対してだけ効果を及ぼすようにオプション
を設定するには?
|faq-19.4| オプションの値にスペースを含めるには?
|faq-19.5| オプション設定をファイルに埋め込むには?
|faq-19.6| ファイル中の全ての行の行番号を表示するには?
|faq-19.7| 'number'オプションで表示される行番号の幅を変えるには?
|faq-19.8| スペース、タブ、改行などの不可視文字を表示するには?
|faq-19.9| 常に現在行と桁番号を表示するようにするには?
|faq-19.10| 現在のモードを表示するようにするには?
|faq-19.11| ステータスラインに入力途中のコマンドを表示するようにするには?
|faq-19.12| ステータスラインに異なる設定・値を表示するようにするには?
|faq-19.13| 常にステータスラインを表示するようにするには?
|faq-19.14| Vimを再起動しても設定が永続するようにするには?
|faq-19.15| なぜエスケープキーを押すと約1秒後にビープが鳴る(画面がフラッシュす
る)のですか?
|faq-19.16| 'c'と's'を使ったときに変更する文字を削除するのでなく'$'を表示する
ようにするには?
|faq-19.17| 1回の":set"コマンドでオプションから複数のフラグを除去するには?
*faq-mapping-keys*
SECTION 20 - キーマップ
|faq-20.1| キーがどうマップされているかを知るには?
|faq-20.2| ユーザー定義のキーマッピングをリストするには?
|faq-20.3| キーマップを解除するには?
|faq-20.4| キー<xxx>へマッピングができません。何がまずいのですか?
|faq-20.5| テンキーにマップするには?
|faq-20.6| ビジュアルモードでのみ機能するマッピングを作成するには?
|faq-20.7| Vim script中で、すでに使われているキーと衝突しないようにどのキーを
使うべきかを知るには?
|faq-20.8| エスケープキーにマップするには?
|faq-20.9| あるキーを何もしないようにマップするには?
|faq-20.10| Tabキーでテキストのブロックをインデントし、Shift-Tabでテキストのブ
ロックをアンインデントするようにしたいです。このようなマップを作る
には?この挙動はtextpadやVisual Studioなどに似ています。
|faq-20.11| 私のマッピングにおいて<CR>のような特殊文字が認識されません。
特殊文字を認識するように設定するには?
|faq-20.12| マップ中で'|'を使って複数のコマンドを区切るには?
|faq-20.13| その最後が他のマッピング/短縮入力の始まりとなっているマッピング/短
縮入力があります。最初のものを入力したとき、2番目のが展開しないよ
うにするには?
|faq-20.14| ときどきキーが処理されるのに1秒程度かかるのはなぜですか?
|faq-20.15| ビジュアル選択したテキストに対して外部コマンドを実行するマッピング
を作るには?
|faq-20.16| <Tab>キーの機能を保ったままCtrl-Iにマッピングするには?
*faq-abbreviations*
SECTION 21 - 短縮入力
|faq-21.1| スペリングを間違えた単語を自動的に修正するには?
|faq-21.2| 複数行の短縮入力を作るには?
|faq-21.3| 短縮入力が展開されたとき、展開されたテキストの末尾に余計なスペース
が入ってしまいます。これを防ぐには?
|faq-21.4| 現在の日付・時刻を挿入するには?
|faq-21.5| 挿入モードで短縮入力が展開されるのを防ぐには?
*faq-record-and-playback*
SECTION 22 - レコーディングと繰り返し
|faq-22.1| 編集操作(挿入、削除、ペースト等)を繰り返すには?
|faq-22.2| キーシーケンスを記録し、繰り返すには?
|faq-22.3| 記録したキーシーケンスを編集するには?
|faq-22.4| 記録したキーシーケンスをファイルに保存するには?
|faq-22.5| レジスタ0にキーシーケンスを保存しています(つまり q0 .... q)。
記録したキーシーケンスの中でテキストをヤンクしています。一度その
キーシーケンスを再生すると、もうそれを再現することができません。
*faq-autocommands*
SECTION 23 - 自動コマンド
|faq-23.1| 読み込み専用ファイルを修正しようとしたときにコマンドを実行するには?
|faq-23.2| あるバッファに入るときに毎回コマンドを実行するには?
|faq-23.3| あるウィンドウに入るときに毎回コマンドを実行するには?
|faq-23.4| autocmd中でその自動コマンドが実行されているファイルの名前やバッ
ファ番号を知るには?
|faq-23.5| Vimがフォーカスを失ったとき、変更されたバッファ全てを自動的に保存
するには?
|faq-23.6| Vimを終了するときにクリーンアップ用の関数を実行するには?
*faq-syntax-highlight*
SECTION 24 - 構文強調
|faq-24.1| 構文強調をオン・オフにするには?
|faq-24.2| 背景色と文字色を変えるには?
|faq-24.3| 暗い/明るい背景色に合うように色を変えるには?
|faq-24.4| ":set number"をしたときに表示される行番号の色を変えるには?
|faq-24.5| ビジュアルモードで選択された範囲の背景色を変えるには?
|faq-24.6| オプション'list'で表示した特殊文字(タブ、行末の空白、行末など)に色
をつけるには?
|faq-24.7| 毎回同じカラースキームを使うように.vimrc/.gvimrcで設定するには?
|faq-24.8| 正しく構文強調されません。ファイルの一部が強調されなかったり、間
違って強調されてしまいます。
|faq-24.9| 対応する括弧を強調する組み込みの関数はありますか?
|faq-24.10| Cのコメントの構文強調をオフにするには?
|faq-24.11| Vimに付属する標準の構文ファイルに私自身の構文拡張を加えるには?
|faq-24.12| Vimに付属の標準の構文ファイルを独自の構文ファイルで置き換えるには?
|faq-24.13| 特定の桁以降の全ての文字を強調するには?
|faq-24.14| ソースファイル(.c, .hなど)を構文強調つきでHTMLファイルに変換するに
は?
|faq-24.15| 現在のハイライトグループ定義を全て表示するには?
*faq-vim-script-writing*
SECTION 25 - Vim script を書く
|faq-25.1| 読み込まれているスクリプトを全て表示するには?
|faq-25.2| Vim scriptをデバッグするには?
|faq-25.3| あるオプションを設定したスクリプト/プラグインを探すには?
|faq-25.4| (おそらくスクリプトを実行中に)エラーやメッセージが出るのですが、す
ぐに消えてしまいます。このメッセージをもう一度表示するには?
|faq-25.5| プラグイン固有の情報を保存し、Vimを再起動したときそれを復元するに
は?
|faq-25.6| 関数の中から挿入モードを開始するには?
|faq-25.7| 関数の中でカーソル位置を動かすには?
|faq-25.8| .vimrcファイルの中で環境変数の値をチェックするには?
|faq-25.9| 環境変数が定義されているかどうかをチェックするには?
|faq-25.10| Vimの組み込み関数を呼ぶには?
|faq-25.11| Vim script中でノーマルコマンドを使っています。そのコマンドに対して
ユーザー定義のマッピングが働くのを防ぎ、そのノーマルモードコマンド
がVimの標準の機能を果たすようにするには?
|faq-25.12| ビジュアルモードで現在選択されているテキストを変数やレジスタに入れ
るには?
|faq-25.13| 変数'myvar'にテキストが入っています。この変数を":s"中で使って
'mytext'というテキストを置換したいのですが、どうすればいいですか?
|faq-25.14| 変数"bno"がバッファ番号を保持しています。この変数を使って対応する
バッファを開くには?
|faq-25.15| オプションの値を変数に保存するには?
|faq-25.16| 関数の中でテキストをコピーし、バッファに挿入しました。関数の中で
そのテキストをインデントするには?
|faq-25.17| Vim script中でカーソル下の文字を取得するには?
|faq-25.18| 拡張子を除いたカレントファイル名を取得するには?
|faq-25.19| カレントファイルのベース名(basename)を取得するには?
|faq-25.20| 関数の結果をカレントバッファに挿入するには?
|faq-25.21| 関数の中で外部プログラムを呼ぶには?
|faq-25.22| ":!"で実行したプログラムが返すステータス値を取得するには?
|faq-25.23| カレントバッファが変更されているかどうかを知るには?
|faq-25.24| スクリプト中でノーマルコマンドの中に改行文字を使いたいです。改行文
字を指定するには?
|faq-25.25| スクリプト中で長い行を次行に継続するには?
|faq-25.26| "execute 'echo Myfunc()'"として自作の関数を呼ぼうとすると、カーソ
ルがカレントバッファの先頭に移動してしまいます。なぜ?
|faq-25.27| レジスタの中身を実行するには?
|faq-25.28| 関数やマップを呼んだ後に'u'キーを押してアンドゥするとその関数/
マップによってなされた変更全てをアンドゥします。なぜ?
|faq-25.29| s:つきで定義された関数(スクリプトローカル関数)を別のスクリプト/
プラグインから呼ぶには?
|faq-25.30| 読み込んだスクリプトをun-sourceするには?言い替えると、スクリプト
を読み込んだことによって実行されたコマンドを全て戻すには?
*faq-plugins*
SECTION 26 - プラグイン
|faq-26.1| ファイル形式ごとに異なるオプションを設定するには?
|faq-26.2| プラグイン/構文ファイル/インデントファイル/カラースキーム/ファイル
タイププラグインをダウンロードしました。Vimがこれらのファイルを読
み込むようにするには、どこにコピーすればいいですか?
|faq-26.3| 既存のファイル形式別プラグインを拡張するには?
|faq-26.4| プラグインの読み込みをオフにするには?
|faq-26.5| ファイル形式別プラグインの読み込みをオフにするには?
|faq-26.6| 全てのファイル形式に対し、グローバルのファイル形式別プラグインで
なされる設定を上書きするには?
|faq-26.7| Vimのディレクトリブラウザープラグインを無効にするには?
|faq-26.8| 特定のパターンにマッチする名前のファイルや拡張子に応じてファイル
タイプオプションを設定するには?
*faq-editing-program-files*
SECTION 27 - プログラムファイルを編集する
|faq-27.1| C/C++のファイルに対してオートインデントを有効化するには?
|faq-27.2| C/C++のファイルに対するインデントをカスタマイズするには?
|faq-27.3| オートインデント機能を無効化するには?
|faq-27.4| オートインデントの際に挿入されるスペースの数を変えるには?
|faq-27.5| Cプログラムを編集しています。マクロ定義や変数を表示するには?
|faq-27.6| Cプログラムを編集しています。ブロックの内側から、そのブロックの開
始位置や終了位置にジャンプするには?
|faq-27.7| C++ファイルで"//"コメントが自動的に挿入されるのを止めさせるには?
|faq-27.8| 一連の行の行頭にコメント文字'#'をつけ加えるには?
|faq-27.9| Cのソースファイルに対応する名前のヘッダーファイルを開くには?
|faq-27.10| コメントを入力しているとき、自動的にコメント文字を挿入するには?
*faq-quickfix*
SECTION 28 - QuickFix
|faq-28.1| Vimの中からプログラムをビルドするには?
|faq-28.2| Vim中からmakeコマンドを起動すると、コンパイラがプログラムをコンパ
イルしてエラーメッセージを出力します。しかしコンパイルが終わると表
示が消えてしまい、エラーメッセージをもう一度見るには :clist としな
ければなりません。このエラーメッセージを見るのに他の方法はありませ
んか?
*faq-folding*
SECTION 29 - 折り畳み
|faq-29.1| 折り畳みの機能を拡張するには?
|faq-29.2| 'foldmethod'をセットして折り畳みを有効化すると、全ての折り畳みが閉
じてしまいます。これを防ぐには?
|faq-29.3| ファイルの編集を開始したときにいくつの折り畳みが開かれた状態にする
かをコントロールするには?
|faq-29.4| マウスを使って折り畳みを開閉するには?
|faq-29.5| 閉じた折り畳みの表示に使われるテキストを変更するには?
|faq-29.6| Vimを終了・再起動するとき、手動で作った折り畳みを保存・復元するに
は?
*faq-vim-with-external-applications*
SECTION 30 - 外部プログラムとの連携
|faq-30.1| Vimのウィンドウの中でシェルを起動することはできますか?
|faq-30.2| カーソル下の単語を外部プログラムに渡すには?
|faq-30.3| シェルコマンドの出力をVimのバッファに取り込むには?
|faq-30.4| カレントバッファの中身を外部プログラムにパイプで渡して、そのプログ
ラムの出力でバッファを置き換えるには?
|faq-30.5| ファイル中のあるセクションをソートするには?
|faq-30.6| Vimとslrnといっしょに使うステップ・バイ・ステップガイドはあります
か?
|faq-30.7| Vimをページャとして使うには?
|faq-30.8| Vimの中でUnixのmanページを見るには?
|faq-30.9| Vimのdiff機能で使われるdiffコマンドを変更するには?
|faq-30.10| 折り畳みなしで差分モードを使うには?
*faq-gui-vim*
SECTION 31 - GUIのVIM
|faq-31.1| バッファ固有のメニューを作るには?
|faq-31.2| GUIのVimで使われるフォントを変更するには?
|faq-31.3| GUIのVimが起動したときのウィンドウの位置を指定するには?
|faq-31.4| GVimに水平スクロールバーをつけるには?
|faq-31.5| スクロールバーをデフォルトで左側に表示するようにするには?
|faq-31.6| メニューバーを消すには?
|faq-31.7| GVimを使っています。ALTキーと文字キーを押すとその文字で始まるメ
ニューが選択されます。ALT-<key>の組合せを使いたいので、この挙動は
やめてほしいです。どうすればいいですか?
|faq-31.8| スクロールバーをドラッグしたとき、カーソル位置を動かさずにテキスト
をスクロールさせることは可能ですか?
|faq-31.9| ":browse"を使ったときに特定のディレクトリから始めるようにするには?
|faq-31.10| ファイルがVimの外部で変更されたときなど、問い合わせがあるとき、GUI
のダイアログボックスが表示されます。コンソールのダイアログボック
スが出るようにするには?
|faq-31.11| GVimをアプリケーションxxx用のエディタとして使っています。アプリ
ケーションxxxがGVimを起動すると、コントロールがすぐにアプリケー
ションxxxに戻ってしまいます。Vimを終了したとき初めてアプリケーショ
ンxxxにコントロールが戻るようにGVimを起動するには?
|faq-31.12| なぜ、システムにインストールされているフォント全てが「フォントを
選ぶ」ダイアログに現れないのですか?
|faq-31.13| コマンドラインモードでマウスを使うには?
|faq-31.14| テキストをスクロールしようとマウスの中央ボタンを押すと、最後にコ
ピーしたテキストがペーストされてしまいます。この挙動を無効にするに
は?
|faq-31.15| GVimウィンドウの位置とサイズを変更するには?
*faq-vim-on-unix*
SECTION 32 - UNIX上のVim
|faq-32.1| xtermでVimを実行しています。CTRL-Sを押すとVimがフリーズします。
どうすればいいですか?
|faq-32.2| 画面の更新について奇妙な問題があります。これを解決するには?
|faq-32.3| Vimのターミナル/コンソール版を使っています。挿入モードでバックス
ペースキーを押してもカーソルの前の文字が消えません。どう設定すれば
良いですか?
|faq-32.4| xtermでVimを使っています。Vimを終了すると画面が元の状態に復元され
ます。これを無効化するには?
|faq-32.5| Vimの起動にかなり時間がかかります。起動時間を最小化するには?
|faq-32.6| Unixのgvimでカーソルの点滅を止めるには?
|faq-32.7| GTK Vimのメニューのフォントを変えるには?
|faq-32.8| Vimが<Ctrl-Z>でサスペンドするのを防ぐには?
|faq-32.9| Vimを実行しているxtermをkillすると、Vimのプロセスが生き残り、多大
なCPU時間(99%)を食ってしまいます。なぜこうなるのですか?
|faq-32.10| Unixターミナルで構文強調を使うには?
*faq-vim-on-ms-windows*
SECTION 33 - MS-Windows上のVim
|faq-33.1| MS-Windows上でCTRL-Vを押しても矩形ビジュアルモードが始まりません。
どうなっているのですか?
|faq-33.2| CTRL-Yキーを押すとCTRL-Rのような動作をします。CTRL-YをCTRL-Yとして
扱うように設定するには?
|faq-33.3| 常にGVimのウィンドウを最大化して起動するには?
|faq-33.4| なんらかの編集操作をするとVimがフリーズします。カーソルは空の四角
形になります。全然文字が入力できません。どうなっているのですか?
|faq-33.5| Windows XPを使っています。最大化したGVimの表示速度がとても遅いで
す。表示の更新を早くするには?
|faq-33.6| VimをCygwin上で使うにあたって推奨される設定は?
|faq-33.7| 差分モードでGNU diffを使おうとしています。コマンドラインからdiffを
使うとうまく動くのですが、Vim内で使おうとすると動きません。どうす
れば?
|faq-33.8| Outlookで外部エディタにVimを使うことはできますか?
|faq-33.9| HTMLファイルを編集するのにVimを使っています。現在開いているHTML
ファイルをインターネットエクスプローラーでプレビューするには?
|faq-33.10| VimをMicrosoft Visual Studioといっしょに使いたいです。どうすれば?
|faq-33.11| どこに_vimrcと_gvimrcを置けばいいですか?
|faq-33.12| ファイルを保存する度に、そのファイルがVimの外部で変更されていると
警告が出ます。なぜですか?
*faq-printing*
SECTION 34 - 印刷
|faq-34.1| 全ての行に行番号をつけて印刷するには?
|faq-34.2| 構文強調の色をつけてファイルを印刷するには?
*faq-building-vim-from-source*
SECTION 35 - Vimをソースからビルドする
|faq-35.1| Unixシステム上でVimをソースからビルドするには?
|faq-35.2| Unixでホームディレクトリなど、デフォルトのディレクトリ以外にVimを
インストールするには?
|faq-35.3| MS-Windowsシステム上でVimをソースからビルドするには?
|faq-35.4| 私がインストールしたVimにはヘルプ、構文ファイル、インデントファイ
ルが欠けています。それらのファイルをインストールするには?
|faq-35.5| Vimをソースからビルドして"make install"でインストールしました。Vim
のソースディレクトリを残しておく必要はありますか?
|faq-35.6| ある機能がコンパイル時に有効化されているかどうかを知るには?
|faq-35.7| GUI機能なしでVimをビルドすることはできますか?
|faq-35.8| Unixシステム上でVimをビルドするとき、"undefined reference to
term_set_winsize"というエラーが出ます。これを解決するには?
|faq-35.9| GTK 2.03を使おうとしているのですが、Vimのconfigureがgtk-configがな
いとのメッセージを出します。しかしGTK2は一般的なpkg-configを使うよ
うになったので、これは正しいのです。gtk用のインクルードファイルと
ライブラリのリストを出力するpkg-configならありますが、なぜか
configureスクリプトはこれを使ってくれません。
*faq-various*
SECTION 36 - 様々な事柄
|faq-36.1| Vimでバイナリフィルを編集するには?
|faq-36.2| ビジュアルエラーフラッシュとエラービープを無効にするには?
|faq-36.3| バッファに表示されている文字のASCIIコードを表示するには?
|faq-36.4| コマンドのカウントとして0を使うことはできますか?
|faq-36.5| Vimの起動時の画面を表示させなくするには?
|faq-36.6| "hit enter to continue"プロンプトを避けるには?
|faq-36.7| コマンドラインからVimを起動して一連のファイルに対して一連のコマン
ドを実行するには?
|faq-36.8| 挿入モードから抜けることなくノーマルモードコマンドを実行するには?
*faq-unicode*
SECTION 37 - Unicode
|faq-37.1| VimでUnicodeのファイルを作ることはできますか?
|faq-37.2| Unicodeのファイルを編集するにあたって特に重要な設定は?
|faq-37.3| オプション'encoding'とは何ですか?
|faq-37.4| Vimでは様々なUnicodeエンコーディングをどう表記しますか?
|faq-37.5| バイト順マークの有無を指定するには?
|faq-37.6| オプション'fileencoding'とは何ですか?
|faq-37.7| オプション'fileencodings'とは何ですか?
|faq-37.8| オプション'termencoding'とは何ですか?
|faq-37.9| オプション'bomb'とは何ですか?
|faq-37.10| これらのオプションの典型的な例はどこにありますか?
|faq-37.11| Unicodeの文字を挿入するには?
|faq-37.12| どのダイグラフがどの文字に定義されているかを知るには?
=============================================================================
*faq-1*
SECTION 1 - 一般的な情報
*faq-1.1*
1.1. Vimとは何ですか?
Vim とは Vi IMproved を表します。かつては Vi IMitation の略でしたが、あまりに
多くの改良があったため名前の変更は適切なものでした。Vim は、Unix プログラムの
"Vi" のほとんど全てのコマンドや、多くの新しいコマンドを含んだテキストエディタ
です。全てのコマンドはキーボードで与えることができます。これには、指はキーボー
ドに置いたまま、目はスクリーンに向けておけるという利点があります。望む人には、
マウスサポートや、スクロールバーとメニューのついた GUI 版もあります。
Vim はエディタであって、ワードプロセッサーではありません。ワードプロセッサーは
主にテキストのレイアウトを行うのに使われます。つまり、位置決めや、表示時の見え
方を変えたり、ということです。たいてい最終的なドキュメントは他の人に満足いくよ
うに見せるため、印刷したり活字に組んだりなどするよう意図されます。ワードプロ
セッサーの例は、Microsoft Word、WordPerfect、FrameMaker、AmiPro です。
エディタは単純にテキストを入力するためのものです。ドキュメントの植字やレイアウ
トは二次的なものです。エディタにおいて、主な関心事はテキスト入力であり、テキス
トを良く見せることではありません。Vim や Vi 以外のエディタの例は、Emacs、
Crisp、Brief、xedit です。そして Notepad も。
さらなる情報については以下を参照してください。 >
:help intro
<
*faq-1.2*
1.2. 誰が Vim を書いたんですか?
Vim のほとんどは Bram Moolenaar によって書かれましたが、他に貢献した人々の名前
はここでは多すぎて触れられません。完全なリストは ":h credits" を見てください。
Vim は、Tim Thompson、Tony Andrews、G.R. (Fred) Walter らによって開発された
Stevie に基づいています。
さらなる情報については以下を参照してください。 >
:help author
<
*faq-1.3*
1.3. Vim は Vi と互換性がありますか?
非常に。コマンドラインフラグ"-C"を使えばVimをVi互換モードで起動することが
できます: >
$ vim -C
<
また、 >
$ vim -u NONE
<
ともできます。'compatible'オプションをセットすればViとの互換を有効化できます: >
:set compatible
<
さらなる情報については以下を参照してください。 >
:help -C
:help 'compatible'
:help compatible-default
<
*faq-1.4*
1.4. Vim が Vi よりも向上している点は何ですか?
ここにあるのは短い要約です。以下のリストは Vim が徹底して現代的で、機能がぎゅっ
と詰め込まれたエディタであることを示すものです。今日のエディタの標準的な機能は
実装されており、一般的なパワーユーザーやプログラマ向けの機能にも重点が置かれて
います。
Vi を現代化する機能:
多段階アンドゥ
ファイルバッファにおける変更を元に戻す回数を設定することができます。アン
ドゥされた変更をリドゥすることもできます。
複数ウィンドウとバッファ
それぞれのファイルはそれ自身のウィンドウに表示することができます。一つの
ウィンドウから別のウィンドウへ簡単に移動することができます。それぞれの開
かれたファイルは Vim のセッション中関連付けられたバッファを保有し、バッ
ファ間を簡単に移動することができます。
柔軟な挿入モード
Vim では挿入モードにある間矢印キーでファイル内を移動することができます。
<Esc> を押し、移動して、`i' や `a' を押す、といったことはしなくて済みま
す。
マクロ
Vim には、連続してタイプされた文字を記録し、後で何度でも繰り返すことので
きる機能があります。
ビジュアルモード
テキストの一部分をハイライトさせ、その部分にだけ操作を実行することができ
ます。
ブロック・オペレータ
テキストを長方形のブロック状に選択、ハイライトさせ、その部分に対し特定の
操作を行うことができます。
オンラインヘルプシステム
どんな Vim 使用の局面であれ、容易に答えを探すことができます。ヘルプはそれ
自身のウィンドウに表示されます。
コマンドライン編集と履歴
履歴を利用すると、矢印キーで既にタイプされたコマンドを繰り返したり探した
りできます。コマンドの先頭を、履歴バッファにある別の似たコマンドの先頭に
マッチさせることができます。コマンドを編集してタイプミスを訂正したり、い
くつか値を変更することもできます。
コマンドライン補完
<Tab> キーを使うと、コマンドやオプション、ファイル名などを必要に応じて補
うことができます。
水平スクロール
長い行は水平にスクロールできます(GUI の有る、無しにかかわらず)。
先進的なユーザー機能:
テキスト整形
2 キーストロークで、外部プログラムを使わずに長いテキストを整形できます。
挿入モードでの単語補完
Vim は、現在の単語とファイル内の似た単語とをマッチすることにより、タイピ
ング中に単語補完を行うことができます。
タグ・ジャンプ
ウェブ・ブラウザーと同じように、以前編集していた箇所に戻ったり、また元に
復帰することができます。なので、あなたの頭脳は自由にナビゲート、ではなく
編集をすることができます。
自動コマンド
ファイルを読み書きする時や、他のバッファに移動する時などに自動的に実行さ
れるコマンドです。
Viminfo
起動時に読み込まれるコマンドライン履歴やファイル内のマーク、レジスタを記
憶しておくことができます。したがって、以前の検索パターンや、マクロなどを、
新しい Vim セッションで呼び出すことができます。
マウスサポート
マウスは xterm や MS-DOS でサポートされています。カーソル位置を設定した
り、ビジュアル領域を選択したり、レジスタを貼り付けたり、等のことができま
す。
グラフィカルユーザーインターフェイス(GUI)
他の昨今のエディタと同様です。その上、独自のメニューを追加することも非常
に簡単です。もちろん、コンソール版の Vim も今なおサポートされており、幅広
く利用されています。
スクリプト言語
Vim は強力なスクリプト言語を備えており、新しいコマンドを作ることができま
す。また、同じことをするのに Perl、Python、TCL、それに Ruby を使うことも
できます。
プラグイン
Vim コマンドによって実装された拡張機能で、起動時に自動的にロードされます。
例: ファイルエクスプローラー、ネットワーク編集。更に多くのものが
VimOnline にて常に開発、共有されています。
多数のプログラミング言語に対応した構文強調
数百ものプログラミング言語に対応した構文強調があります。他の言語への対応
を追加することができます。
拡張正規表現
機能性がPerlの正規表現に似ている拡張正規表現をサポートしています。
プログラミング効率に関する機能:
編集―コンパイル―編集のスピードアップ
Vim 内部からコンパイルを行い、自動的にソースコードのエラーの箇所にジャン
プすることができます。
多数のプログラミング言語の字下げ
C、C++、Java、Perl、XML その他多くの言語で、タイプ中に自動的に字下げが行
われます。他の言語へのサポートも追加可能です。
インクルードファイル内の単語を検索
カーソルの下の単語とのマッチを、現在のファイルとインクルードされるファイ
ル内で検索することができます。
先進的なテキストオブジェクト
( と ) や、{ と } や、< と > 、また [ と ] の間の全てのテキストに対して、
また単語、文、段落に対して、一瞬で選択したり、削除やコピーをしたり、字下
げ、整形、大文字小文字の変換、等々を行うことができます。非常に強力です。
フォールディング
テキストのある部分を「フォールド」(折り畳み)してしまうことができます。
最も良い例は関数の中身の部分です。コードの概観を見渡して、それから詳細を
見たい関数のフォールドを開くことができます。
ctags と cscope との統合
これらの強力なプログラムを使うと、関数の呼び出し部分からその定義部分へジ
ャンプしたり、他の技術を使ってソースコードを行き来することができます。
さらなる情報については以下を参照してください。 >
:help vi-differences
<
*faq-1.5*
1.5. Vim は無料ですか?
Vim はチャリティウェアです。Vim の使用や複製に関しては何ら制限はありませんが、
著者は慈善事業に寄付をするよう奨励しています。その方法を説明するドキュメントが
ディストリビューションの中に含まれています。
さらなる情報については以下を参照してください。 >
:help copyright
<
=============================================================================
*faq-2*
SECTION 2 - 情報源
*faq-2.1*
2.1. どこに行けば Vim についてもっと学べるでしょうか?
Vimの質問は [email protected] メーリングリストに投稿できます。Vimの開発に関する質問
は [email protected] メーリングリストに投稿できます。Vim にはそれ自身のための
ニュースグループがありません。しかし comp.editors は投稿するのに適しています。
"VimOnline" は vim のデファクト・ホームページの役割を果たしているウェブ・ペー
ジですが、その主な目的は tip やスクリプトをいたる所から集積することにあります。
ぜひ参加してください。URL は vim.sourceforge.net または vim.sf.net です。
最後に、Vi FAQ を読んでください: >
http://www.faqs.org/faqs/editor-faq/vi/part1/index.html
<
この FAQ の第 5 節に、こちらの FAQ についてのより詳しい情報があります。 >
:help mail-list
:help internet
<
*faq-2.2*
2.2. メーリングリストはありますか?
いくつか存在します: >
名前 説明
<
vim-announce 新しいリリースの発表
vim 一般的な議論
vim-dev パッチ、バグ報告、開発議論
vim-mac マッキントッシュに関する議論
vim-fr フランス語による一般的な議論
vim-multibyte マルチバイト関連の開発の問題
vim-vms VMS上での開発について
これらのうち、vim と vim-dev だけが一般的な興味を引くものです。vim-announce は
ほとんどの人にとってはリードオンリーですし、そのメッセージは他のリストにも送信
されます。他の 4 つは非常に通信量が少ないです。
購読するには: <名前>[email protected] にメールを送ってください。
購読を中止するには: <名前>[email protected] にメールを送ってください。
ヘルプを得るには: <名前>[email protected] にメールを送ってください。
*faq-2.3*
2.3. メーリングリストのアーカイブはありますか?
あります。http://www.yahoogroups.com/list/<名前> を訪ねてみてください。<名前>
の所には次の
vimannounce, vim, vimdev, vim-fr, vim-mac, vim-multibyte, vim-vms
のどれかが入ります。
もしくは、www.gmane.org に行って GMANE について調べてみてください。これはメー
リングリストに、あたかもニュースグループのような感覚でアクセスすることができる
ものです。履歴をざっと眺めたり、現在のスレッドを気軽に見ることができて便利です。
*faq-2.4*
2.4. HTML/PDF/PS形式のVimユーザーマニュアルはどこで手に入りますか?
HTML/PDF/PS形式のVimユーザーマニュアルは以下からダウンロードできます。 >
http://vimdoc.sourceforge.net/
<
*faq-2.5*
2.5. ある問題が発生しました。それが私の設定によるものか、Vimそのものの
問題かはどうすればわかりますか?
まず、その問題があなたの.vimrcや.gvimrc、システムのvimrc、あなたのプラグイン
ファイル、その他あなたの設定ファイルによるものかを調べなければなりません。その
ために >
$ vim -N -u NONE -U NONE
<
としてください。これはVimを'nocompatible'モードで起動し、あなたの個人的な
.vimrcや.gvimrcファイルを読み込みません。あなたの個人的なプラグインも読み込み
ません。これでVimを起動し、問題の再現を試みてください。もしこれで問題が再現で
きなければ、その問題はあなたの設定ファイルやプラグイン中の設定に関係していま
す。設定ファイル中の問題の場所をつきとめるには、試行錯誤と設定ファイル中の1行
1行をコメントアウトしてみなければなりません。Vimにコマンドライン引数-Vをつけ
て起動するとデバッグ情報が得られ、問題を分析することができます: >
$ vim -V2
<
-V引数に渡す値を増やせば、さらに詳しいデバッグ情報が得られます。
さらなる情報については以下を参照してください。 >
:help -u
:help -U
:help -N
:help -V
:help 'verbose'
:help :verbose
:help set-verbose
<
*faq-2.6*
2.6. どこでバグ報告をすればいいですか?
最初に次のコマンドを使って必要な情報を集めてください: >
:source $VIMRUNTIME/bugreport.vim
<
そして上のコマンドで得られたテキストを[email protected]メールアドレスに送ってくださ
い。
Vim 開発のメーリングリスト(上を見てください)は通常のバグについて議論するのにふ
さわしい場所です。あなたの見つけたバグがシンタックスハイライティングやその他の
「付加的な機能」(つまり、直接 vim にプログラムされていないもの)に関するもので
あれば、その機能のメンテナーに報告してみてください。
さらなる情報については以下を参照してください。 >
:help bug-reports
<
*faq-2.7*
2.7. FAQ はどこで見つけられますか?
VimOnline (vim.sf.net) で手に入ります。将来的には他の場所も加えられるでしょう。
*faq-2.8*
2.8. この FAQ に答えが見つからなかった時、どうすればいいですか?
この FAQ は主に Vim に特有の質問を扱います。ほとんどの Vi クローン向きの情報に
ついては Vi FAQ を読めば見つかるでしょう。これは comp.editors で定期的に投稿さ
れています。下記の場所にもそのコピーがあります。 >
http://www.faqs.org/faqs/editor-faq/vi/part1/index.html
<
また、Vim は過去数年間で非常に多くの機能を集積してきたため、よくある質問をここ
で申し分なく記述することは不可能に近い作業です。これを可能にするために、もし良
い質問をお持ちならメンテナーにメールで知らせてください。良い質問とは、自分で答
えを出そうとして(Vim は素晴らしいドキュメントを備えていることを思い出してくださ
い)非常に苦労した質問のことです。
*faq-2.9*
2.9. Vimに機能を追加するパッチを持っています。これをどこへ送ればいいですか?
Vim開発者メーリングリスト[email protected]にパッチを送ってください。
さらなる情報については以下を参照してください。 >
:help vim-dev
<
*faq-2.10*
2.10. Vimのtipを持っていたり新しいsyntax/indent/filetype/compilerプラグインを
開発したり、新しいスクリプトやカラースキームを開発しました。これをアップ
ロードできる公開のウェブサイトはありますか?
あります。Vim Onlineウェブサイトにプラグイン・スクリプト、カラースキーム、
tipsなどをアップロードすることができます。そのサイトは
http://vim.sourceforge.netにあります。
=============================================================================
*faq-3*
SECTION 3 - 入手
*faq-3.1*
3.1. Vim の最新のバージョンは何ですか?
Vim の最新バージョンは2004年6月8日にリリースされた 6.3 です。
Vimのリリース履歴は以下の通りです:
Version 6.3 8th June 2004
Version 6.2 1st June 2003
Version 6.1 24th March 2002
Version 6.0 27th September, 2001
Version 5.8 31st May, 2001
Version 5.7 24th June, 2000
Version 5.6 16th January, 2000
Version 5.5 21st September, 1999
Version 5.4 26th July, 1999
Version 5.3 31st August, 1998
Version 5.2 24th August, 1998
Version 5.1 7th April, 1998
Version 5.0 19th February, 1998
Version 4.6 13th March,1997
Version 4.5 17th October, 1996
Version 4.2 5th July,1996
Version 4.0 21st May, 1996
Version 3.0 16th August, 1994
Version 2.0 21st December, 1993
Version 1.27 23rd April, 1993
Version 1.17 21st April, 1992
*faq-3.2*
3.2. どこで Vim の最新版を見つけられますか?
VimOnlineからVimの最新バージョンのソースがダウンロードできます。URLは
http://vim.sourceforge.net/download.php
です。
*faq-3.3*
3.3. どのプラットフォーム上で実行できるんですか?
全ての Unix プラットフォーム。
全ての Windows プラットフォーム。
Amiga、Atari、BeOS、DOS、Macintosh、MachTen、OS/2、RiscOS、VMS です。
*faq-3.4*
3.4. どこでVimのランタイムファイルの最新バージョンをダウンロードできますか?
Vimランタイムファイル(構文ファイル、ファイル形式別プラグイン、コンパイラプラ