aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man1/vi.1
blob: de76bbc79643d755300071a4914d87426e7c2c83 (plain) (blame)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
.\" Copyright (c) 1994
.\"     The Regents of the University of California.  All rights reserved.
.\" Copyright (c) 1994, 1995, 1996
.\"	Keith Bostic.  All rights reserved.
.\"
.\" This document may not be republished without written permission from
.\" Keith Bostic. 
.\"
.\" See the LICENSE file for redistribution information.
.\"
.\"     @(#)vi.1	8.51 (Berkeley) 10/10/96
.\" jpman %Id: vi.1,v 1.3 1997/05/19 16:53:25 horikawa Stab %
.\"
.TH VI 1 "October 10, 1996"
.UC
.SH 名称
ex, vi, view \- テキストエディタ
.SH 書式
.B ex
[\c
.B -eFGRrSsv\c
] [\c
.BI -c " cmd"\c
] [\c
.BI -t " tag"\c
] [\c
.BI -w " size"\c
] [file ...]
.br
.B vi
[\c
.B -eFGlRrSv\c
] [\c
.BI -c " cmd"\c
] [\c
.BI -t " tag"\c
] [\c
.BI -w " size"\c
] [file ...]
.br
.B view
[\c
.B -eFGRrSv\c
] [\c
.BI -c " cmd"\c
] [\c
.BI -t " tag"\c
] [\c
.BI -w " size"\c
] [file ...]
.SH ライセンス
vi プログラムは自由に再配布できます。ライセンスファイルに挙げた条件の
基で、コピー、改変、他者との共有は自由にして下さい。どこかの会社(個人
ではありません!)で vi が購入を希望するほど十分有用であると認めた場合、
または会社で再配布を希望する場合、作者へ寄付をいただければ幸いです。
.SH 解説
.I \&vi
はスクリーン指向のテキストエディタです。
.I \&ex
は行指向のエディタです。
.I \&ex
と
.I \&vi
は同じプログラムで別のインタフェースを提供し、
エディット中に切替えることが可能です。
.I view
は
.IR \&vi .
に
.B \-R
(リードオンリー) オプション
をつけて実行した場合と同じです。
.PP
このマニュアルは
.I ex/vi
テキストエディタから派生した
.I nex/nvi
用として提供されています。
.I nex/nvi
は Fourth Berkeley Software Distibution (4BSD) オリジナルの 
.I \&ex
と
.I \&vi
のバグ一つ一つの互換性も含めて置き換えたつもりです。
このマニュアルでは、以後、伝統的な
.IR ex/vi
の実装と区別する必要がある時だけ、
.I nex/nvi
という表現を使います。
.PP
このマニュアルページは、
.IR ex/vi
を既に良く知っているユーザのためのものです。それ以外の人は、このマニュアルを
読む前に良いチュートリアルをしっかりと読んでおくべきです。あなたが不慣れな
環境のもとで、否応無く、しかも直ちに仕事を片付けなければならないなら、
オプションの一覧の後にある、 ``ファースト スタートアップ'' という
タイトルのセクションを読んで下さい。
あなたがその仕事をこなすには、おそらくこれで十分でしょう。
.PP
以下のオプションが利用できます:
.TP
.B \-c
エディットセッションがスタートした後ですぐに
.B cmd
を実行します。特にファイル中の最初の位置を決定するのに非常に役立ちますが、
.B cmd
はポジジョニングコマンドに限定されません。これは、伝統的な ``+cmd''
構文に代わる、POSIX 1003.2 で規定されたインターフェイスです。
.I nex/nvi
は新旧どちらの構文もサポートしています。
.TP
.B \-e
コマンド名が 
.IR \&ex
であるかのように、ex モードで編集を開始します。
.TP
.B \-F
編集を開始する時にファイル全体のコピーを作成しません
(デフォルトでは、あなたの編集作業中に他の誰かがファイルを変更
する場合に備えてコピーを作成します)。
.TP
.B \-l
lisp オプションと showmatch オプションをセットして編集を始めます。
.TP
.B \-G
gtagsmode オプションがセットされている時と同じように、
gtags モードで編集を開始します。
.TP
.B \-R
コマンド名が
.IR view ,
であるかのように、もしくは
.B readonly
オプション付きで起動されたかのように、
リードオンリーモードで編集を開始します。
.TP
.B \-r
指定したファイルの復旧を行ないます。もしファイルが指定されなかった場合は、
復旧可能なファイルの一覧を表示します。もし、復旧可能なファイルの中に
指定した名前のものがなかった場合は、
.B \-r
オプションが指定されなかったかのように、そのファイルの編集を行ないます。
.TP
.B \-S
外部プログラムへのすべてのアクセスを許さない
.B secure
エディットオプションをセットして起動します。
.TP
.B \-s
バッチモードに入ります。バッチモードは
.I \&ex
エディットセッションの時しか使えません。バッチモードは
.I \&ex
スクリプトを実行する時に便利です。このモードでは、プロンプトや、
情報を伝えるメッセージや、その他のユーザ向けのメッセージは出力されず、
スタートアップファイルや環境変数は読み込まれません。これは、伝統的な
``\-'' 引数に代わる、POSIX 1003.2 で規定されたインターフェイスです。
.I \&nex/nvi
は新旧どちらの構文もサポートしています。
.TP
.B \-t
指定したタグの位置でエディットを開始します。 (
.IR ctags (1)
参照)
.TP
.B \-w
起動時のウィンドウの大きさを指定した行数にします。
.TP
.B \-v
コマンド名が
.I \&vi
か
.IR view
であるかのように、 vi モードでエディットを開始します。
.PP
.I ex/vi
へのコマンド入力は、標準入力から行なわれます。
.I \&vi
のインターフェースは、標準入力が端末でない場合にはエラーになります。
.I \&ex
のインターフェースでは、
.I \&ex
は、標準入力が端末でなくても、
ちょうど
.B \-s
オプションが指定されている場合のようにセッションがバッチモード
であっても、とにかく読み込みます。
.PP
.I ex/vi
は成功時に 0 を、エラーが起こった時には 0 より大きな値を返します。
.SH ファーストスタートアップ
このセクションは、
.IR \&vi
を使って簡単な編集作業を行なうのに必要な最低限のことを教えてくれるでしょう。
あなたが以前に一度もスクリーンエディタを使ったことがないなら、この簡単な紹介
の章でさえも問題になるかも知れません。この場合は、すでに
.I \&vi
を知っている人を探して、その人と一緒にこのセクションを読むべきです。
.PP
.I \&vi
はスクリーンエディタです。つまり、
.I \&vi
は常に画面全体を使い、ファイルの一部分を画面上の (最終行以外の)
それぞれの行に表示します。
画面の最終行は、あなたが
.IR \&vi
にコマンドを与えたり、
.I \&vi
があなたに情報を与えたりするのに使われます。
.PP
もうひとつ知っておくべきこととして、
.I \&vi
はモードを持ったエディタであることがあります。
つまり、テキストを入力したり、コマンドを実行したりするには、
それぞれの作業を正しいモードで実行しなければなりません。
ファイル編集の最初はコマンドモードになっています。入力モードにする
コマンドが幾つかあります。入力モードから抜けるキーはただ一つで、
それは <escape> キーです。
(キーの名前は、<,> ではさんで書くことにします。
例えば、<escape> は ``エスケープ''
``esc'' キーのことを示し、通常キーボードでは、
と表示してあります。)
どのモードにいるのかが判らなくなったならば、
.I \&vi
が、ビープ音を出すまで、<escape> キーを押し続けて下さい。
(一般的に、
.I \&vi
は、許されていないことを何か試みたり、行なったりするとビープ音を鳴らします。
エラーメッセージも表示します。)
.PP
ファイルの編集を始めるには、 ``vi file_name<carriage-return>''
という具合に、コマンドを入れます。
編集を始めると、まず直ちに、
``:set verbose showmode<carriage-return>''
とコマンドを入れましょう。
そうすることによって、エディタは、
画面の最終行に詳細なエラーメッセージを出すようになりますし、
現在のモードも表示するようになります。
.PP
ファイル内を移動するコマンド :
.TP
.B h
カーソルを 1 文字左へ動かす。
.TP
.B j
カーソルを 1 行下へ動かす。
.TP
.B k
カーソルを 1 行上へ動かす。
.TP
.B l
カーソルを1文字右へ動かす。
.TP
.B <cursor-arrows>
カーソルを矢印が示す方へ動かす。
.TP
.B /text<carriage-return>
ファイル中の ``text'' を検索し、その最初の文字へカーソルを移動します。
.PP
新しく文書入力するコマンド :
.TP
.B a
入力した文書カーソルの
.I 後ろへ
追加します。
.TP
.B i
入力した文書カーソルの
.I 前に
挿入します。
.TP
.B o
カーソルの下に新しい行を設けて、文書の入力を開始します。
.TP
.B O
カーソルの上に行を設けて、文書の入力を開始します。
.TP
.B <escape>
一旦、
.BR \&a ,
.BR \&i ,
.BR \&O
ないし
.B \&o
などのコマンドで入力モードに入ってからは、
文書の入力を終了しコマンドモードへ戻るためには、
.B <escape>
コマンドを用います。
.PP
文書をコピーするコマンド :
.TP
.B yy
カーソルのある行をコピーします。
.TP
.B p
カーソルのある行の下にコピーした行を追加します。
.PP
文書を削除するコマンド :
.TP
.B dd
カーソルのある行を削除します。
.TP
.B x
カーソルのある文字を削除します。
.PP
ファイルに書き込むコマンド :
.TP
.B :w<carriage-return>
もともと
.I \&vi
のコマンドラインで指定したファイルに、ファイルの内容を書き戻します。
.TP
.B ":w file_name<carriage-return>"
指定された ``file_name'' に、ファイルの内容を書き出します。
.PP
編集を終了し、エディタを抜けるコマンド :
.TP
.B :q<carriage-return>
エディットを終了し、 vi から抜けます。
(ファイル内容が変更されていてまだ保存されていなければ、
.I \&vi
は、終了指示を拒否します)
.TP
.B :q!<carriage-return>
変更した内容を放棄し、終了します。
.PP
最後に注意していただきたいこととして、
通常の文字ではない文字は、画面上で複数カラムを占めることがあります。また、
長い行は、画面上の1行に収まらないこともあります。
上記のコマンドは、 ``物理的な'' 行や文字に対して作用します。
つまり、行関係のコマンドはその行が画面上で
何行になろうと行全体に影響を及ぼしますし、文字関係のコマンドはその文字が
画面上で何カラムを占めていても、その文字全体に影響を及ぼします。
.SH VI コマンド
以下の章では、
.I \&vi
のコマンドモードで現れるコマンドについて説明します。
それぞれの記述では、見出し行にコマンドの使用書式を一覧表示します。
.PP
.TP
.B "[count] <control-A>"
.I count
で指定した回数だけ、前方へ現在の単語を検索します。
.TP
.B "[count] <control-B>"
.I count
で指定した回数だけ、画面を後方へ戻します。
.TP
.B "[count] <control-D>"
.I count
で指定した行数だけ、画面を前方へスクロールします。
.TP
.B "[count] <control-E>"
.I count
で指定した行数だけ、画面を前方へスクロールします。
カーソルは現在行から離れますが、可能な場合は元のカラムに留まります。
.TP
.B "[count] <control-F>"
.I count
で指定した回数だけ、画面を前方へスクロールします。
.TP
.B "<control-G>"
ファイル情報を表示します。
.TP
.B "<control-H>"
.TP
.B "[count] h"
.I count
で指定した文字数だけ、カーソルを現在行中で戻します。
.TP
.B "[count] <control-J>"
.TP
.B "[count] <control-N>"
.TP
.B "[count] j"
.I count
で指定した行数だけ、カラム位置を変えずにカーソルを
下へ移動します。
.TP
.B "<control-L>"
.TP
.B "<control-R>"
画面を再表示します。
.TP
.B "[count] <control-M>"
.TP
.B "[count] +"
.I count
で指定した行数だけ下の行の、
最初の空白以外の文字の位置へカーソルを
移動します。
.TP
.B "[count] <control-P>"
.TP
.B "[count] k"
.I count
で指定した行数だけ、
カラム位置を変えずにカーソルを上へ移動します。
.TP
.B "<control-T>"
最近のタグの状態へと戻ります。
.TP
.B "<control-U>"
.I count
で指定した行数だけ、画面を後方へスクロールします。
.TP
.B "<control-W>"
編集中の次の下位のスクリーンに切り替わります。
編集中の下位のスクリーンが他に無い場合には、最初のスクリーンへ切り替えます。
.TP
.B "<control-Y>"
.I count
で指定した行数だけ、画面を後方にスクロールします。
できるかぎり現在の行、カラムにカーソルを残します。
.TP
.B "<control-Z>"
現在の処理を中断 (suspend) します。
.TP
.B "<escape>"
.I \&ex
コマンドを実行します。もしくは、実行中のコマンドを部分的にキャンセルします。
.TP
.B "<control-]>"
タグ参照の内容をタグスタックへプッシュします。
gtagsmode では、行の最初のカラムにいる時は関数の参照位置を探し、
そうでない時は関数の定義位置を探します。
.TP
.B "<control-^>"
最後に編集したファイルへ切り替えます。
.TP
.B "[count] <space>"
.TP
.B "[count] l"
.I count
で指定した文字数だけ、カーソルを前方へ行を変えずに移動します。
.TP
.B "[count] ! motion shell-argument(s)"
シェルコマンドの結果を用いて文書を置き換えます。
.TP
.B "[count] # #|+|-"
カーソルが指す場所の数を増減します。
.TP
.B "[count] $"
カーソルを現在の行の末尾に移動します。
.TP
.B "%"
対となる文字へカーソルを移動します。
.TP
.B "&"
現在行で、前回実行した置換コマンドを再び実行します。
.TP
.B "'<character>"
.TP
.B "`<character>"
マークした文字 <character> の場所へ戻ります。
.IR <character> .
.TP
.B "[count] ("
.I count
で指定された数だけ、前の文へ戻ります。
.TP
.B "[count] )"
.I count
で指定された数だけ、後ろの文へ移動します。
.TP
.B "[count] ,"
.I count
で指定された回数だけ、逆方向へ文字を検索します。
.TP
.B "[count] -"
.I count
で指定された回数だけ、
直前の行で最初に現れる空白でない文字への移動を行ないます。
.TP
.B "[count] ."
直前の
.I \&vi
編集コマンドを繰り返します。
.TP
.B "/RE<carriage-return>"
.TP
.B "/RE/ [offset]<carriage-return>"
.TP
.B "?RE<carriage-return>"
.TP
.B "?RE? [offset]<carriage-return>"
.TP
.B "N"
.TP
.B "n"
前方/後方に向かって、正規表現による検索を行ないます。
.TP
.B "0"
現在行の最初の文字に移動します。
.TP
.B ":"
ex コマンドを実行します。
.TP
.B "[count] ;"
文字検索を
.I count
で指定された回数だけ繰り返します。
.TP
.B "[count] < motion"
.TP
.B "[count] > motion"
現在行を、左/右にシフトします。
.TP
.B "@ buffer"
バッファに保存されたコマンドを実行します。
.TP
.B "[count] A"
入力モードに入り、文書を行の最後に追加します。
.TP
.B "[count] B"
.I count
で指定された回数だけ、大単語(bigword)の先頭文字への移動を繰り返します。
.TP
.B "[buffer] [count] C"
現在位置から行末までを変更します。
.TP
.B "[buffer] D"
現在位置から行末まで削除します。
.TP
.B "[count] E"
.I count
で指定された回数だけ、大単語の末尾の文字への移動を繰り返します。
.TP
.B "[count] F <character>"
.I count
で指定された回数だけ、行の先頭から逆方向に文字
.IR <character>
を検索/移動を繰り返します。
.TP
.B "[count] G"
ファイルの最初から数えて
.IR count
行目へ、もしくは
.I count
を指定しなかったときはファイルの末尾の行へ、カーソルを移動します。
.TP
.B "[count] H"
画面の最初から数えて
.I "count - 1"
行目に移動します。
.TP
.B "[count] I"
入力モードに入り、行の先頭へ文書を挿入します。
.TP
.B "[count] J"
現在行と次の行を結合します。
.TP
.B "[count] L"
画面の下から数えて
.I "count - 1"
行目に移動します。
.TP
.B " M"
画面中央の行へ移動します。
.TP
.B "[count] O"
入力モードに入ります。現在行の直前に新しい行を作り、文書を追加します。
.TP
.B "[buffer] P"
バッファに保存した文書を挿入します。
.TP
.B "Q"
.I \&vi
(もしくは visual)モードを終了し、
.I \&ex
モードへ切り替わります。
.TP
.B "[count] R"
入力モードに入り、現在行の内容を置き換えます。
.TP
.B "[buffer] [count] S"
.I count
で指定した行数だけ、行を置き換えます。
.TP
.B "[count] T <character>"
.I count
で指定した回数だけ、現在行で逆方向に検索し、指定された文字
.IR <character>
の
.I 後ろ
の文字に移動します。
.TP
.B "U"
現在行を、カーソルが最後に入ってきた時の直前の状況に復元します。
.TP
.B "[count] W"
.I count
で指定した回数だけ、大単語単位で移動します。
.TP
.B "[buffer] [count] X"
.I count
で指定した回数だけ、カーソルの前の文字を削除します。
.TP
.B "[buffer] [count] Y"
行のコピー、 (もしくは ``ヤンク'') を
.I count
で指定した行数だけ、指定したバッファに取り込みます。
.TP
.B "ZZ"
ファイルに書き込み、
.IR \&vi
を終了します。
.TP
.B "[count] [["
.I count
で指定した回数だけ、後方のセクションの先頭へ移動します。
.TP
.B "[count] ]]"
.I count
で指定した回数だけ、前方のセクションの末尾へ移動します。
.TP
.B "\&^"
現在行の空白でない最初の文字へ移動します。
.TP
.B "[count] _"
.I "count - 1"
で指定した行数だけ、下の行の最初の空白でない文字へ移動します。
.TP
.B "[count] a"
入力モードに入り、カーソルの後ろに文書を追加します。
.TP
.B "[count] b"
.I count
で指定した回数だけ、後方へ単語単位で移動します。
.TP
.B "[buffer] [count] c motion"
範囲指定した文書を変更します。
.TP
.B "[buffer] [count] d motion"
範囲指定した文書を削除します。
.TP
.B "[count] e"
.I count
で指定した数だけ前方の単語の終りに移動します。
.TP
.B "[count] f<character>"
現在行の中で、行末まで
.I count
で指定した回数だけ、
.IR <character>
を検索します。
.TP
.B "[count] i"
入力モードに入り、カーソルの前に文書を挿入します。
.TP
.B "m <character>"
現在の状態 (行とカラム) を
.IR <character>
へ、保存します。
.TP
.B "[count] o"
入力モードに入ります。現在行の下に新しい行を作り、文章を追加します。
.TP
.B "[buffer] p"
バッファから文章を取り出し、追加します。
.TP
.B "[count] r <character>"
.I count
で指定した文字数だけ、文字を置換します。
.TP
.B "[buffer] [count] s"
現在行の中で、カーソルのある文字から
.I count
で指定する回数だけ、文字を入れ換えます。
.TP
.B "[count] t <character>"
現在行の中で、前方へ
.I count
で指定する回数だけ、
.IR <character>
を検索し、その文字の
.I 直前
へ移動します。
.TP
.B "u"
ファイルに最後に行なった変更を取り消します。
.TP
.B "[count] w"
.I count
で指定した回数だけ、前方へ単語単位で移動します。
.TP
.B "[buffer] [count] x"
.I count
で指定した回数だけ、文字を削除します。
.TP
.B "[buffer] [count] y motion"
.I count
と motion で指定された範囲をバッファへコピー(もしくは ``yank'')します。
.TP
.B "[count1] z [count2] -|.|+|^|<carriage-return>"
画面を再表示します。あわせてカーソル位置や画面のサイズを変更することも
できます。
.TP
.B "[count] {"
.I count
で指定した回数だけ、後方へ段落単位で移動します。
.TP
.B "[count] |"
現在行の中で
.I count
で指定した
.I column
位置に移動します。
.TP
.B "[count] }"
.I count
で指定した回数だけ、前方へ段落単位で移動します。
.TP
.B "[count] ~"
.I count
で指定した回数だけ、文字(列)の大文字、小文字を入れ換えます。
.TP
.B "[count] ~ motion"
.I count
と
.IR motion
で指定された範囲の文字列の大文字小文字を入れ換えます。
.TP
.B "<interrupt>"
現在の作業を中断します。
.SH VI の文書入力コマンド
以下のセクションでは、
.I \&vi
エディタの文書入力に用するコマンドに関して記します。
.PP
.TP
.B "<nul>"
直前の入力を繰り返します。
.TP
.B "<control-D>"
直前の
.B shiftwidth
のカラム境界まで消去します。
.TP
.B "^<control-D>"
オートインデント文字を全部消し、インデント状態を解除します。
.TP
.B "0<control-D>"
オートインデント文字を全部消します。
.TP
.B "<control-T>"
カーソルが
.B shiftwidth
オプションの偶数倍のカラム数の直後に来るまで、適当な数の
.I <tab>
と
.I <space>
文字を挿入します。
.TP
.B "<erase>
.TP
.B "<control-H>"
最後に入力した文字を消します。
.TP
.B "<literal next>"
次の文字を引用します。
.TP
.B "<escape>
文書を全部ファイルに格納し、コマンドモードへ戻ります。
.TP
.B "<line erase>"
現在行を消します。
.TP
.B "<control-W>"
.TP
.B "<word erase>"
最後に入力した単語を消します。
単語の定義は、
.B altwerase
と
.B ttywerase
のオプションに依存します。
.TP
.B "<control-X>[0-9A-Fa-f]+"
指定した 16 進の値を持つ文字を挿入します。
.TP
.B "<interrupt>"
文書入力モードを中断し、コマンドモードへと戻ります。
.SH EX コマンド
以下のセクションでは、
.I \&ex
エディタで用いられるコマンドに関して記します。
以下のエントリのうち、見出し行にはコマンドの使用書式を記載してあります。
.PP
.TP
.B "<end-of-file>"
画面をスクロールします。
.TP
.B "! argument(s)"
.TP
.B "[range]! argument(s)"
シェルコマンドを実行するか、もしくはシェルコマンドを用いて
指定範囲の行にフィルタをかけます。
.TP
.B \&"
コメントです。
.TP
.B "[range] nu[mber] [count] [flags]"
.TP
.B "[range] # [count] [flags]"
指定行を、その行番号を前に付けて表示します。
.TP
.B "@ buffer"
.TP
.B "* buffer"
バッファの中身を実行します。
.TP
.B "[line] a[ppend][!]"
指定行の後に、入力文字を追加します。
.TP
.B "[range] c[hange][!] [count]"
.I range
で指定した範囲を入力文字で置き換えます。
.TP
.B "cs[cope] add | find | help | kill | reset"
cscope コマンドを実行する。
.TP
.B "[range] d[elete] [buffer] [count] [flags]"
ファイルから行を削除します。
.TP
.B "di[splay] b[uffers] | c[onnections] | s[creens] | t[ags]"
バッファ、cscope接続、画面、タグを表示します。
.TP
.B "[Ee][dit][!] [+cmd] [file]"
.TP
.B "[Ee]x[!] [+cmd] [file]"
別のファイルを編集します。
.TP
.B "exu[sage] [command]"
指定した
.I \&ex
コマンドの使い方を表示します。
.TP
.B "f[ile] [file]"
ファイル名を表示し、指定があればファイル名を変更します。
.TP
.B "[Ff]g [name]"
.I \&vi
モードのみ。
指定した画面をフォアグランドに表示します。
.TP
.B "[range] g[lobal] /pattern/ [commands]"
.TP
.B "[range] v /pattern/ [commands]"
パターンに合致した(しない)行にコマンドを適用します。
.TP
.B "he[lp]"
ヘルプメッセージを表示します。
.TP
.B "[line] i[nsert][!]"
入力文書を指定した行の前に挿入されます。
.TP
.B "[range] j[oin][!] [count] [flags]"
行を結合します。
.TP
.B "[range] l[ist] [count] [flags]"
行を曖昧さがないように表示します。
.TP
.B "map[!] [lhs rhs]"
マップを定義もしくは表示します。(
.I \&vi
のみ)
.TP
.B "[line] ma[rk] <character>"
.TP
.B "[line] k <character>"
行を
.IR <character>
としてマークします。
.TP
.B "[range] m[ove] line"
指定した行を目標行の後ろに移動します。
.TP
.B "mk[exrc][!] file"
略語、エディタのオプション、マップを指定したファイルに書き込みます。
.TP
.B "[Nn][ext][!] [file ...]"
引数リストで指定した次のファイルの編集に移行します。
.TP
.B "[line] o[pen] /pattern/ [flags]"
オープンモードに入ります。
.TP
.B "pre[serve]"
後で
.I \&ex
.B \-r
オプションを用いてファイルを復元できる形式にして保存します。
.TP
.B "[Pp]rev[ious][!]"
引数リストで指定した一つ前のファイルを編集します。
.TP
.B "[range] p[rint] [count] [flags]"
指定した行を表示します。
.TP
.B "[line] pu[t] [buffer]"
バッファの内容を現在行に追加します。
.TP
.B "q[uit][!]"
編集を終了します。
.TP
.B "[line] r[ead][!] [file]"
ファイルを読み込みます。
.TP
.B "rec[over] file"
事前に保存されている場合に、
.I file
を復元します。
.TP
.B "res[ize] [+|-]size"
.I \&vi
モードのみ。
現在の画面を大きくするか、もしくは小さくします。
.TP
.B "rew[ind][!]"
引数リストを巻き戻し、最初の引数のファイルの編集に移行します。
.TP
.B "rta[g][!] tagstring"
指定したタグを参照しているファイルを編集します。(gtagsmode でのみ有効)
.TP
.B "se[t] [option[=[value]] ...] [nooption ...] [option? ...] [all]"
エディタのオプションを表示、もしくは設定します。
.TP
.B "sh[ell]"
シェルプログラムを実行します。
.TP
.B "so[urce] file"
ファイルから
.I \&ex
コマンドを読み込み、実行します。
.TP
.B "[range] s[ubstitute] [/pattern/replace/] [options] [count] [flags]"
.TP
.B "[range] & [options] [count] [flags]"
.TP
.B "[range] ~ [options] [count] [flags]"
置換を行ないます。
.TP
.B "su[spend][!]"
.TP
.B "st[op][!]"
.TP
.B <suspend>
編集を一時中断します。
.TP
.B "[Tt]a[g][!] tagstring"
指定のタグを含むファイルを編集します。
.TP
.B "tagn[ext][!]"
現在のタグの次のタグを含むファイルを編集します。
.TP
.B "tagp[op][!] [file | number]"
スタックから指定したタグを取り出します。
.TP
.B "tagp[rev][!]"
現在のタグの前のタグを含むファイルを編集します。
.TP
.B "unm[ap][!] lhs"
指定した文字列のマップ定義を解除します。
.TP
.B "ve[rsion]"
.I \&ex/vi
のバージョンを表示します。
.TP
.B "[line] vi[sual] [type] [count] [flags]"
.I \&ex
モードのみ。
.IR \&vi
モードに入ります。
.TP
.B "[Vi]i[sual][!] [+cmd] [file]"
.I \&vi
モードのみ。
新しいファイルを編集します。
.TP
.B "viu[sage] [command]"
.I \&vi
コマンドの使い方を表示します。
.TP
.B "[range] w[rite][!] [>>] [file]"
.TP
.B "[range] w[rite] [!] [file]"
.TP
.B "[range] wn[!] [>>] [file]"
.TP
.B "[range] wq[!] [>>] [file]"
ファイルに書き出します。
.TP
.B "[range] x[it][!] [file]"
修正されていれば、ファイルに書きだします。
.TP
.B "[range] ya[nk] [buffer] [count]"
指定行をバッファにコピーします。
.TP
.B "[line] z [type] [count] [flags]"
ウィンドウのサイズを調節します。
.SH SET オプション
set (または unset)することによりエディターの動作を変更することができる
オプションが非常にたくさんあります。このセクションでは、
これらのオプションとその短縮形とデフォルト値を説明します。
.PP
以下の各項目では、最初にオプションをフルネームで、
その次に同じ意味を持つ短縮形が続きます。
角括弧の部分は、デフォルト値です。
ほとんどのオプションは on または off のような bool 値で、
関連する値は持ちません。
.PP
これらのオプションは、特に断りがない場合は
.I \&ex
と
.I \&vi
の両方のモードに適用されます。
.PP
.TP
.B "altwerase [off]"
.I \&vi
のみ。
別の単語削除アルゴリズムを選択します。
.TP
.B "autoindent, ai [off]"
改行時に自動的にインデントします。
.TP
.B "autoprint, ap [off]"
.I \&ex
のみ。
自動的に現在の行を表示します。
.TP
.B "autowrite, aw [off]"
別のファイルに切替える際に、ファイルが変更されているなら自動的にセーブします。
.\" I cannot get a double quote to print between the square brackets
.\" to save my life.  The ONLY way I've been able to get this to work
.\" is with the .tr command.
.tr Q"
.ds ms backup [QQ]
.TP
.B "\*(ms"
.tr QQ
ファイルが上書きされる前にバックアップファイルを作成します。
.TP
.B "beautify, bf [off]"
コントロール・キャラクタを切り捨てます。
.TP
.B "cdpath [環境変数 CDPATH 、またはカレントディレクトリ]"
.B cd
コマンドのパス接頭子として使われるディレクトリパスです。
.TP
.B "cedit [no default]"
コロンコマンドライン履歴を編集する文字をセットします。
.TP
.B "columns, co [80]"
画面のカラム数をセットします。
.TP
.B "comment [off]"
.I \&vi
のみ。
シェルスクリプト、C、C++言語ファイル先頭のコメントの読み込みをスキップします。
.TP
.B "directory, dir [環境変数 TMPDIR 、または /tmp]"
テンポラリファイルを作成するディレクトリです。
.TP
.B "edcompatible, ed [off]"
.B 置換
コマンドの接尾子の ``c'' と ``g'' の値を記憶するようにします。
通常は新しくコマンドを実行するたびに初期化します。
.TP
.B "errorbells, eb [off]"
.I \&ex
のみ。
エラーメッセージをベルとともに知らせます。
.TP
.B "exrc, ex [off]"
ローカルディレクトリのスタートアップファイルを読み込みます。
.TP
.B "extended [off]"
正規表現を
.IR egrep (1)\-\c
スタイルに拡張します。
.TP
.B "filec [no default]"
コロンコマンドライン上のファイルパス補間を行なう文字をセットします。
.TP
.B "flash [on]"
エラー時にビープを鳴らすのではなく、画面をフラッシュします。
.TP
.B "gtagsmode, gt [off]"
tags の代わりに GTAGS と GRTAGS を使います。
.TP
.B "hardtabs, ht [8]"
スペースをハードウェアタブ設定に合わせて設定します。
.TP
.B "iclower [off]"
検索文字列に大文字が現れなければ、すべての正規表現を大文字小文字の
区別なく行なうようにします。
.TP
.B "ignorecase, ic [off]"
正規表現検索で大文字小文字の違いを無視します。
.TP
.B "keytime [6]"
.I ex/vi
は、後に続くキーを先のキーに続けて解釈しキーマッピングを行ないますが、
後に続くキー入力の待ち時間を1/10秒単位で指定します。
.TP
.B "leftright [off]"
.I \&vi
のみ。
左右のスクロールを行ないます。
.TP
.B "lines, li [24]"
.I \&vi
のみ。
画面の行数を設定します。
.TP
.B "lisp [off]"
.I \&vi
のみ。
さまざまなサーチコマンドとオプションの動作を Lisp 言語編集用に
修正します。
.I "このオプションはまだ実装されていません。"
.TP
.B "list [off]"
行を曖昧でない形式で表示します。
.TP
.B "lock [on]"
どのファイルの編集、読み込み、書き込みに関しても、排他的ロックをする
ように試みます。
.TP
.B "magic [on]"
ある種の文字を正規表現中で特殊扱いします。
.TP
.B "matchtime [7]"
.I \&vi
のみ。
.B showmatch
オプションが設定されている場合、
.I ex/vi
は対になる括弧の上で一時停止しますが、その停止時間を1/10秒単位で指定します。
.TP
.B "mesg [on]"
他のユーザーからのメッセージ着信を許可します。
.TP
.B "modelines, modeline [off]"
それぞれのファイルの最初と最後の数行を
.I ex
コマンドとして読み込みます。
.I "このオプションが実装されることは決してありません。"
.\" I cannot get a double quote to print between the square brackets
.\" to save my life.  The ONLY way I've been able to get this to work
.\" is with the .tr command.
.tr Q"
.ds ms noprint [QQ]
.TP
.B "\*(ms"
.tr QQ
表示可能な文字として扱われない文字を指定します。
.TP
.B "number, nu [off]"
各行先頭に行番号を付けて表示します。
.TP
.B "octal [off]"
表示出来ない文字を 8 進数で表示します。デフォルトでは 16 進表示です。
.TP
.B "open [on]"
.I \&ex
のみ。
このオプションが設定されていなければ、
.B open
と
.B visual
コマンドは許されません。
.TP
.B "optimize, opt [on]"
.I \&vi
のみ。
ダム端末へのテキスト出力速度を最適化します。
.I "このオプションはまだ実装されていません。"
.TP
.B "paragraphs, para [IPLPPPQPP LIpplpipbp]"
.I \&vi
のみ。
.B \&{
と
.B \&}
コマンドで使用する段落境界の定義を追加します。
.TP
.B "path []"
編集するファイルを探すディレクトリの追加分を定義します。
Define additional directories to search for files being edited.
.\" I cannot get a double quote to print between the square brackets
.\" to save my life.  The ONLY way I've been able to get this to work
.\" is with the .tr command.
.tr Q"
.ds ms print [QQ]
.TP
.B "\*(ms"
.tr QQ
常に表示可能な文字として扱われる文字を指定します。
.TP
.B "prompt [on]"
.I \&ex
のみ。
コマンドプロンプトを表示します。
.TP
.B "readonly, ro [off]"
ファイルとそのセッションを読み込み専用とします。
.TP
.B "recdir [/var/tmp/vi.recover]"
復元用のファイルを置くディレクトリです。
.TP
.B "redraw, re [off]"
.I \&vi
のみ。
ダム端末上で、インテリジェント端末をシミュレートします。
.I "このオプションはまだ実装されていません。"
.TP
.B "remap [on]"
解決されるまで、キーマップを解釈します。
.TP
.B "report [5]"
変更ないしヤンクについて、エディタが報告する行数を設定します。
.TP
.B "ruler [off]"
.I \&vi
のみ。
最下行に行/カラムを示す罫を表示します。
.TP
.B "scroll, scr [window / 2]"
スクロールする行数を設定します。
.TP
.B "searchincr [off]"
.B \&/
と
.B \&?
コマンドをインクリメンタルにセットします。
.TP
.B "sections, sect [NHSHH HUnhsh]"
.I \&vi
のみ。
.B \&[[
と
.B \&]]
コマンドで使用するセクション境界の定義を追加します。
.TP
.B "secure [off]"
外部プログラムへのすべてのアクセスを止めます。
.TP
.B "shell, sh [環境変数 SHELL 、または /bin/sh]"
エディタ上から使われるシェルを選択します。
.\" I cannot get a double quote to print between the square brackets
.\" to save my life.  The ONLY way I've been able to get this to work
.\" is with the .tr command.
.tr Q"
.ds ms shellmeta [~{[*?$`'Q\e]
.TP
.B "\*(ms"
.tr QQ
ファイル名の拡張が必要なとき、その決定をするメタキャラクタを
セットします。
.TP
.B "shiftwidth, sw [8]"
オートインデント、シフトコマンドで用いる幅を設定します。
.TP
.B "showmatch, sm [off]"
.I \&vi
のみ。
``{'' と ``('' に対し ``}'' and ``)'' の括弧の対応を表示します。
.TP
.B "showmode, smd [off]"
.I \&vi
のみ。
現在のエディタのモードと ``変更'' フラグを表示します。
.TP
.B "sidescroll [16]"
.I \&vi
のみ。
左右スクロールで動く幅を設定します。
.TP
.B "slowopen, slow [off]"
文書を入力中、画面更新を遅らせて表示します。
.I "このオプションはまだ実装されていません。"
.TP
.B "sourceany [off]"
現在のユーザの所有でないスタートアップファイルを読み込みます。
.I "このオプションが実装されることは決してありません。"
.TP
.B "tabstop, ts [8]"
このオプションは、表示で使用されるタブの幅を設定します。
.TP
.B "taglength, tl [0]"
タグの名前を判別可能な最大文字数を設定します。
.TP
.B "tags, tag [tags /var/db/libc.tags /sys/kern/tags]"
タグファイルのリストを設定します。
.TP
.B "term, ttytype, tty [環境変数 TERM]"
端末の型を設定します。
.TP
.B "terse [off]"
このオプションは伝統的にエディタの示すメッセージをより簡潔なものにする
ために作られています。
この実装では何の影響も与えません。
.TP
.B "tildeop [off]"
.B \&~
コマンドが連係動作をするように修正します。
.TP
.B "timeout, to [on]"
キーをマップする際のタイムアウト。
.TP
.B "ttywerase [off]"
.I \&vi
のみ。
別の削除アルゴリズムを選択します。
.TP
.B "verbose [off]"
.I \&vi
のみ。
エラーが起こる度にエラーメッセージを表示します。
.TP
.B "w300 [no default]"
.I \&vi
のみ。
転送レートが1200ボー以下の場合に設定するウィンドウサイズ。
.TP
.B "w1200 [no default]"
.I \&vi
のみ。
転送レートが1200ボーの場合に設定するウィンドウサイズ。
.TP
.B "w9600 [no default]"
.I \&vi
のみ。
転送レートが1200ボー以上の場合に設定するウィンドウサイズ。
.TP
.B "warn [on]"
.I \&ex
のみ。
このオプションは、
ファイルが最後に書き込まれた後でファイルが修正されている場合、
.B \&!
コマンドが実行される前に端末に警告メッセージ
を出すようにします。
.TP
.B "window, w, wi [環境変数 LINES]"
画面のウィンドウサイズを設定します。
.TP
.B "windowname [off]"
アイコン名、ウインドウ名を、たとえエディタ終了時に戻すことができなく
なるとしても、現在作業中のファイル名に変えます。
.TP
.B "wraplen, wl [0]"
.I \&vi
のみ。
左マージンから指定したカラム数で、行を自動的に折り返します。
もし、
.B wraplen
と
.B wrapmargin
の両方の編集オプションがセットされると、
.B wrapmargin
の値が使われます。
.TP
.B "wrapmargin, wm [0]"
.I \&vi
のみ。
右マージンから指定したカラム数で、行を折り返します。
.B wraplen
と
.B wrapmargin
編集オプションの両方が指定されると、
.B wrapmargin
の値が使われます。
.TP
.B "wrapscan, ws [on]"
検索が、ファイルの最後に達したら最初へと戻ります。
.TP
.B "writeany, wa [off]"
ファイルの上書きチェックを切り替えます。
.SH 環境変数
.TP
.I COLUMNS
画面のカラム数。
この値は、システムや端末固有のどの値をも上書きします。
.I ex/vi
の起動時に環境変数
.I COLUMNS
が設定されていない場合、または
.B columns
オプションによりユーザが明示的に値をリセットした場合は、
.I ex/vi
は環境変数
.I COLUMNS
にこの値を設定します。
.TP
.I EXINIT
.I \&ex
のスタートアップコマンドのリスト。
.I NEXINIT
が設定されていない場合に読み込まれます。
.TP
.I HOME
ユーザのホームディレクトリ。
起動時に ``$\fIHOME\fP/.nexrc'' と ``$\fIHOME\fP/.exrc''
を読み込むための初期ディレクトリパスとして使われます。
この値は、
.I \&vi
の
.B \&cd
コマンドのデフォルトディレクトリとしても使われます。
.TP
.I LINES
画面の行数。
この値は、システムや端末固有のどの値をも上書きします。
.I ex/vi
起動時に、環境変数
.I LINES
が設定されていないか、
.B lines
オプションによりユーザが明示的に値をリセットした場合は、
.I ex/vi
は環境変数
.I LINES
にこの値を設定します。
.TP
.I NEXINIT
.I \&ex
のスタートアップコマンドのリスト。
.TP
.I SHELL
ユーザが選んだシェル 。 (
.B shell
オプションを参照)
.TP
.I TERM
ユーザの端末の型。デフォルトの型は ``unknown'' です。
.I ex/vi
起動時に環境変数
.I TERM
の値が設定されていないか、または、
.B term
オプションによりユーザが明示的に値をリセットした場合は、
.I ex/vi
は環境変数
.I TERM
にこの値を設定します。
.TP
.I TMPDIR
テンポラリファイルの作成される場所。 (
.B directory
オプションを参照)
.SH 非同期イベント
.TP
SIGALRM
.I \&vi/ex
は、ファイル編集時の定期的なバックアップを行なうためと、
処理に長い時間がかかりそうな時に画面に ``busy'' のメッセージを
表示するために、このシグナルを使います。
.TP
SIGHUP
.TP
SIGTERM
最後にファイル全体を書き込んだ後、現在のバッファを変更した場合、
後に復旧できるように編集中のファイルを保存しようと試みます。
詳細は、
.I \&vi/ex
リファレンスマニュアルの ``Recovery'' のセクションを参照して下さい。
.TP
SIGINT
この割り込みが発生した場合、現在の操作は停止され、コマンドレベルに戻ります。
テキスト入力中にこの割り込みが発生した場合は、テキスト入力を正常に終了させた
かのように、ファイルに入力中のテキストを書き込みます。
.TP
SIGWINCH
スクリーンのサイズ変更を行ないます。
詳しくは、
.I \&vi/ex
リファレンスマニュアルの ``Sizing the Screen'' のセクションを参照して下さい。
.TP
SIGCONT
.TP
SIGQUIT
.TP
SIGTSTP
.I \&vi/ex
はこれらのシグナルを無視します。
.SH 関連ファイル
.TP
/bin/sh
デフォルトのユーザシェル。
.TP
/etc/vi.exrc
システム全体における vi のスタートアップファイル。
.TP
/tmp
テンポラリファイルのディレクトリ。
.TP
/var/tmp/vi.recover
デフォルトの復元ファイルのディレクトリ。
.TP
$HOME/.nexrc
ユーザのホームディレクトリにあるスタートアップファイルで、
1 番最初に読まれるファイル。
.TP
$HOME/.exrc
ユーザのホームディレクトリにあるスタートアップファイルで、
2 番目に読まれるファイル。
.TP
\&.nexrc
ローカルディレクトリにあるスタートアップファイルで、
1 番最初に読まれるファイル。
.TP
\&.exrc
ローカルディレクトリにあるスタートアップファイルで、
2 番目に読まれるファイル。
.SH 関連項目
.IR ctags (1),
.IR more (3),
.IR curses (3),
.IR dbopen (3)
.sp
``Vi Quick Reference'' カード。
.sp
``An Introduction to Display Editing with Vi'' のセクション。
4.3BSD と 4.4BSD のマニュアルセットの 
``UNIX User's Manual Supplementary Documents''
の中で見つかります。
これは、手に入るものの中で
.I \&vi
スクリーンエディタの入門書にもっとも近いものです。
.sp
``Ex Reference Manual (Version 3.7)'' のセクション。
4.3BSD と 4.4BSD のマニュアルセットの 
``UNIX User's Manual Supplementary Documents'' の中で見つかります。
これは、
.I \&ex
エディタのドキュメントで、伝統的な 4BSD と System V で配布された
最終的なリファレンスです。
.sp
``Edit: A tutorial'' セクション。
4.3BSD のマニュアルセットの 
``UNIX User's Manual Supplementary Documents'' の中で見つかります。
これは、
.I \&ex
スクリーンエディタの単純な版の入門用ドキュメントです。
.sp
``Ex/Vi Reference Manual'' セクション。
4.4BSD のマニュアルセットの 
``UNIX User's Manual Supplementary Documents'' の中で見つかります。
これは、
.I \&nex/nvi
テキストエディタのために 4.4BSD と 4.4BSD-Lite で配布された
最終的なリファレンスです。
.PP
.I nex/nvi
ドキュメントの
.I roff
ソース。
これらは
.I nex/nvi
のソースコードが置かれているディレクトリの
.I nvi/USD.doc
ディレクトリの中に一緒に配布されています。
.sp
.I nex/nvi
のソースコードが置かれている
.I nvi/docs/internals
ディレクトリの
``autowrite'', ``input'', ``quoting'' , ``structures''
といったファイル群。
.SH 歴史
.I ex/vi
エディタに代わる
.I nex/nvi
コマンドは、4.4BSD から登場しました。
.SH 標準
.I \&nex/nvi
は、IEEE Std1003.2 (``POSIX'') に近いです。
この文書は、幾つかの点で従来の
.I ex/vi
の実際の動作とは異なります。
.I \&nex/nvi
には、両方の面に則って作られたという違いがあります。