summaryrefslogtreecommitdiffstats
path: root/doc/ja/includes/autogen_user_commands.ja.adoc
blob: f5040b9dafc5b8de5e78223cf925aa5fadaa4004 (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
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//

// tag::irc_commands[]
[[command_irc_admin]]
* `+admin+`: サーバ管理者に関する情報を探す

----
/admin  [<target>]

target: サーバ名
----

[[command_irc_allchan]]
* `+allchan+`: 全てのサーバ、全てのチャンネルに対してコマンドを実行

----
/allchan  [-current] [-parted] [-exclude=<channel>[,<channel>...]] <command>
          [-current] [-parted] -include=<channel>[,<channel>...] <command>

 -current: execute command for channels of current server only
  -parted: execute on parted channels only
 -exclude: exclude some channels (wildcard "*" is allowed)
 -include: include only some channels (wildcard "*" is allowed)
  command: command to execute (or text to send to buffer if command does not start with '/')

Command and arguments are evaluated (see /help eval), the following variables are replaced:
  $server             server name
  $channel            channel name
  $nick               nick on server
  ${irc_server.xxx}   variable xxx in server
  ${irc_channel.xxx}  variable xxx in channel

Examples:
  execute '/me is testing' on all channels:
    /allchan /me is testing
  say 'hello' everywhere but not on #weechat:
    /allchan -exclude=#weechat hello
  say 'hello' everywhere but not on #weechat and channels beginning with #linux:
    /allchan -exclude=#weechat,#linux* hello
  say 'hello' on all channels beginning with #linux:
    /allchan -include=#linux* hello
  close all buffers with parted channels:
    /allchan -parted /close
----

[[command_irc_allpv]]
* `+allpv+`: 全ての接続済みサーバの全てのプライベートバッファに対してコマンドを実行

----
/allpv  [-current] [-exclude=<nick>[,<nick>...]] <command>
        [-current] -include=<nick>[,<nick>...] <command>

 -current: execute command for private buffers of current server only
 -exclude: exclude some nicks (wildcard "*" is allowed)
 -include: include only some nicks (wildcard "*" is allowed)
  command: command to execute (or text to send to buffer if command does not start with '/')

Command and arguments are evaluated (see /help eval), the following variables are replaced:
  $server             server name
  $channel            channel name
  $nick               nick on server
  ${irc_server.xxx}   variable xxx in server
  ${irc_channel.xxx}  variable xxx in channel

Examples:
  execute '/me is testing' on all private buffers:
    /allpv /me is testing
  say 'hello' everywhere but not for nick foo:
    /allpv -exclude=foo hello
  say 'hello' everywhere but not for nick foo and nicks beginning with bar:
    /allpv -exclude=foo,bar* hello
  say 'hello' for all nicks beginning with bar:
    /allpv -include=bar* hello
  close all private buffers:
    /allpv /close
----

[[command_irc_allserv]]
* `+allserv+`: 全ての接続済みサーバでコマンドを実行

----
/allserv  [-exclude=<server>[,<server>...]] <command>
          -include=<server>[,<server>...] <command>

 -exclude: exclude some servers (wildcard "*" is allowed)
 -include: include only some servers (wildcard "*" is allowed)
  command: command to execute (or text to send to buffer if command does not start with '/')

Command and arguments are evaluated (see /help eval), the following variables are replaced:
  $server             server name
  $nick               nick on server
  ${irc_server.xxx}   variable xxx in server

Examples:
  change nick on all servers:
    /allserv /nick newnick
  set away on all servers:
    /allserv /away I'm away
  do a whois on my nick on all servers:
    /allserv /whois $nick
----

[[command_irc_auth]]
* `+auth+`: authenticate with SASL

----
/auth  [<username> <password>]

username: SASL username (content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)
password: SASL password or path to file with private key (content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

If username and password are not provided, the values from server options "sasl_username" and "sasl_password" (or "sasl_key") are used.

Examples:
  authenticate with username/password defined in the server:
    /auth
  authenticate as a different user:
    /auth user2 password2
  authenticate as a different user with mechanism ecdsa-nist256p-challenge:
    /auth user2 ${weechat_config_dir}/ecdsa2.pem
----

[[command_irc_ban]]
* `+ban+`: ニックネームかホスト名を指定してバン

----
/ban  [<channel>] [<nick> [<nick>...]]

channel: チャンネル名
   nick: ニックネームまたはホスト名

引数無しの場合は、現在のチャンネルのバンリストを表示。
----

[[command_irc_cap]]
* `+cap+`: クライアント機能情報の交換

----
/cap  ls
      list
      req|ack [<capability> [<capability>...]]
      end

   ls: list the capabilities supported by the server
 list: list the capabilities currently enabled
  req: request a capability
  ack: acknowledge capabilities which require client-side acknowledgement
  end: end the capability negotiation

Without argument, "ls" and "list" are sent.

Capabilities supported by WeeChat are: account-notify, away-notify, cap-notify, chghost, extended-join, invite-notify, message-tags, multi-prefix, server-time, setname, userhost-in-names.

The capabilities to automatically enable on servers can be set in option irc.server_default.capabilities (or by server in option irc.server.xxx.capabilities).

Examples:
   /cap
   /cap req multi-prefix away-notify
----

[[command_irc_connect]]
* `+connect+`: IRC サーバに接続

----
/connect  [<server> [<server>...]] [-<option>[=<value>]] [-no<option>] [-nojoin] [-switch]
          -all|-auto|-open [-nojoin] [-switch]

    server: server name, which can be:
            - internal server name (added by /server add, recommended usage)
            - hostname/port or IP/port, port is 6667 by default
            - URL with format: irc[6][s]://[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]
            Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /help irc.look.temporary_servers
    option: set option for server (for boolean option, value can be omitted)
  nooption: set boolean option to 'off' (for example: -nossl)
      -all: connect to all servers defined in configuration
     -auto: connect to servers with autoconnect enabled
     -open: connect to all opened servers that are not currently connected
   -nojoin: do not join any channel (even if autojoin is enabled on server)
   -switch: switch to next server address

To disconnect from a server or stop any connection attempt, use command /disconnect.

Examples:
  /connect libera
  /connect irc.oftc.net/6667
  /connect irc6.oftc.net/6667 -ipv6
  /connect irc6.oftc.net/6697 -ipv6 -ssl
  /connect my.server.org/6697 -ssl -password=test
  /connect irc://nick@irc.oftc.net/#channel
  /connect -switch
----

[[command_irc_ctcp]]
* `+ctcp+`: CTCP メッセージの送信 (Client-To-Client Protocol)

----
/ctcp  [-server <server>] <target>[,<target>...] <type> [<arguments>]

   server: 送信先サーバ名 (内部名)
   target: 送信先ニックネームまたはチャンネル ('*' の場合現在のチャンネル宛に送信)
     type: CTCP タイプ (例: "version"、"ping"、など)
arguments: CTCP の引数

例:
  /ctcp toto time
  /ctcp toto version
  /ctcp * version
----

[[command_irc_cycle]]
* `+cycle+`: チャンネルから退出し再参加

----
/cycle  [<channel>[,<channel>...]] [<message>]

channel: チャンネル名
message: 退出メッセージ (他のユーザに宛てる)
----

[[command_irc_dcc]]
* `+dcc+`: DCC の開始 (ファイル転送かダイレクトチャット)

----
/dcc  chat <nick>
      send <nick> <file>

nick: ニックネーム
file: ファイル名 (ローカルホスト上の)

例:
  "toto" とチャット:
    /dcc chat toto
  ファイル "/home/foo/bar.txt" を ニックネーム "toto" に送信:
    /dcc send toto /home/foo/bar.txt
----

[[command_irc_dehalfop]]
* `+dehalfop+`: ニックネームから half-operator 権を剥奪

----
/dehalfop  <nick> [<nick>...]
           * -yes

nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
   *: 自分以外のチャンネル参加者からチャンネルの half-operator 権を剥奪
----

[[command_irc_deop]]
* `+deop+`: ニックネームからチャンネルオペレータ権を剥奪

----
/deop  <nick> [<nick>...]
       * -yes

nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
   *: 自分以外のチャンネル参加者からチャンネルオペレータ権を剥奪
----

[[command_irc_devoice]]
* `+devoice+`: ニックネームから発言権を剥奪

----
/devoice  <nick> [<nick>...]
          * -yes

nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
   *: チャンネル参加者全員から voice 状態を剥奪
----

[[command_irc_die]]
* `+die+`: サーバのシャットダウン

----
/die  [<target>]

target: サーバ名
----

[[command_irc_disconnect]]
* `+disconnect+`: 特定のまたは全ての IRC サーバとの接続を切断

----
/disconnect  [<server>|-all|-pending [<reason>]]

  server: 内部サーバ名
    -all: 全てのサーバとの接続を切る
-pending: 現在再接続試行中のサーバに対する自動再接続を止める
  reason: "quit" の理由
----

[[command_irc_halfop]]
* `+halfop+`: 指定したニックネームに half-operator 権を付与

----
/halfop  <nick> [<nick>...]
         * -yes

nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
   *: チャンネル参加者全員に half-operator 権を付与
----

[[command_irc_ignore]]
* `+ignore+`: あるサーバかチャンネルで、指定したニックネーム/ホスト名を無視

----
/ignore  list
         add [re:]<nick> [<server> [<channel>]]
         del <number>|-all

     list: list all ignores
      add: add an ignore
     nick: nick or hostname (can be a POSIX extended regular expression if "re:" is given or a mask using "*" to replace zero or more chars)
      del: delete an ignore
   number: number of ignore to delete (look at list to find it)
     -all: delete all ignores
   server: internal server name where ignore is working
  channel: channel name where ignore is working

Note: the regular expression can start with "(?-i)" to become case sensitive.

Examples:
  ignore nick "toto" everywhere:
    /ignore add toto
  ignore host "toto@domain.com" on libera server:
    /ignore add toto@domain.com libera
  ignore host "toto*@*.domain.com" on libera/#weechat:
    /ignore add toto*@*.domain.com libera #weechat
----

[[command_irc_info]]
* `+info+`: サーバに関する情報を入手

----
/info  [<target>]

target: サーバ名
----

[[command_irc_invite]]
* `+invite+`: チャンネルにニックネームを招待

----
/invite  <nick> [<nick>...] [<channel>]

   nick: ニックネーム
channel: チャンネル名
----

[[command_irc_ison]]
* `+ison+`: ニックネームが IRC 上にいるか確認

----
/ison  <nick> [<nick>...]

nick: ニックネーム
----

[[command_irc_join]]
* `+join+`: チャンネルに参加

----
/join  [-noswitch] [-server <server>] [<channel1>[,<channel2>...]] [<key1>[,<key2>...]]

-noswitch: do not switch to new buffer
   server: send to this server (internal name)
  channel: channel name to join
      key: key to join the channel (channels with a key must be the first in list)

Examples:
  /join #weechat
  /join #protectedchan,#weechat key
  /join -server libera #weechat
  /join -noswitch #weechat
----

[[command_irc_kick]]
* `+kick+`: チャンネルからユーザをキック

----
/kick  [<channel>] <nick> [<reason>]

channel: channel name
   nick: nick
 reason: reason (evaluated, see /help eval; special variables ${nick} (self nick), ${target} (target nick), ${channel} and ${server} are replaced by their values)
----

[[command_irc_kickban]]
* `+kickban+`: チャンネルからユーザをキック、そのホストを参加禁止に

----
/kickban  [<channel>] <nick> [<reason>]

channel: channel name
   nick: nick
 reason: reason (evaluated, see /help eval; special variables ${nick} (self nick), ${target} (target nick), ${channel} and ${server} are replaced by their values)

It is possible to kick/ban with a mask, nick will be extracted from mask and replaced by "*".

Example:
  ban "*!*@host.com" and then kick "toto":
    /kickban toto!*@host.com
----

[[command_irc_kill]]
* `+kill+`: クライアント - サーバの接続を閉じる

----
/kill  <nick> [<reason>]

  nick: ニックネーム
reason: 理由
----

[[command_irc_links]]
* `+links+`: list all server names which are known by the server answering the query

----
/links  [[<target>] <server_mask>]

     target: このクエリに応答するべきリモートサーバ
server_mask: このマスクにマッチするサーバのリスト
----

[[command_irc_list]]
* `+list+`: list channels and their topics

----
/list  [-server <server>] [-re <regex>] [<channel>[,<channel>...]] [<target>]

 server: 宛先サーバ (内部名)
  regex: 結果をフィルタする POSIX 拡張正規表現 (大文字小文字は区別しない、"(?-i)" で始めれば区別する)
channel: リストアップするチャンネル名
 server: サーバ名

例:
  サーバ上の全てのチャンネルをリストアップ (大きなネットワークでは非常に遅い):
    /list
  #weechat チャンネルをリストアップ:
    /list #weechat
  "#weechat" で始まる全てのチャンネルをリストアップ (大きなネットワークでは非常に遅い):
    /list -re #weechat.*
----

[[command_irc_lusers]]
* `+lusers+`: IRC ネットワークのサイズに関する統計を入手

----
/lusers  [<mask> [<target>]]

  mask: このマスクにマッチするサーバ
target: リクエストを送信するサーバ
----

[[command_irc_map]]
* `+map+`: IRC ネットワークのグラフィカルマップを表示

----
----

[[command_irc_me]]
* `+me+`: 現在のチャンネルに CTCP action を送信

----
/me  <message>

message: 送信メッセージ
----

[[command_irc_mode]]
* `+mode+`: チャンネルかユーザのモードを変更

----
/mode  [<channel>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<arguments>]
       <nick> [+|-]i|s|w|o

チャンネルモード:
  channel: 変更するチャンネル名 (デフォルトは現在のチャンネル)
  o: チャンネルオペレータ権の付与/剥奪
  p: プライベートチャンネルフラグ
  s: 秘密チャンネルフラグ
  i: 招待専用チャンネルフラグ
  t: チャンネルトピックの変更をオペレータだけに許可するフラグ
  n: チャンネルに参加していないクライアントからのメッセージの送信を禁止
  m: 司会付きチャンネル
  l: クライアント数の制限値を設定
  b: ユーザの入室禁止マスクを設定
  e: 入室禁止の除外マスクを設定
  v: 司会付きチャンネルで発言権を付与/剥奪
  k: チャンネルキーを設定 (パスワード)
ユーザモード:
  nick: 変更するユーザ名
  i: ユーザを不可視状態にする
  s: ユーザがサーバ notices を受け取る状態にする
  w: ユーザが wallops を受け取る状態にする
  o: オペレータフラグ

上のモードのリストは完全なものではない、設定可能なモードを確認するために、サーバに関するドキュメントを読むこと。

例:
  #weechat チャンネルのトピックを保護:
    /mode #weechat +t
  サーバ上で不可視にする:
    /mode nick +i
----

[[command_irc_motd]]
* `+motd+`: "今日のメッセージ" を取得

----
/motd  [<target>]

target: サーバ名
----

[[command_irc_msg]]
* `+msg+`: ニックネームかチャンネルにメッセージを送る

----
/msg  [-server <server>] <target>[,<target>...] <text>

server: このサーバに送信 (内部サーバ名)
target: ニックネームまたはチャンネル名 (マスクを使えるかもしれない、'*' = 現在のチャンネル)
  text: 送信するテキスト
----

[[command_irc_names]]
* `+names+`: チャンネルに参加しているニックネームをリストアップ

----
/names  [<channel>[,<channel>...]]

channel: チャンネル名
----

[[command_irc_nick]]
* `+nick+`: 現在のニックネームを変更

----
/nick  [-all] <nick>

-all: 全ての接続済みサーバで新しいニックネームを設定
nick: 新しいニックネーム
----

[[command_irc_notice]]
* `+notice+`: ユーザに notice メッセージを送信

----
/notice  [-server <server>] <target> <text>

server: このサーバに送信 (内部サーバ名)
target: ニックネームまたはチャンネル名
  text: 送信するテキスト
----

[[command_irc_notify]]
* `+notify+`: サーバ上のニックネームに対して接続か離席状態の通知を追加する

----
/notify  add <nick> [<server> [-away]]
         del <nick>|-all [<server>]

   add: add a notification
  nick: nick
server: internal server name (by default current server)
 -away: notify when away message is changed (by doing whois on nick)
   del: delete a notification
  -all: delete all notifications

Without argument, this command displays notifications for current server (or all servers if command is issued on core buffer).

Examples:
  notify when "toto" joins/quits current server:
    /notify add toto
  notify when "toto" joins/quits libera server:
    /notify add toto libera
  notify when "toto" is away or back on libera server:
    /notify add toto libera -away
----

[[command_irc_op]]
* `+op+`: ニックネームにオペレータ権を付与

----
/op  <nick> [<nick>...]
     * -yes

nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
   *: チャンネル参加者全員にチャンネルオペレータ権を付与
----

[[command_irc_oper]]
* `+oper+`: オペレータ権を入手

----
/oper  <user> <password>

    user: ユーザ
password: パスワード
----

[[command_irc_part]]
* `+part+`: チャンネルから退出

----
/part  [<channel>[,<channel>...]] [<message>]

channel: 退出するチャンネル名
message: 退出メッセージ (他のユーザに対して)
----

[[command_irc_ping]]
* `+ping+`: サーバにピンを送信

----
/ping  <target1> [<target2>]

target1: ピン送信先サーバ
target2: ピン転送先サーバ
----

[[command_irc_pong]]
* `+pong+`: ピンメッセージに応答

----
/pong  <daemon> [<daemon2>]

 daemon: ピンメッセージに応答したデーモン
daemon2: メッセージをデーモンに転送
----

[[command_irc_query]]
* `+query+`: ニックネーム宛にプライベートメッセージを送信

----
/query  [-noswitch] [-server <server>] <nick>[,<nick>...] [<text>]

-noswitch: 新しいバッファに切り替えない
   server: このサーバに送信 (内部サーバ名)
     nick: ニックネーム
     text: 送信するテキスト
----

[[command_irc_quiet]]
* `+quiet+`: ニックネームかホストを発言禁止に

----
/quiet  [<channel>] [<nick> [<nick>...]]

channel: チャンネル名
   nick: ニックネームまたはホスト名

引数無しの場合は、現在のチャンネルの発言禁止リストを表示。
----

[[command_irc_quote]]
* `+quote+`: パースせずにサーバ宛に生データを送信

----
/quote  [-server <server>] <data>

server: 送信先サーバ (内部サーバ名)
  data: 送信する生データ
----

[[command_irc_reconnect]]
* `+reconnect+`: サーバに再接続

----
/reconnect  <server> [<server>...] [-nojoin] [-switch]
            -all [-nojoin] [-switch]

 server: 再接続するサーバ (内部名)
   -all: 全てのサーバに再接続
-nojoin: チャンネルに参加しない (autojoin がサーバで有効化されていても)
-switch: 次のサーバアドレスに移動
----

[[command_irc_rehash]]
* `+rehash+`: サーバに設定ファイルのリロードを指示

----
/rehash  [<option>]

option: 追加オプション、いくつかのサーバ用
----

[[command_irc_remove]]
* `+remove+`: ユーザがチャンネルから退出することを強制

----
/remove  [<channel>] <nick> [<reason>]

channel: channel name
   nick: nick
 reason: reason (special variables $nick, $channel and $server are replaced by their values)
----

[[command_irc_restart]]
* `+restart+`: サーバに再起動を指示

----
/restart  [<target>]

target: サーバ名
----

[[command_irc_sajoin]]
* `+sajoin+`: ユーザがチャンネルへ参加することを強制

----
/sajoin  <nick> <channel>[,<channel>...]

   nick: ニックネーム
channel: チャンネル名
----

[[command_irc_samode]]
* `+samode+`: チャンネルモードを変更、オペレータ権無しに

----
/samode  [<channel>] <mode>

channel: チャンネル名
   mode: チャンネルモード
----

[[command_irc_sanick]]
* `+sanick+`: 強制的にユーザのニックネームを変更

----
/sanick  <nick> <new_nick>

    nick: ニックネーム
new_nick: 新しいニックネーム
----

[[command_irc_sapart]]
* `+sapart+`: 強制的にユーザをチャンネルから退出

----
/sapart  <nick> <channel>[,<channel>...]

   nick: ニックネーム
channel: チャンネル名
----

[[command_irc_saquit]]
* `+saquit+`: ある理由で強制的にユーザをサーバから切断

----
/saquit  <nick> <reason>

  nick: ニックネーム
reason: 理由
----

[[command_irc_server]]
* `+server+`: IRC サーバのリストアップ、追加、削除

----
/server  list|listfull [<name>]
         add <name> <hostname>[/<port>] [-temp] [-<option>[=<value>]] [-no<option>]
         copy|rename <name> <new_name>
         reorder <name> [<name>...]
         open <name>|-all [<name>...]
         del|keep <name>
         deloutq|jump
         raw [<filter>]

    list: list servers (without argument, this list is displayed)
listfull: list servers with detailed info for each server
     add: add a new server
    name: server name, for internal and display use; this name is used to connect to the server (/connect name) and to set server options: irc.server.name.xxx
hostname: name or IP address of server, with optional port (default: 6667), many addresses can be separated by a comma
   -temp: add a temporary server (not saved)
  option: set option for server (for boolean option, value can be omitted)
nooption: set boolean option to 'off' (for example: -nossl)
    copy: duplicate a server
  rename: rename a server
 reorder: reorder list of servers
    open: open the server buffer without connecting
    keep: keep server in config file (for temporary servers only)
     del: delete a server
 deloutq: delete messages out queue for all servers (all messages WeeChat is currently sending)
    jump: jump to server buffer
     raw: open buffer with raw IRC data
  filter: set a new filter to see only matching messages (this filter can be used as input in raw IRC data buffer as well); allowed formats are:
            *       show all messages (no filter)
            xxx     show only messages containing "xxx"
            s:xxx   show only messages for server "xxx"
            f:xxx   show only messages with a flag: recv (message received), sent (message sent), modified (message modified by a modifier), redirected (message redirected)
            m:xxx   show only IRC command "xxx"
            c:xxx   show only messages matching the evaluated condition "xxx", using following variables: output of function irc_message_parse (like nick, command, channel, text, etc., see function info_get_hashtable in plugin API reference for the list of all variables), date (format: "yyyy-mm-dd hh:mm:ss"), server, recv, sent, modified, redirected

Examples:
  /server listfull
  /server add libera irc.libera.chat
  /server add libera irc.libera.chat/6697 -ssl -autoconnect
  /server add chatspike irc.chatspike.net/6667,irc.duckspike.net/6667
  /server copy libera libera-test
  /server rename libera-test libera2
  /server reorder libera2 libera
  /server del libera
  /server deloutq
  /server raw
  /server raw s:libera
  /server raw c:${recv} && ${command}==PRIVMSG && ${nick}==foo
----

[[command_irc_service]]
* `+service+`: 新しいサービスを登録

----
/service  <nick> <reserved> <distribution> <type> <reserved> <info>

distribution: サービスの可視性
        type: 将来のために予約
----

[[command_irc_servlist]]
* `+servlist+`: 現在ネットワークに接続されたサービスをリストアップ

----
/servlist  [<mask> [<type>]]

mask: マスクにマッチするサービスだけをリストアップ
type: タイプにマッチするサービスだけをリストアップ
----

[[command_irc_setname]]
* `+setname+`: set real name

----
/setname  <realname>

realname: new real name
----

[[command_irc_squery]]
* `+squery+`: サービスにメッセージを配送

----
/squery  <service> <text>

service: サービス名
   text: 送信テキスト
----

[[command_irc_squit]]
* `+squit+`: サーバリンクを切断

----
/squit  <target> <comment>

 target: サーバ名
comment: コメント
----

[[command_irc_stats]]
* `+stats+`: サーバに関するクエリ統計

----
/stats  [<query> [<target>]]

 query: c/h/i/k/l/m/o/y/u (RFC1459 を参照してください)
target: サーバ名
----

[[command_irc_summon]]
* `+summon+`: IRC サーバを実行中のホストにいるユーザ宛てに、IRC に参加することを要請するメッセージを送信

----
/summon  <user> [<target> [<channel>]]

   user: ユーザ名
 target: サーバ名
channel: チャンネル名
----

[[command_irc_time]]
* `+time+`: サーバのローカル時間を要求

----
/time  [<target>]

target: 時間を要求するサーバを指定
----

[[command_irc_topic]]
* `+topic+`: チャンネルトピックの取得/設定

----
/topic  [<channel>] [<topic>|-delete]

channel: チャンネル名
  topic: 新しいトピック
-delete: チャンネルトピックを削除
----

[[command_irc_trace]]
* `+trace+`: 指定されたサーバへのルートを探す

----
/trace  [<target>]

target: サーバ名
----

[[command_irc_unban]]
* `+unban+`: ニックネームかホストの禁止設定を解除

----
/unban  [<channel>] <nick>|<number> [<nick>|<number>...]

channel: チャンネル名
   nick: ニックネームまたはホスト名
 number: バンするニックネームの番号 (コマンド /ban で表示される番号)
----

[[command_irc_unquiet]]
* `+unquiet+`: ニックネームまたはホスト名に対する発言禁止を解除

----
/unquiet  [<channel>] <nick>|<number> [<nick>|<number>...]

channel: チャンネル名
   nick: ニックネームまたはホスト名
 number: 発言禁止するニックネームの番号 (コマンド /quiet で表示される番号)
----

[[command_irc_userhost]]
* `+userhost+`: ニックネームに関する情報のリストを返す

----
/userhost  <nick> [<nick>...]

nick: ニックネーム
----

[[command_irc_users]]
* `+users+`: サーバにログインしているユーザのリスト

----
/users  [<target>]

target: サーバ名
----

[[command_irc_version]]
* `+version+`: ニックネームかサーバのバージョン情報を取得 (現在のサーバか指定したサーバ)

----
/version  [<target>|<nick>]

target: サーバ名
  nick: ニックネーム
----

[[command_irc_voice]]
* `+voice+`: ニックネームに発言権を付与

----
/voice  <nick> [<nick>...]
        * -yes

nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
   *: チャンネル参加者全員に voice 権を付与
----

[[command_irc_wallchops]]
* `+wallchops+`: チャンネルオペレータに notice を送信

----
/wallchops  [<channel>] <text>

channel: チャンネル名
   text: 送信テキスト
----

[[command_irc_wallops]]
* `+wallops+`: ユーザモードに 'w' を設定した全ての接続済みユーザ宛てにメッセージを送信

----
/wallops  <text>

text: 送信テキスト
----

[[command_irc_who]]
* `+who+`: 情報のリストを返すクエリを生成

----
/who  [<mask> [o]]

mask: マスクにマッチする情報
   o: マスクにマッチするオペレータだけを返す
----

[[command_irc_whois]]
* `+whois+`: ユーザに関する情報を要求

----
/whois  [<target>] [<nick>[,<nick>...]]

target: サーバ名
  nick: ニックネーム (マスクも可)

引数が無い場合、このコマンドは以下のユーザに対する whois を行います:
- バッファがサーバ/チャンネルの場合、自分自身のニックネーム
- バッファがプライベートの場合、相手のニックネーム。

オプション irc.network.whois_double_nick が有効の場合、アイドル時間を返してもらうためにニックネームを 2 つ送信します (ニックネームを 1 つ指定した場合でも)。
----

[[command_irc_whowas]]
* `+whowas+`: 既に存在しないニックネームに関する情報を要求

----
/whowas  <nick>[,<nick>...] [<count> [<target>]]

  nick: ニックネーム
 count: リプライの個数 (負の値で完全な検索)
target: マスクに一致するものだけを返す
----
// end::irc_commands[]

// tag::alias_commands[]
[[command_alias_alias]]
* `+alias+`: 別名コマンドのリストアップ、追加、削除

----
/alias  list [<alias>]
        add <alias> [<command>[;<command>...]]
        addcompletion <completion> <alias> [<command>[;<command>...]]
        del <alias> [<alias>...]

         list: list aliases (without argument, this list is displayed)
          add: add an alias
addcompletion: add an alias with a custom completion
          del: delete an alias
   completion: completion for alias: by default completion is done with target command
               note: you can use %%command to use completion of an existing command
        alias: name of alias
      command: command name with arguments (many commands can be separated by semicolons)

Note: in command, special variables are replaced:
        $n: argument 'n' (between 1 and 9)
       $-m: arguments from 1 to 'm'
       $n-: arguments from 'n' to last
      $n-m: arguments from 'n' to 'm'
        $*: all arguments
        $~: last argument
      $var: where "var" is a local variable of buffer (see /buffer listvar)
            examples: $nick, $channel, $server, $plugin, $name

Examples:
  alias /split to split window horizontally:
    /alias add split /window splith
  alias /hello to say "hello" on all channels but not on #weechat:
    /alias add hello /allchan -exclude=#weechat hello
  alias /forcejoin to send IRC command "forcejoin" with completion of /sajoin:
    /alias addcompletion %%sajoin forcejoin /quote forcejoin
----
// end::alias_commands[]

// tag::weechat_commands[]
[[command_weechat_away]]
* `+away+`: 離席状態の切り替え

----
/away  [-all] [<message>]

   -all: 全ての接続済みサーバに対して離席状態を切り替え
message: 離席メッセージ (メッセージが無い場合は、離席状態を解除)
----

[[command_weechat_bar]]
* `+bar+`: バーの管理

----
/bar  list|listfull|listitems
      add <name> <type>[,<conditions>] <position> <size> <separator> <item1>[,<item2>...]
      default [input|title|status|nicklist]
      del <name>|-all
      set <name> <option> <value>
      hide|show|toggle <name>
      scroll <name> <window> <scroll_value>

         list: 全てのバーをリストアップ
     listfull: 全てのバーをリストアップ (詳細)
    listitems: 全てのバー要素をリストアップ
          add: 新しいバーを追加
         name: バーの名称 (ユニークな)
         type:   root: 外側のウィンドウ、
               window: 内側のウィンドウ、任意の状態を取れる (以下を参照してください)
   conditions: バーを表示する条件:
                 active: アクティブウィンドウの場合に表示
               inactive: 非アクティブウィンドウの場合に表示
               nicklist: ニックネームリストを持つウィンドウの場合に表示
               その他の条件: /help weechat.bar.xxx.conditions と /help eval を参照してください
               表示条件の指定が無ければ、バーは常に表示されます。
     position: bottom、top、left、right
         size: バーのサイズ (文字数で指定)
    separator: 1 はセパレータ (線) を使用、0 または指定無しはセパレータ無し
    item1,...: バーの要素 (要素はコンマ (要素間にスペース) または "+" (要素間にスペース無し) で区切ります)
      default: デフォルトバーを作成 (バーの名前が無ければ全てのデフォルトバーが作成されます)
          del: バーを削除 (-all を付ければ全てのバーを削除)
          set: バー属性に値を設定
       option: 変更するオプション (オプション一覧は /set weechat.bar.<barname>.* を参照してください)
        value: オプションの新しい値
         hide: バーを隠す
         show: 隠されたバーを表示
       toggle: バーの非表示/表示を切り替え
       scroll: バーをスクロール
       window: ウィンドウ番号 (現在のウィンドウかルートバーを指定するには '*' を使う)
 scroll_value: スクロールする量: 'x' または 'y' (任意)の後に、'+' か '-' か 'b' (最初) か 'e' (最後)の後に、値 (+/- を付けて)、任意で % (スクロールする幅/高さの割合、% が無ければ値は文字数と解釈されます)

例:
  時間、バー番号 + 名前、補完候補からなるバーを作成:
    /bar add mybar root bottom 1 0 [time],buffer_number+:+buffer_name,completion
  バーを隠す:
    /bar hide mybar
  現在のバッファに対応したニックネームリストを 10 行分、下方向にスクロール:
    /bar scroll nicklist * y+10
  現在のバッファに対応したニックネームリストを最後までスクロール:
    /bar scroll nicklist * ye
----

[[command_weechat_buffer]]
* `+buffer+`: バッファの管理

----
/buffer  list
         add [-free] [-switch] <name>
         clear [<number>|<name>|-merged|-all [<number>|<name>...]]
         move <number>|-|+
         swap <number1>|<name1> [<number2>|<name2>]
         cycle <number>|<name> [<number>|<name>...]
         merge <number>|<name>
         unmerge [<number>|-all]
         hide [<number>|<name>|-all [<number>|<name>...]]
         unhide [<number>|<name>|-all [<number>|<name>...]]
         renumber [<number1> [<number2> [<start>]]]
         close [<n1>[-<n2>]|<name>...]
         notify [<level>]
         listvar [<number>|<name>]
         setvar <name> [<value>]
         delvar <name>
         set <property> [<value>]
         get <property>
         <number>|-|+|<name>

    list: list buffers (without argument, this list is displayed)
     add: add a new buffer (it can be closed with "/buffer close" or input "q")
   clear: clear buffer content (number for a buffer, -merged for merged buffers, -all for all buffers, or nothing for current buffer)
    move: move buffer in the list (may be relative, for example -1); "-" = move to first buffer number, "+" = move to last buffer number + 1
    swap: swap two buffers (swap with current buffer if only one number/name given)
   cycle: jump loop between a list of buffers
   merge: merge current buffer to another buffer (chat area will be mix of both buffers)
          (by default ctrl-x switches between merged buffers)
 unmerge: unmerge buffer from other buffers which have same number
    hide: hide the buffer
  unhide: unhide the buffer
renumber: renumber buffers (works only if option weechat.look.buffer_auto_renumber is off)
   close: close buffer (number/range or name is optional)
  notify: display or set notify level for current buffer: this level determines whether buffer will be added to hotlist or not:
               none: never
          highlight: for highlights only
            message: for messages from users + highlights
                all: all messages
              reset: reset to default value (all)
 listvar: display local variables in a buffer
  setvar: set a local variable in the current buffer
  delvar: delete a local variable from the current buffer
     set: set a property in the current buffer
     get: display a property of current buffer
  number: jump to buffer by number, possible prefix:
          '+': relative jump, add number to current
          '-': relative jump, sub number to current
          '*': jump to number, using option "weechat.look.jump_current_to_previous_buffer"
       -: jump to first buffer number
       +: jump to last buffer number
    name: jump to buffer by (partial) name

Examples:
  clear current buffer:
    /buffer clear
  move buffer to number 5:
    /buffer move 5
  swap buffer 1 with 3:
    /buffer swap 1 3
  swap buffer #weechat with current buffer:
    /buffer swap #weechat
  jump on #chan1, #chan2, #chan3 and loop:
    /buffer cycle #chan1 #chan2 #chan3
  merge with core buffer:
    /buffer merge 1
  merge with #weechat buffer:
    /buffer merge #weechat
  unmerge buffer:
    /buffer unmerge
  close current buffer:
    /buffer close
  close buffers 5 to 7:
    /buffer close 5-7
  jump to #weechat:
    /buffer #weechat
  jump to next buffer:
    /buffer +1
  jump to last buffer number:
    /buffer +
----

[[command_weechat_color]]
* `+color+`: 色の別名の定義と、色パレットの表示

----
/color  alias <color> <name>
        unalias <color>
        reset
        term2rgb <color>
        rgb2term <rgb> [<limit>]
        -o

   alias: ある色に別名を追加
 unalias: 別名の削除
   color: 色番号 (0 以上、最大値は端末依存、多くの場合 63 か 255)
    name: 色の別名 (例: "orange")
   reset: 全ての色ペアをリセット (自動的なリセットが無効化されており、これ以上の色ペアが利用できない場合に必要、オプション "weechat.look.color_pairs_auto_reset" を参照してください)
term2rgb: 端末色 (0-255) を RGB 色に変換
rgb2term: RGB 色を端末色 (0-255) に変換
   limit: 端末テーブル内で使う色の数 (0 から始まる); デフォルトは 256
     -o: 端末/色情報を現在の入力としてバッファに送る

引数無しの場合、コマンドは新しいバッファに色を表示します。

例:
  色番号 214 に対応する別名 "orange" を追加:
    /color alias 214 orange
  色番号 214 を削除:
    /color unalias 214
----

[[command_weechat_command]]
* `+command+`: WeeChat かプラグインのコマンドを起動

----
/command  [-buffer <name>] <plugin> <command>

-buffer: このバッファでコマンドを実行
 plugin: このプラグインからコマンドを実行; 'core' は WeeChat コマンド、'*' は自動的にプラグインを選択 (このコマンドを実行したバッファに依存)
command: 実行するコマンド (コマンドの最初に '/' が無い場合はこれを自動的に追加します)
----

[[command_weechat_cursor]]
* `+cursor+`: カーソルを移動してアクションを実行するエリアを指定

----
/cursor  go chat|<bar>|<x>,<y>
         move up|down|left|right|area_up|area_down|area_left|area_right
         stop

  go: move cursor to chat area, a bar (using bar name) or coordinates "x,y"
move: move cursor with direction
stop: stop cursor mode

Without argument, this command toggles cursor mode.

When mouse is enabled (see /help mouse), by default a middle click will start cursor mode at this point.

Default keys in cursor mode on chat messages:
  m  quote message
  q  quote prefix + message
  Q  quote time + prefix + message

Default keys in cursor mode on nicklist:
  b  ban nick (/ban)
  k  kick nick (/kick)
  K  kick and ban nick (/kickban)
  q  open query with nick (/query)
  w  query information about user (/whois)

Other default keys in cursor mode:
  arrow      move cursor
  alt+arrow  move cursor to the next area
  enter      exit cursor mode

Examples:
  go to nicklist:
    /cursor go nicklist
  go to coordinates x=10, y=5:
    /cursor go 10,5
----

[[command_weechat_debug]]
* `+debug+`: デバッグ関数

----
/debug  list
        set <plugin> <level>
        dump [<plugin>]
        buffer|color|infolists|libs|certs|memory|tags|term|windows
        mouse|cursor [verbose]
        hdata [free]
        time <command>

     list: list plugins with debug levels
      set: set debug level for plugin
   plugin: name of plugin ("core" for WeeChat core)
    level: debug level for plugin (0 = disable debug)
     dump: save memory dump in WeeChat log file (same dump is written when WeeChat crashes)
   buffer: dump buffer content with hexadecimal values in log file
    color: display infos about current color pairs
   cursor: toggle debug for cursor mode
     dirs: display directories
    hdata: display infos about hdata (with free: remove all hdata in memory)
    hooks: display infos about hooks
infolists: display infos about infolists
     libs: display infos about external libraries used
    certs: display number of loaded trusted certificate authorities
   memory: display infos about memory usage
    mouse: toggle debug for mouse
     tags: display tags for lines
     term: display infos about terminal
  windows: display windows tree
     time: measure time to execute a command or to send text to the current buffer
----

[[command_weechat_eval]]
* `+eval+`: 式を評価

----
/eval  [-n|-s] [-d] <expression>
       [-n] [-d [-d]] -c <expression1> <operator> <expression2>

        -n: display result without sending it to buffer (debug mode)
        -s: split expression before evaluating it (many commands can be separated by semicolons)
        -d: display debug output after evaluation (with two -d: more verbose debug)
        -c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons
  operator: a logical or comparison operator:
            - logical operators:
                &&   boolean "and"
                ||   boolean "or"
            - comparison operators:
                ==   equal
                !=   not equal
                <=   less or equal
                <    less
                >=   greater or equal
                >    greater
                =~   is matching POSIX extended regex
                !~   is NOT matching POSIX extended regex
                ==*  is matching mask, case sensitive (wildcard "*" is allowed)
                !!*  is NOT matching mask, case sensitive (wildcard "*" is allowed)
                =*   is matching mask, case insensitive (wildcard "*" is allowed)
                !*   is NOT matching mask, case insensitive (wildcard "*" is allowed)
                ==-  is included, case sensitive
                !!-  is NOT included, case sensitive
                =-   is included, case insensitive
                !-   is NOT included, case insensitive

An expression is considered as "true" if it is not NULL, not empty, and different from "0".
The comparison is made using floating point numbers if the two expressions are valid numbers, with one of the following formats:
  - integer (examples: 5, -7)
  - floating point number (examples: 5.2, -7.5, 2.83e-2)
  - hexadecimal number (examples: 0xA3, -0xA3)
To force a string comparison, you can add double quotes around each expression, for example:
  50 > 100      ==> 0
  "50" > "100"  ==> 1

Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
  1. the string itself without evaluation (format: "raw:xxx")
  2. an evaluated sub-string (format: "eval:xxx")
  3. an evaluated condition (format: "eval_cond:xxx")
  4. a string with escaped chars (format: "esc:xxx" or "\xxx")
  5. a string with chars to hide (format: "hide:char,string")
  6. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
     or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
  7. a reversed string (format: "rev:xxx" or "revscr:xxx")
  8. a repeated string (format: "repeat:count,string")
  9. length of a string (format: "length:xxx" or "lengthscr:xxx")
  10. split of a string (format: "split:number,separators,flags,xxx")
  11. split of shell argmuents (format: "split_shell:number,xxx")
  12. a color (format: "color:xxx", see "Plugin API reference", function "color")
  13. a modifier (format: "modifier:name,data,string")
  14. an info (format: "info:name,arguments", arguments are optional)
  15. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
  16. current date/time (format: "date" or "date:format")
  17. an environment variable (format: "env:XXX")
  18. a ternary operator (format: "if:condition?value_if_true:value_if_false")
  19. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
  20. a random integer number (format: "random:min,max")
  21. a translated string (format: "translate:xxx")
  22. an option (format: "file.section.option")
  23. a local variable in buffer
  24. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
  hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
  hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example:
    ${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers
    ${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins
  hdata[pointer].var1.var2...: start with a hdata using a pointer, for example:
    ${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers)
    ${buffer[my_pointer].full_name}: full name of the buffer with this pointer name (can be used in triggers)
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".

Examples (simple strings):
  /eval -n ${raw:${info:version}}                ==> ${info:version}
  /eval -n ${eval_cond:${window.win_width}>100}  ==> 1
  /eval -n ${info:version}                       ==> 0.4.3
  /eval -n ${env:HOME}                           ==> /home/user
  /eval -n ${weechat.look.scroll_amount}         ==> 3
  /eval -n ${sec.data.password}                  ==> secret
  /eval -n ${window}                             ==> 0x2549aa0
  /eval -n ${window.buffer}                      ==> 0x2549320
  /eval -n ${window.buffer.full_name}            ==> core.weechat
  /eval -n ${window.buffer.number}               ==> 1
  /eval -n ${\t}                                 ==> <tab>
  /eval -n ${hide:-,${relay.network.password}}   ==> --------
  /eval -n ${cut:3,+,test}                       ==> tes+
  /eval -n ${cut:+3,+,test}                      ==> te+
  /eval -n ${date:%H:%M:%S}                      ==> 07:46:40
  /eval -n ${if:${info:term_width}>80?big:small} ==> big
  /eval -n ${rev:Hello}                          ==> olleH
  /eval -n ${repeat:5,-}                         ==> -----
  /eval -n ${length:test}                        ==> 4
  /eval -n ${split:1,,,abc,def,ghi}              ==> abc
  /eval -n ${split:-1,,,abc,def,ghi}             ==> ghi
  /eval -n ${split:count,,,abc,def,ghi}          ==> 3
  /eval -n ${split:random,,,abc,def,ghi}         ==> def
  /eval -n ${split_shell:1,"arg 1" arg2}         ==> arg 1
  /eval -n ${split_shell:-1,"arg 1" arg2}        ==> arg2
  /eval -n ${split_shell:count,"arg 1" arg2}     ==> 2
  /eval -n ${split_shell:random,"arg 1" arg2}    ==> arg2
  /eval -n ${calc:(5+2)*3}                       ==> 21
  /eval -n ${random:0,10}                        ==> 3
  /eval -n ${base_encode:64,test}                ==> dGVzdA==
  /eval -n ${base_decode:64,dGVzdA==}            ==> test
  /eval -n ${translate:Plugin}                   ==> Extension

Examples (conditions):
  /eval -n -c ${window.buffer.number} > 2 ==> 0
  /eval -n -c ${window.win_width} > 100   ==> 1
  /eval -n -c (8 > 12) || (5 > 2)         ==> 1
  /eval -n -c (8 > 12) && (5 > 2)         ==> 0
  /eval -n -c abcd =~ ^ABC                ==> 1
  /eval -n -c abcd =~ (?-i)^ABC           ==> 0
  /eval -n -c abcd =~ (?-i)^abc           ==> 1
  /eval -n -c abcd !~ abc                 ==> 0
  /eval -n -c abcd =* a*d                 ==> 1
  /eval -n -c abcd =- bc                  ==> 1
----

[[command_weechat_filter]]
* `+filter+`: タグか正規表現に基づくバッファメッセージの非表示/表示

----
/filter  list
         enable|disable|toggle [<name>|@]
         add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
         rename <name> <new_name>
         recreate <name>
         del <name>|-all

      list: list all filters
    enable: enable filters (filters are enabled by default)
   disable: disable filters
    toggle: toggle filters
      name: filter name ("@" = enable/disable all filters in current buffer)
       add: add a filter
addreplace: add or replace an existing filter
    rename: rename a filter
  recreate: set input with the command used to edit the filter
       del: delete a filter
      -all: delete all filters
    buffer: comma separated list of buffers where filter is active:
            - this is full name including plugin (example: "irc.libera.#weechat" or "irc.server.libera")
            - "*" means all buffers
            - a name starting with '!' is excluded
            - wildcard "*" is allowed
   tags: comma separated list of tags, for example "irc_join,irc_part,irc_quit"
            - logical "and": use "+" between tags (for example: "nick_toto+irc_action")
            - wildcard "*" is allowed
            - if tag starts with '!', then it is excluded and must NOT be in message
  regex: POSIX extended regular expression to search in line
            - use '\t' to separate prefix from message, special chars like '|' must be escaped: '\|'
            - if regex starts with '!', then matching result is reversed (use '\!' to start with '!')
            - two regular expressions are created: one for prefix and one for message
            - regex are case insensitive, they can start by "(?-i)" to become case sensitive

The default key alt+'=' toggles filtering on/off globally and alt+'-' toggles filtering on/off in the current buffer.

Tags most commonly used:
  no_filter, no_highlight, no_log, log0..log9 (log level),
  notify_none, notify_message, notify_private, notify_highlight,
  self_msg, nick_xxx (xxx is nick in message), prefix_nick_ccc (ccc is color of nick),
  host_xxx (xxx is username + host in message),
  irc_xxx (xxx is command name or number, see /server raw or /debug tags),
  irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
To see tags for lines in buffers: /debug tags

Examples:
  use IRC smart filter on all buffers:
    /filter add irc_smart * irc_smart_filter *
  use IRC smart filter on all buffers except those with "#weechat" in name:
    /filter add irc_smart *,!*#weechat* irc_smart_filter *
  filter all IRC join/part/quit messages:
    /filter add joinquit * irc_join,irc_part,irc_quit *
  filter nicks displayed when joining channels or with /names:
    /filter add nicks * irc_366 *
  filter nick "toto" on IRC channel #weechat:
    /filter add toto irc.libera.#weechat nick_toto *
  filter IRC join/action messages from nick "toto":
    /filter add toto * nick_toto+irc_join,nick_toto+irc_action *
  filter lines containing "weechat sucks" on IRC channel #weechat:
    /filter add sucks irc.libera.#weechat * weechat sucks
  filter lines that are strictly equal to "WeeChat sucks" on all buffers:
    /filter add sucks2 * * (?-i)^WeeChat sucks$
----

[[command_weechat_help]]
* `+help+`: コマンドとオプションに関するヘルプを表示

----
/help  -list|-listfull [<plugin> [<plugin>...]]
       <command>
       <option>

    -list: プラグイン毎にコマンドをリストアップ (引数が無ければ、このリストを表示)
-listfull: プラグイン毎に説明付きでコマンドをリストアップ
   plugin: このプラグインに関するコマンドをリストアップ
  command: コマンドの名前
   option: オプションの名前 (リストを見るには /set を使用)
----

[[command_weechat_history]]
* `+history+`: バッファコマンド履歴を表示

----
/history  clear
          <value>

clear: 履歴の削除
value: 表示する履歴エントリの数
----

[[command_weechat_input]]
* `+input+`: コマンドライン関数

----
/input  <action> [<arguments>]

list of actions:
  return: simulate key "enter"
  complete_next: complete word with next completion
  complete_previous: complete word with previous completion
  search_text_here: search text in buffer at current position
  search_text: search text in buffer
  search_switch_case: switch exact case for search
  search_switch_regex: switch search type: string/regular expression
  search_switch_where: switch search in messages/prefixes
  search_previous: search previous line
  search_next: search next line
  search_stop_here: stop search at current position
  search_stop: stop search
  delete_previous_char: delete previous char
  delete_next_char: delete next char
  delete_previous_word: delete previous word
  delete_next_word: delete next word
  delete_beginning_of_line: delete from beginning of line until cursor
  delete_end_of_line: delete from cursor until end of line
  delete_line: delete entire line
  clipboard_paste: paste from the internal clipboard
  transpose_chars: transpose two chars
  undo: undo last command line action
  redo: redo last command line action
  move_beginning_of_line: move cursor to beginning of line
  move_end_of_line: move cursor to end of line
  move_previous_char: move cursor to previous char
  move_next_char: move cursor to next char
  move_previous_word: move cursor to previous word
  move_next_word: move cursor to next word
  history_previous: recall previous command in current buffer history
  history_next: recall next command in current buffer history
  history_global_previous: recall previous command in global history
  history_global_next: recall next command in global history
  jump_smart: jump to next buffer with activity
  jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer)
  jump_previously_visited_buffer: jump to previously visited buffer
  jump_next_visited_buffer: jump to next visited buffer
  hotlist_clear: clear hotlist (optional argument: "lowest" to clear only lowest level in hotlist, "highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight)
  hotlist_remove_buffer: remove current buffer from hotlist
  hotlist_restore_buffer: restore latest hotlist removed in the current buffer
  hotlist_restore_all: restore latest hotlist removed in all buffers
  grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds)
  grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds)
  grab_mouse: grab mouse event code
  grab_mouse_area: grab mouse event code with area
  set_unread: set unread marker for all buffers
  set_unread_current_buffer: set unread marker for current buffer
  switch_active_buffer: switch to next merged buffer
  switch_active_buffer_previous: switch to previous merged buffer
  zoom_merged_buffer: zoom on merged buffer
  insert: insert text in command line (escaped chars are allowed, see /help print)
  send: send text to the buffer
  paste_start: start paste (bracketed paste mode)
  paste_stop: stop paste (bracketed paste mode)

This command is used by key bindings or plugins.
----

[[command_weechat_key]]
* `+key+`: キーの割り当てと割り当て解除

----
/key  list|listdefault|listdiff [<context>]
      bind <key> [<command> [<args>]]
      bindctxt <context> <key> [<command> [<args>]]
      unbind <key>
      unbindctxt <context> <key>
      reset <key>
      resetctxt <context> <key>
      resetall -yes [<context>]
      missing [<context>]

       list: 現在のキーをリストアップ (引数無しの場合、このリストが表示されます)
listdefault: デフォルトキーをリストアップ
   listdiff: デフォルトと現在のキーの違いをリストアップ (追加、再定義、削除されたキー)
    context: コンテキストの名前 ("default" または "search")
       bind: キーにコマンドを割り当てるか、キーに割り当てられたコマンドを表示 ("default" コンテキストに対する)
   bindctxt: キーにコマンドを割り当てるか、キーに割り当てられたコマンドを表示 (指定されたコンテキストに対する)
    command: コマンド (複数のコマンドはセミコロンで分けて書く)
     unbind: キーバインドを削除 ("default" コンテキストに対する)
 unbindctxt: キーバインドを削除 (指定されたコンテキストに対する)
      reset: キーをデフォルトの割り当てにリセットする ("default" コンテキストに対する)
  resetctxt: キーをデフォルトの割り当てにリセットする (指定されたコンテキストに対する)
   resetall: デフォルトの割り当てにリストアし、全ての個人的な設定を削除 (注意して使用!)
    missing: 未割り当てのキーを追加 (デフォルトの割り当てに無い)、新しい WeeChat バージョンをインストールした後に便利

キーにコマンドを割り当てる場合、alt+k (または Esc の後に k) した後に、割り当てたいキーを押すことをお勧めします: これはコマンドラインにキーコードを入力することになります。

"mouse" コンテント ("cursor" コンテキストの一部) に対しては、キーは以下の書式: "@area:key" または "@area1>area2:key"。ここで、area は以下の値を取れます:
          *: 画面上の任意のエリア
       chat: チャットエリア (任意のバッファ)
  chat(xxx): 名前 "xxx" を持つチャットエリア (プラグイン含む完全な名前)
     bar(*): 任意のバー
   bar(xxx): バー "xxx"
    item(*): 任意のバー要素
  item(xxx): バー要素 "xxx"
多くのマウスイベントにマッチさせるにはワイルドカード "*" をキーに使ってください。
"hsignal:name" という書式のコマンドに対する特別な値はマウスコンテキストに使えます、これはフォーカスハッシュテーブルを引数にして hsignal "name" を送ります。
その他の特別な値 "-" はキーを無効化するために利用されます。(これはキーの探索時には無視されます)

例:
  alt-t キーをニックネームリストバーに割り当てる:
    /key bind meta-t /bar toggle nicklist
  alt-r キーを #weechat IRC チャンネルへの移動に割り当てる:
    /key bind meta-r /buffer #weechat
  alt-r キーの割り当てをデフォルトに戻す:
    /key reset meta-r
  "tab" キーをバッファ検索の終了に割り当てる:
    /key bindctxt search ctrl-I /input search_stop
  ニック上でのマウスのセンターボタンをニックネームの情報取得に割り当てる:
    /key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
----

[[command_weechat_layout]]
* `+layout+`: バッファ/ウィンドウレイアウトの管理

----
/layout  store [<name>] [buffers|windows]
         apply [<name>] [buffers|windows]
         leave
         del [<name>] [buffers|windows]
         rename <name> <new_name>

  store: store current buffers/windows in a layout
  apply: apply stored layout
  leave: leave current layout (does not update any layout)
    del: delete buffers and/or windows in a stored layout
         (if neither "buffers" nor "windows" is given after the name, the layout is deleted)
 rename: rename a layout
   name: name for stored layout (default is "default")
buffers: store/apply only buffers (order of buffers)
windows: store/apply only windows (buffer displayed by each window)

Without argument, this command displays stored layouts.

The current layout can be saved on /quit command with the option "weechat.look.save_layout_on_exit".

Note: the layout only remembers windows split and buffers numbers. It does not open buffers. That means for example you must still auto-join IRC channels to open the buffers, the saved layout only applies once the buffers are opened.
----

[[command_weechat_mouse]]
* `+mouse+`: マウス操作

----
/mouse  enable|disable|toggle [<delay>]

 enable: マウスの有効化
disable: マウスの無効化
 toggle: マウスの有効無効の切り替え
  delay: 初期マウス状態がリストアされてからの遅延時間 (秒単位) (一時的にマウスを無効化するときに便利)

マウス状態はオプション "weechat.look.mouse" に保存されます。

例:
  マウスの有効化:
    /mouse enable
  5 秒間マウスの有効無効を切り替え:
    /mouse toggle 5
----

[[command_weechat_mute]]
* `+mute+`: 静かにコマンドを実行

----
/mute  [-core | -current | -buffer <name>] <command>

   -core: no output on WeeChat core buffer
-current: no output on current buffer
 -buffer: no output on specified buffer
    name: full buffer name (examples: "irc.server.libera", "irc.libera.#weechat")
 command: command to execute silently (a '/' is automatically added if not found at beginning of command)

If no target is specified (-core, -current or -buffer), then default is to mute all buffers.

Examples:
  config save:
    /mute save
  message to current IRC channel:
    /mute -current msg * hi!
  message to #weechat channel:
    /mute -buffer irc.libera.#weechat msg #weechat hi!
----

[[command_weechat_plugin]]
* `+plugin+`: プラグインの表示/ロード/アンロード

----
/plugin  list [-o|-ol|-i|-il|<name>]
         listfull [<name>]
         load <filename> [<arguments>]
         autoload [<arguments>]
         reload [<name>|* [<arguments>]]
         unload [<name>]

     list: list loaded plugins
       -o: send list of loaded plugins to buffer (string in English)
      -ol: send list of loaded plugins to buffer (translated string)
       -i: copy list of loaded plugins in command line (for sending to buffer) (string in English)
      -il: copy list of loaded plugins in command line (for sending to buffer) (translated string)
     name: a plugin name
 listfull: list loaded plugins (verbose)
     load: load a plugin
 filename: plugin (file) to load
arguments: arguments given to plugin on load
 autoload: autoload plugins in system or user directory
   reload: reload a plugin (if no name given, unload all plugins, then autoload plugins)
   unload: unload a plugin (if no name given, unload all plugins)

Without argument, this command lists loaded plugins.
----

[[command_weechat_print]]
* `+print+`: バッファ内にテキストを表示

----
/print  [-buffer <number>|<name>] [-newbuffer <name>] [-free] [-switch] [-core|-current] [-y <line>] [-escape] [-date <date>] [-tags <tags>] [-action|-error|-join|-network|-quit] [<text>]
        -stdout|-stderr [<text>]
        -beep

   -buffer: display text in this buffer (default: buffer where command is executed)
-newbuffer: create a new buffer and display text in this buffer
     -free: create a buffer with free content (with -newbuffer only)
   -switch: switch to the buffer
     -core: alias of "-buffer core.weechat"
  -current: display text on current buffer
        -y: display on a custom line (for buffer with free content only)
      line: line number for buffer with free content (first line is 0, a negative number displays after last line: -1 = after last line, -2 = two lines after last line, etc.)
   -escape: interpret escaped chars (for example \a, \07, \x07)
     -date: message date, format can be:
              -n: 'n' seconds before now
              +n: 'n' seconds in the future
               n: 'n' seconds since the Epoch (see man time)
              date/time (ISO 8601): yyyy-mm-ddThh:mm:ss, example: 2014-01-19T04:32:55
              time: hh:mm:ss (example: 04:32:55)
     -tags: comma-separated list of tags (see /help filter for a list of tags most commonly used)
      text: text to display (prefix and message must be separated by "\t", if text starts with "-", then add a "\" before)
   -stdout: display text on stdout (escaped chars are interpreted)
   -stderr: display text on stderr (escaped chars are interpreted)
     -beep: alias of "-stderr \a"

The options -action ... -quit use the prefix defined in options "weechat.look.prefix_*".

Following escaped chars are supported:
  \" \\ \a \b \e \f \n \r \t \v \0ooo \xhh \uhhhh \Uhhhhhhhh

Examples:
  display a reminder on core buffer with a highlight:
    /print -core -tags notify_highlight Reminder: buy milk
  display an error on core buffer:
    /print -core -error Some error here
  display message on core buffer with prefix "abc":
    /print -core abc\tThe message
  display a message on channel #weechat:
    /print -buffer irc.libera.#weechat Message on #weechat
  display a snowman (U+2603):
    /print -escape \u2603
  send alert (BEL):
    /print -beep
----

[[command_weechat_proxy]]
* `+proxy+`: プロキシの管理

----
/proxy  list
        add <name> <type> <address> <port> [<username> [<password>]]
        del <name>|-all
        set <name> <option> <value>

    list: 全てのプロキシをリストアップ
     add: 新しいプロキシを追加
    name: プロキシの名前 (一意的な)
    type: http、socks4、socks5
 address: IP アドレスまたはホスト名
    port: ポート
username: ユーザ名 (任意)
password: パスワード (任意)
     del: プロキシの削除 (-all を付ければ全てのプロキシを削除)
     set: プロキシのプロパティを設定
  option: 変更するオプション (オプションリストを見るには、/set weechat.proxy.<proxyname>.*)
   value: オプションに設定する新しい値

例:
  ローカルホストの 8888 番ポートで動いている http プロキシを追加:
    /proxy add local http 127.0.0.1 8888
  IPv6 プロトコルを使う http プロキシを追加:
    /proxy add local http ::1 8888
    /proxy set local ipv6 on
  ユーザ名とパスワードが必要な socks5 プロキシを追加:
    /proxy add myproxy socks5 sample.host.org 3128 myuser mypass
  プロキシを削除:
    /proxy del myproxy
----

[[command_weechat_quit]]
* `+quit+`: WeeChat の終了

----
/quit  [-yes] [<arguments>]

     -yes: weechat.look.confirm_quit オプションが有効な場合に必要
arguments: "quit" シグナルと共に送られるテキスト
           (例えば irc プラグインはサーバに quit メッセージを送る際にこのテキストを使います)

デフォルト設定では、終了時に設定ファイルを保存します (オプション "weechat.look.save_config_on_exit" 参照)。また、終了時に現在のレイアウトを保存することも可能です (オプション "weechat.look.save_layout_on_exit" 参照)。
----

[[command_weechat_reload]]
* `+reload+`: ディスクから設定ファイルをリロード

----
/reload  [<file> [<file>...]]

file: リロードする設定ファイル (拡張子 ".conf" は不要)

引数無しでは、全てのファイル (WeeChat とプラグイン) がリロードされます。
----

[[command_weechat_repeat]]
* `+repeat+`: 複数回コマンドを実行

----
/repeat  [-interval <delay>[<unit>]] <count> <command>

  delay: コマンドの実行間隔
   unit: 任意、以下の値を使ってください:
           ms: ミリ秒
            s: 秒 (デフォルト)
            m: 分
            h: 時間
  count: コマンドの実行回数
command: 実行するコマンド (最初に '/' が無い場合はバッファに送信するテキストと解釈されます)

注意: コマンドは /repeat を実行したバッファで実行されます (バッファが存在しない場合、コマンドは実行されません)。

例:
  2 ページ分上方向にスクロール:
    /repeat 2 /window page_up
----

[[command_weechat_save]]
* `+save+`: 設定をファイルに保存

----
/save  [<file> [<file>...]]

file: 保存する設定ファイル (拡張子 ".conf" は不要)

引数無しでは、全てのファイル (WeeChat とプラグイン) が保存されます。

デフォルト設定では、/quit コマンドの実行時にすべての設定ファイルがディスクに保存されます (オプション "weechat.look.save_config_on_exit" 参照)。
----

[[command_weechat_secure]]
* `+secure+`: 保護データを管理します (パスワードやプライベートデータは暗号化されて sec.conf ファイルに保存)

----
/secure  passphrase <passphrase>|-delete
         decrypt <passphrase>|-discard
         set <name> <value>
         del <name>

passphrase: change the passphrase (without passphrase, data is stored as plain text in file sec.conf)
   -delete: delete passphrase
   decrypt: decrypt data still encrypted (it happens only if passphrase was not given on startup)
  -discard: discard all data still encrypted
       set: add or change secured data
       del: delete secured data

Without argument, this command displays secured data in a new buffer.

Keys on secure buffer:
  alt+v  toggle values

When a passphrase is used (data encrypted), it is asked by WeeChat on startup.
It is possible to set environment variable "WEECHAT_PASSPHRASE" to prevent the prompt (this same variable is used by WeeChat on /upgrade), or to set option sec.crypt.passphrase_command to read the passphrase from the output of an external command like a password manager (see /help sec.crypt.passphrase_command).

Secured data with format ${sec.data.xxx} can be used in:
  - command /eval
  - command line argument "--run-command"
  - options weechat.startup.command_{before|after}_plugins
  - other options that may contain a password or sensitive data (for example proxy, irc server and relay); see /help on the options to check if they are evaluated.

Examples:
  set a passphrase:
    /secure passphrase this is my passphrase
  use program "pass" to read the passphrase on startup:
    /set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase"
  encrypt libera SASL password:
    /secure set libera mypassword
    /set irc.server.libera.sasl_password "${sec.data.libera}"
  encrypt oftc password for nickserv:
    /secure set oftc mypassword
    /set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
  alias to ghost the nick "mynick":
    /alias add ghost /eval /msg -server libera nickserv ghost mynick ${sec.data.libera}
----

[[command_weechat_set]]
* `+set+`: 設定オプションと環境変数を設定

----
/set  [<option> [<value>]]
      diff [<option> [<option>...]]
      env [<variable> [<value>]]

option: オプションの名前 (value を指定せずにワイルドカード "*" を使えばオプションをリストアップできます)
 value: オプションに対する新しい値、以下の型に従う:
          boolean: on、off、toggle
          integer: 番号、++番号、--番号
           string: 任意の文字列 (空文字列は "")
            color: 色の名前、++色番号、--色番号
        注意: どんな型であっても、オプションの値を削除する (未定義値にする) には null が使えます。これはいくつかの特別なプラグイン変数でのみ有効です。
  diff: 変更されたオプションのみを表示
   env: 環境変数を表示または設定 (変数の値を削除するには値に "" を入れてください)

例:
  ハイライトに関するオプションを表示:
    /set *highlight*
  highlight に単語を追加:
    /set weechat.look.highlight "word"
  変更されたオプションを表示:
    /set diff
  irc プラグインのオプションの内、変更されたオプションを表示:
    /set diff irc.*
  環境変数 LANG の値を表示:
    /set env LANG
  環境変数 LANG を設定し、これを使う:
    /set env LANG fr_FR.UTF-8
    /upgrade
  環境変数 ABC の値を削除する:
    /set env ABC ""
----

[[command_weechat_unset]]
* `+unset+`: オプションのアンセット/リセット

----
/unset  <option>
        -mask <option>

option: オプションの名前
 -mask: オプション内でマスクを使う (大量のオプションをリセットするにはワイルドカード "*" を使ってください、使用に注意!)

オプションの種類によって (一般的なオプションを) リセットまたは (サーバなどの任意な設定を) 削除が行われます。

例:
  オプションのリセット:
    /unset weechat.look.item_time_format
  全ての色関連オプションをリセット:
    /unset -mask weechat.color.*
----

[[command_weechat_upgrade]]
* `+upgrade+`: サーバとの接続を維持して WeeChat 実行バイナリを再読込

----
/upgrade  [-yes] [<path_to_binary>|-quit]

          -yes: required if option "weechat.look.confirm_upgrade" is enabled
path_to_binary: path to WeeChat binary (default is current binary)
        -dummy: do nothing (option used to prevent accidental completion with "-quit")
         -quit: close *ALL* connections, save session and quit WeeChat, which makes possible a delayed restoration (see below)

This command upgrades and reloads a running WeeChat session. The new WeeChat binary must have been compiled or installed with a package manager before running this command.

Note: SSL connections are lost during upgrade, because reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.

Upgrade process has 4 steps:
  1. save session into files for core and plugins (buffers, history, ..)
  2. unload all plugins (configuration files (*.conf) are written on disk)
  3. save WeeChat configuration (weechat.conf)
  4. execute new WeeChat binary and reload session.

With option "-quit", the process is slightly different:
  1. close *ALL* connections (irc, xfer, relay, ...)
  2. save session into files (*.upgrade)
  3. unload all plugins
  4. save WeeChat configuration
  5. quit WeeChat
Then later you can restore session with command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf).
It is possible to restore WeeChat session on another machine if you copy the content of WeeChat home directories (see /debug dirs).
----

[[command_weechat_uptime]]
* `+uptime+`: WeeChat 連続稼働時間の表示

----
/uptime  [-o|-ol]

 -o: 連続稼働時間を現在のバッファの入力に送る (英語で)
-ol: 連続稼働時間を現在のバッファの入力に送る (翻訳済み)
----

[[command_weechat_version]]
* `+version+`: WeeChat のバージョンとコンパイル日時を表示

----
/version  [-o|-ol]

 -o: バージョンを現在のバッファの入力に送る (英語で)
-ol: バージョンを現在のバッファの入力に送る (翻訳済み)

任意のバッファでこのコマンドを実行するにはデフォルトエイリアス /v を使ってください (irc バッファでこのコマンドを実行した場合、irc コマンド /version の意味になります)。
----

[[command_weechat_wait]]
* `+wait+`: コマンドの実行を予約

----
/wait  <number>[<unit>] <command>

 number: 遅延時間 (整数)
   unit: 任意、値は:
           ms: ミリ秒
            s: 秒 (デフォルト)
            m: 分
            h: 時
command: 実行するコマンド (コマンドが '/' で始まらない場合はバッファに送信するテキスト)

注意: コマンドは /wait が実行されたバッファで実行されます (バッファが見つからない場合 (例えばコマンド実行前にバッファが閉じられた場合) は、コマンドは WeeChat コアバッファで実行されます)。

例:
  10 秒後にチャンネルに入る:
    /wait 10 /join #test
  15 分後に離席状態に変更:
    /wait 15m /away -all I'm away
  2 分後に 'hello' と発言:
    /wait 2m hello
----

[[command_weechat_window]]
* `+window+`: ウィンドウの操作

----
/window  list
         -1|+1|b#|up|down|left|right [-window <number>]
         <number>
         splith|splitv [-window <number>] [<pct>]
         resize [-window <number>] [h|v][+|-]<pct>
         balance
         merge [-window <number>] [all]
         close [-window <number>]
         page_up|page_down [-window <number>]
         refresh
         scroll [-window <number>] [+|-]<value>[s|m|h|d|M|y]
         scroll_horiz [-window <number>] [+|-]<value>[%]
         scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
         swap [-window <number>] [up|down|left|right]
         zoom [-window <number>]
         bare [<delay>]

         list: list opened windows (without argument, this list is displayed)
           -1: jump to previous window
           +1: jump to next window
           b#: jump to next window displaying buffer number #
           up: switch to window above current one
         down: switch to window below current one
         left: switch to window on the left
        right: switch to window on the right
       number: window number (see /window list)
       splith: split current window horizontally (to undo: /window merge)
       splitv: split current window vertically (to undo: /window merge)
       resize: resize window size, new size is <pct> percentage of parent window
               if "h" or "v" is specified, the resize affects the nearest parent window with a split of this type (horizontal/vertical)
      balance: balance the sizes of all windows
        merge: merge window with another (all = keep only one window)
        close: close window
      page_up: scroll one page up
    page_down: scroll one page down
      refresh: refresh screen
       scroll: scroll a number of lines (+/-N) or with time: s=seconds, m=minutes, h=hours, d=days, M=months, y=years
 scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage of window size (this scrolling is possible only on buffers with free content)
    scroll_up: scroll a few lines up
  scroll_down: scroll a few lines down
   scroll_top: scroll to top of buffer
scroll_bottom: scroll to bottom of buffer
scroll_beyond_end: scroll beyond the end of buffer
scroll_previous_highlight: scroll to previous highlight
scroll_next_highlight: scroll to next highlight
scroll_unread: scroll to unread marker
         swap: swap buffers of two windows (with optional direction for target window)
         zoom: zoom on window
         bare: toggle bare display (with optional delay in seconds for automatic return to standard display mode)

For splith and splitv, pct is a percentage which represents size of new window, computed with current window as size reference. For example 25 means create a new window with size = current_size / 4

Examples:
  jump to window displaying buffer #1:
    /window b1
  scroll 2 lines up:
    /window scroll -2
  scroll 2 days up:
    /window scroll -2d
  scroll to beginning of current day:
    /window scroll -d
  zoom on window #2:
    /window zoom -window 2
  split window horizontally using 30% of space for the window on top:
    /window splith 30
  resize window to 75% of the parent window size:
    /window resize 75
  resize vertical split, add 10% in size:
    /window resize v+10
  remove the split, keep the current window:
    /window merge
  close the current window:
    /window close
  enable bare display for 2 seconds:
    /window bare 2
----
// end::weechat_commands[]

// tag::buflist_commands[]
[[command_buflist_buflist]]
* `+buflist+`: バッファのリストを表示するバー要素

----
/buflist  enable|disable|toggle
          bar
          refresh

 enable: enable buflist
disable: disable buflist
 toggle: toggle buflist
    bar: add the "buflist" bar
refresh: force the refresh of the bar items (buflist, buflist2 and buflist3)

The lines with buffers are displayed using string evaluation (see /help eval for the format), with these options:
  - buflist.look.display_conditions: conditions to display a buffer in the list
  - buflist.format.buffer: format for a buffer which is not current buffer
  - buflist.format.buffer_current: format for the current buffer

The following variables can be used in these options:
  - bar item data (see hdata "bar_item" in API doc for a complete list), for example:
    - ${bar_item.name}
  - window data, where the bar item is displayed (there's no window in root bars, see hdata "window" in API doc for a complete list), for example:
    - ${window.number}
    - ${window.buffer.full_name}
  - buffer data (see hdata "buffer" in API doc for a complete list), for example:
    - ${buffer.number}
    - ${buffer.name}
    - ${buffer.full_name}
    - ${buffer.short_name}
    - ${buffer.nicklist_nicks_count}
  - irc_server: IRC server data, defined only on an IRC buffer (see hdata "irc_server" in API doc)
  - irc_channel: IRC channel data, defined only on an IRC channel buffer (see hdata "irc_channel" in API doc)
  - extra variables added by buflist for convenience:
    - ${format_buffer}: the evaluated value of option buflist.format.buffer; this can be used in option buflist.format.buffer_current to just change the background color for example
    - ${current_buffer}: a boolean ("0" or "1"), "1" if this is the current buffer; it can be used in a condition: ${if:${current_buffer}?...:...}
    - ${merged}: a boolean ("0" or "1"), "1" if the buffer is merged with at least another buffer; it can be used in a condition: ${if:${merged}?...:...}
    - ${format_number}: indented number with separator (evaluation of option buflist.format.number)
    - ${number}: indented number, for example " 1" if there are between 10 and 99 buffers; for merged buffers, this variable is set with number for the first buffer and spaces for the next buffers with same number
    - ${number2}: indented number, for example " 1" if there are between 10 and 99 buffers
    - ${number_displayed}: "1" if the number is displayed, otherwise "0"
    - ${indent}: indentation for name (channel and private buffers are indented) (evaluation of option buflist.format.indent)
    - ${format_nick_prefix}: colored nick prefix for a channel (evaluation of option buflist.format.nick_prefix)
    - ${color_nick_prefix}: color of nick prefix for a channel (set only if the option buflist.look.nick_prefix is enabled)
    - ${nick_prefix}: nick prefix for a channel (set only if the option buflist.look.nick_prefix is enabled)
    - ${format_name}: formatted name (evaluation of option buflist.format.name)
    - ${name}: the short name (if set), with a fallback on the name
    - ${color_hotlist}: the color depending on the highest hotlist level for the buffer (evaluation of option buflist.format.hotlist_xxx where xxx is the level)
    - ${format_hotlist}: the formatted hotlist (evaluation of option buflist.format.hotlist)
    - ${hotlist}: the raw hotlist
    - ${hotlist_priority}: "none", "low", "message", "private" or "highlight"
    - ${format_lag}: the lag for an IRC server buffer, empty if there's no lag (evaluation of option buflist.format.lag)
    - ${format_tls_version}: indicator of TLS version for a server buffer, empty for channels (evaluation of option buflist.format.tls_version)
----
// end::buflist_commands[]

// tag::charset_commands[]
[[command_charset_charset]]
* `+charset+`: 現在のバッファの文字セットを変更

----
/charset  decode|encode <charset>
          reset

 decode: デコード文字セットを変更
 encode: エンコード文字セットを変更
charset: 現在のバッファの新しい文字セット
  reset: 現在のバッファの文字セットをリセット
----
// end::charset_commands[]

// tag::exec_commands[]
[[command_exec_exec]]
* `+exec+`: 外部コマンドを実行

----
/exec  -list
       [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-oc|-n|-nf] [-oerr] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
       -in <id> <text>
       -inclose <id> [<text>]
       -signal <id> <signal>
       -kill <id>
       -killall
       -set <id> <property> <value>
       -del <id>|-all [<id>...]

   -list: list commands
     -sh: use the shell to execute the command, many commands can be piped (WARNING: use this option ONLY if all arguments are safe, see option -nosh)
   -nosh: do not use the shell to execute the command (required if the command has some unsafe data, for example the content of a message from another user) (default)
     -bg: run process in background: do not display process output neither return code (not compatible with options -o/-oc/-n/-nf/-pipe/-hsignal)
   -nobg: catch process output and display return code (default)
  -stdin: create a pipe for sending data to the process (with /exec -in/-inclose)
-nostdin: do not create a pipe for stdin (default)
 -buffer: display/send output of command on this buffer (if the buffer is not found, a new buffer with name "exec.exec.xxx" is created)
      -l: display locally output of command on buffer (default)
      -o: send output of command to the buffer without executing commands (not compatible with options -bg/-pipe/-hsignal)
     -oc: send output of command to the buffer and execute commands (lines starting with "/" or another custom command char) (not compatible with options -bg/-pipe/-hsignal)
      -n: display output of command in a new buffer (not compatible with options -bg/-pipe/-hsignal)
     -nf: display output of command in a new buffer with free content (no word-wrap, no limit on number of lines) (not compatible with options -bg/-pipe/-hsignal)
   -oerr: also send stderr (error output) to the buffer (can be used only with options -o and -oc)
     -cl: clear the new buffer before displaying output
   -nocl: append to the new buffer without clear (default)
     -sw: switch to the output buffer (default)
   -nosw: don't switch to the output buffer
     -ln: display line numbers (default in new buffer only)
   -noln: don't display line numbers
  -flush: display output of command in real time (default)
-noflush: display output of command after its end
  -color: action on ANSI colors in output:
             ansi: keep ANSI codes as-is
             auto: convert ANSI colors to WeeChat/IRC (default)
              irc: convert ANSI colors to IRC colors
          weechat: convert ANSI colors to WeeChat colors
            strip: remove ANSI colors
     -rc: display return code (default)
   -norc: don't display return code
-timeout: set a timeout for the command (in seconds)
   -name: set a name for the command (to name it later with /exec)
   -pipe: send the output to a WeeChat/plugin command (line by line); if there are spaces in command/arguments, enclose them with double quotes; variable $line is replaced by the line (by default the line is added after the command, separated by a space) (not compatible with options -bg/-o/-oc/-n/-nf)
-hsignal: send the output as a hsignal (to be used for example in a trigger) (not compatible with options -bg/-o/-oc/-n/-nf)
 command: the command to execute; if beginning with "url:", the shell is disabled and the content of URL is downloaded and sent as output
      id: command identifier: either its number or name (if set with "-name xxx")
     -in: send text on standard input of process
-inclose: same as -in, but stdin is closed after (and text is optional: without text, the stdin is just closed)
 -signal: send a signal to the process; the signal can be an integer or one of these names: hup, int, quit, kill, term, usr1, usr2
   -kill: alias of "-signal <id> kill"
-killall: kill all running processes
    -set: set a hook property (see function hook_set in plugin API reference)
property: hook property
   value: new value for hook property
    -del: delete a terminated command
    -all: delete all terminated commands

Default options can be set in the option exec.command.default_options.

Examples:
  /exec -n ls -l /tmp
  /exec -sh -n ps xu | grep weechat
  /exec -n -norc url:https://pastebin.com/raw.php?i=xxxxxxxx
  /exec -nf -noln links -dump https://weechat.org/files/doc/devel/weechat_user.en.html
  /exec -o uptime
  /exec -pipe "/print Machine uptime:" uptime
  /exec -n tail -f /var/log/messages
  /exec -kill 0
----
// end::exec_commands[]

// tag::fifo_commands[]
[[command_fifo_fifo]]
* `+fifo+`: fifo プラグイン設定

----
/fifo  enable|disable|toggle

 enable: enable FIFO pipe
disable: disable FIFO pipe
 toggle: toggle FIFO pipe

FIFO pipe is used as remote control of WeeChat: you can send commands or text to the FIFO pipe from your shell.
By default the FIFO pipe is called weechat_fifo_xxx (where xxx is the WeeChat process id) and located in the WeeChat runtime directory (see /debug dirs).

The expected format is one of:
  plugin.buffer *text or command here
  *text or command here

For example to change your libera nick:
  echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_12345

Please read the user's guide for more info and examples.

Examples:
  /fifo toggle
----
// end::fifo_commands[]

// tag::fset_commands[]
[[command_fset_fset]]
* `+fset+`: WeeChat とプラグインのオプションを高速設定

----
/fset  -bar
       -refresh
       -up|-down [<number>]
       -left|-right [<percent>]
       -go <line>|end
       -toggle
       -add [<value>]
       -reset
       -unset
       -set
       -setnew
       -append
       -mark
       -format
       -export [-help|-nohelp] <filename>
       <filter>

       -bar: add the help bar
   -refresh: refresh list of options, then whole screen (command: /window refresh)
        -up: move the selected line up by "number" lines
      -down: move the selected line down by "number" lines
      -left: scroll the fset buffer by "percent" of width on the left
     -right: scroll the fset buffer by "percent" of width on the right
        -go: select a line by number, first line number is 0 ("end" to select the last line)
    -toggle: toggle the boolean value
       -add: add "value" (which can be a negative number) for integers and colors, set/append to value for other types (set for a negative value, append for a positive value)
     -reset: reset the value of option
     -unset: unset the option
       -set: add the /set command in input to edit the value of option (move the cursor at the beginning of value)
    -setnew: add the /set command in input to edit a new value for the option
    -append: add the /set command to append something in the value of option (move the cursor at the end of value)
      -mark: toggle mark
    -format: switch to the next available format
    -export: export the options and values displayed in a file (each line has format: "/set name value" or "/unset name")
      -help: force writing of help on options in exported file (see /help fset.look.export_help_default)
    -nohelp: do not write help on options in exported file (see /help fset.look.export_help_default)
     filter: set a new filter to see only matching options (this filter can be used as input in fset buffer as well); allowed formats are:
               *       show all options (no filter)
               xxx     show only options with "xxx" in name
               f:xxx   show only configuration file "xxx"
               t:xxx   show only type "xxx" (bool/int/str/col)
               d       show only changed options
               d:xxx   show only changed options with "xxx" in name
               d=xxx   show only changed options with "xxx" in value
               d==xxx  show only changed options with exact value "xxx"
               h=xxx   show only options with "xxx" in description (translated)
               he=xxx  show only options with "xxx" in description (in English)
               =xxx    show only options with "xxx" in value
               ==xxx   show only options with exact value "xxx"
               c:xxx   show only options matching the evaluated condition "xxx", using following variables: file, section, option, name, parent_name, type, type_en, type_short (bool/int/str/col), type_tiny (b/i/s/c), default_value, default_value_undef, value, quoted_value, value_undef, value_changed, parent_value, min, max, description, description2, description_en, description_en2, string_values

The lines with options are displayed using string evaluation (see /help eval for the format), with these options:
  - fset.format.option1: first format for an option
  - fset.format.option2: second format for an option

The following variables can be used in these options:
  - option data, with color and padded by spaces on the right:
    - ${file}: configuration file (for example "weechat" or "irc")
    - ${section}: section
    - ${option}: option name
    - ${name}: full option name (file.section.option)
    - ${parent_name}: parent option name
    - ${type}: option type (translated)
    - ${type_en}: option type (in English)
    - ${type_short}: short option type (bool/int/str/col)
    - ${type_tiny}: tiny option type (b/i/s/c)
    - ${default_value}: option default value
    - ${default_value_undef}: "1" if default value is null, otherwise "0"
    - ${value}: option value
    - ${value_undef}: "1" if value is null, otherwise "0"
    - ${value_changed}: "1" if value is different from default value, otherwise "0"
    - ${value2}: option value, with inherited value if null
    - ${parent_value}: parent option value
    - ${min}: min value
    - ${max}: max value
    - ${description}: option description (translated)
    - ${description2}: option description (translated), "(no description)" (translated) if there's no description
    - ${description_en}: option description (in English)
    - ${description_en2}: option description (in English), "(no description)" if there's no description
    - ${string_values}: string values allowed for set of an integer option using strings
    - ${marked}: "1" if option is marked, otherwise "0"
    - ${index}: index of option in list
  - option data, with color but no spaces:
    - same names prefixed by underscore, for example: ${_name}, ${_type}, ...
  - option data, raw format (no colors/spaces):
    - same names prefixed by two underscores, for example: ${__name}, ${__type}, ...
  - option data, only spaces:
    - same names prefixed with "empty_", for example: ${empty_name}, ${empty_type}
  - other data:
    - ${selected_line}: "1" if the line is selected, otherwise "0"
    - ${newline}: insert a new line at point, so the option is displayed on multiple lines

Keys and input to move in on fset buffer:
  up                        move one line up
  down                      move one line down
  pgup                      move one page up
  pgdn                      move one page down
  alt-home          <<      move to first line
  alt-end           >>      move to last line
  F11               <       scroll horizontally on the left
  F12               >       scroll horizontally on the right

Keys and input to set options on fset buffer:
  alt+space         t       toggle boolean value
  alt+'-'           -       subtract 1 from value for integer/color, set value for other types
  alt+'+'           +       add 1 to value for integer/color, append to value for other types
  alt+f, alt+r      r       reset value
  alt+f, alt+u      u       unset value
  alt+enter         s       set value
  alt+f, alt+n      n       set new value
  alt+f, alt+a      a       append to value
  alt+','           ,       mark/unmark option
  shift+up                  move one line up and mark/unmark option
  shift+down                mark/unmark option and move one line down
                    m:xxx   mark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see filters above)
                    u:xxx   unmark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see filters above)

Other keys and input on fset buffer:
  ctrl+L                    refresh options and whole screen (command: /fset -refresh)
                    $       refresh options (keep marked options)
                    $$      refresh options (unmark all options)
  alt+p             p       toggle plugin description options (plugins.desc.*)
  alt+v             v       toggle help bar
                    s:x,y   sort options by fields x,y (see /help fset.look.sort)
                    s:      reset sort to its default value (see /help fset.look.sort)
                    w:xxx   export options in file "xxx"
                    w-:xxx  export options in file "xxx" without help
                    w+:xxx  export options in file "xxx" with help
  ctrl+X            x       switch the format used to display options
                    q       close fset buffer

Mouse actions on fset buffer:
  wheel up/down                   move line up/down
  left button                     move line here
  right button                    toggle boolean (on/off) or edit the option value
  right button + drag left/right  increase/decrease value for integer/color, set/append to value for other types
  right button + drag up/down     mark/unmark multiple options

Note: if input has one or more leading spaces, the following text is interpreted as a filter, without the spaces. For example " q" searches all options with "q" inside name while "q" closes the fset buffer.

Examples:
  show IRC options changed:
    /fset d:irc.*
  show all options with "nicklist" in name:
    /fset nicklist
  show all values which contain "red":
    /fset =red
  show all values which are exactly "red":
    /fset ==red
  show all integer options in irc plugin:
    /fset c:${file} == irc && ${type_en} == integer
----
// end::fset_commands[]

// tag::guile_commands[]
[[command_guile_guile]]
* `+guile+`: スクリプトをリストアップ/ロード/アンロード

----
/guile  list|listfull [<name>]
        load [-q] <filename>
        autoload
        reload|unload [-q] [<name>]
        eval [-o|-oc] <code>
        version

    list: ロード済みスクリプトをリストアップ
listfull: ロード済みスクリプトをリストアップ (詳細)
    load: スクリプトをロード
autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
  reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
  unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
filename: ロードするスクリプト (ファイル)
      -q: 出力抑制モード: メッセージを表示しない
    name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
    eval: ソースコードを評価して現在のバッファへ結果を表示
      -o: バッファへ評価結果を送信するがコマンドを実行しない
     -oc: バッファへ評価結果を送信してコマンドを実行
    code: 評価するソースコード
 version: 使用中のインタプリタのバージョンを表示

引数無しの場合、全てのロード済みスクリプトをリストアップします。
----
// end::guile_commands[]

// tag::javascript_commands[]
[[command_javascript_javascript]]
* `+javascript+`: スクリプトをリストアップ/ロード/アンロード

----
/javascript  list|listfull [<name>]
             load [-q] <filename>
             autoload
             reload|unload [-q] [<name>]
             eval [-o|-oc] <code>
             version

    list: ロード済みスクリプトをリストアップ
listfull: ロード済みスクリプトをリストアップ (詳細)
    load: スクリプトをロード
autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
  reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
  unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
filename: ロードするスクリプト (ファイル)
      -q: 出力抑制モード: メッセージを表示しない
    name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
    eval: ソースコードを評価して現在のバッファへ結果を表示
      -o: バッファへ評価結果を送信するがコマンドを実行しない
     -oc: バッファへ評価結果を送信してコマンドを実行
    code: 評価するソースコード
 version: 使用中のインタプリタのバージョンを表示

引数無しの場合、全てのロード済みスクリプトをリストアップします。
----
// end::javascript_commands[]

// tag::logger_commands[]
[[command_logger_logger]]
* `+logger+`: logger プラグイン設定

----
/logger  list
         set <level>
         flush
         disable

   list: オープンされたバッファのログ保存設定を表示
    set: 現在のバッファのログ保存レベルを設定
  level: ログ保存されるメッセージのレベル (0 = ログ保存しない、1 = いくつかのメッセージ (最も重要) .. 9 = 全てのメッセージ)
  flush: 全てのログファイルに今すぐ書き込む
disable: 現在のバッファのログ保存を無効化 (レベルを 0 に設定)

オプション "logger.level.*" と "logger.mask.*" は任意のバッファに対するログレベルとログ保存先の設定を意味します。

IRC プラグインで使われるログレベル:
  1: ユーザメッセージ (チャンネルとプライベート)、通知 (サーバとチャンネル)
  2: ニックネームの変更
  3: サーバメッセージ
  4: 参加/退出/終了
  9: その他の全てのメッセージ

例:
  現在のバッファのレベルを 5 に設定:
    /logger set 5
  現在のバッファのログ保存を無効化:
    /logger disable
  全ての IRC バッファのレベルを 3 に設定:
    /set logger.level.irc 3
  メインの WeeChat バッファのログ保存を無効化:
    /set logger.level.core.weechat 0
  IRC サーバごとのディレクトリ、チャンネルごとのファイルを使う:
    /set logger.mask.irc "$server/$channel.weechatlog"
----
// end::logger_commands[]

// tag::lua_commands[]
[[command_lua_lua]]
* `+lua+`: スクリプトをリストアップ/ロード/アンロード

----
/lua  list|listfull [<name>]
      load [-q] <filename>
      autoload
      reload|unload [-q] [<name>]
      eval [-o|-oc] <code>
      version

    list: ロード済みスクリプトをリストアップ
listfull: ロード済みスクリプトをリストアップ (詳細)
    load: スクリプトをロード
autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
  reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
  unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
filename: ロードするスクリプト (ファイル)
      -q: 出力抑制モード: メッセージを表示しない
    name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
    eval: ソースコードを評価して現在のバッファへ結果を表示
      -o: バッファへ評価結果を送信するがコマンドを実行しない
     -oc: バッファへ評価結果を送信してコマンドを実行
    code: 評価するソースコード
 version: 使用中のインタプリタのバージョンを表示

引数無しの場合、全てのロード済みスクリプトをリストアップします。
----
// end::lua_commands[]

// tag::xfer_commands[]
[[command_xfer_me]]
* `+me+`: CTCP action をリモートホストに送信

----
/me  <message>

message: 送信メッセージ
----

[[command_xfer_xfer]]
* `+xfer+`: xfer 管理

----
/xfer  [list|listfull]

    list: xfer をリストアップ
listfull: xfer をリストアップ (詳細)

引数無しでは、xfer リストを含むバッファを開きます。
----
// end::xfer_commands[]

// tag::perl_commands[]
[[command_perl_perl]]
* `+perl+`: スクリプトをリストアップ/ロード/アンロード

----
/perl  list|listfull [<name>]
       load [-q] <filename>
       autoload
       reload|unload [-q] [<name>]
       eval [-o|-oc] <code>
       version

    list: ロード済みスクリプトをリストアップ
listfull: ロード済みスクリプトをリストアップ (詳細)
    load: スクリプトをロード
autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
  reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
  unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
filename: ロードするスクリプト (ファイル)
      -q: 出力抑制モード: メッセージを表示しない
    name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
    eval: ソースコードを評価して現在のバッファへ結果を表示
      -o: バッファへ評価結果を送信するがコマンドを実行しない
     -oc: バッファへ評価結果を送信してコマンドを実行
    code: 評価するソースコード
 version: 使用中のインタプリタのバージョンを表示

引数無しの場合、全てのロード済みスクリプトをリストアップします。
----
// end::perl_commands[]

// tag::php_commands[]
[[command_php_php]]
* `+php+`: スクリプトをリストアップ/ロード/アンロード

----
/php  list|listfull [<name>]
      load [-q] <filename>
      autoload
      reload|unload [-q] [<name>]
      eval [-o|-oc] <code>
      version

    list: ロード済みスクリプトをリストアップ
listfull: ロード済みスクリプトをリストアップ (詳細)
    load: スクリプトをロード
autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
  reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
  unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
filename: ロードするスクリプト (ファイル)
      -q: 出力抑制モード: メッセージを表示しない
    name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
    eval: ソースコードを評価して現在のバッファへ結果を表示
      -o: バッファへ評価結果を送信するがコマンドを実行しない
     -oc: バッファへ評価結果を送信してコマンドを実行
    code: 評価するソースコード
 version: 使用中のインタプリタのバージョンを表示

引数無しの場合、全てのロード済みスクリプトをリストアップします。
----
// end::php_commands[]

// tag::python_commands[]
[[command_python_python]]
* `+python+`: スクリプトをリストアップ/ロード/アンロード

----
/python  list|listfull [<name>]
         load [-q] <filename>
         autoload
         reload|unload [-q] [<name>]
         eval [-o|-oc] <code>
         version

    list: ロード済みスクリプトをリストアップ
listfull: ロード済みスクリプトをリストアップ (詳細)
    load: スクリプトをロード
autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
  reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
  unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
filename: ロードするスクリプト (ファイル)
      -q: 出力抑制モード: メッセージを表示しない
    name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
    eval: ソースコードを評価して現在のバッファへ結果を表示
      -o: バッファへ評価結果を送信するがコマンドを実行しない
     -oc: バッファへ評価結果を送信してコマンドを実行
    code: 評価するソースコード
 version: 使用中のインタプリタのバージョンを表示

引数無しの場合、全てのロード済みスクリプトをリストアップします。
----
// end::python_commands[]

// tag::relay_commands[]
[[command_relay_relay]]
* `+relay+`: リレー管理

----
/relay  list|listfull|listrelay
        add <name> <port>|<path>
        del|start|restart|stop <name>
        raw
        sslcertkey

         list: list relay clients (only active relays)
     listfull: list relay clients (verbose, all relays)
    listrelay: list relays (name and port)
          add: add a relay (listen on a port/path)
          del: remove a relay (clients remain connected)
        start: listen on port
      restart: close the server socket and listen again on port (clients remain connected)
         stop: close the server socket (clients remain connected)
         name: relay name (see format below)
         port: port used for relay
         path: path used for relay (for UNIX domain socket only); path is evaluated (see function string_eval_path_home in plugin API reference)
          raw: open buffer with raw Relay data
   sslcertkey: set SSL certificate/key using path in option relay.network.ssl_cert_key

Relay name is: [ipv4.][ipv6.][ssl.]<protocol.name> or unix.[ssl.]<protocol.name>
         ipv4: force use of IPv4
         ipv6: force use of IPv6
          ssl: enable SSL
         unix: use UNIX domain socket
protocol.name: protocol and name to relay:
                 - protocol "irc": name is the server to share (optional, if not given, the server name must be sent by client in command "PASS", with format: "PASS server:password")
                 - protocol "weechat" (name is not used)

The "irc" protocol allows any IRC client (including WeeChat itself) to connect on the port.
The "weechat" protocol allows a remote interface to connect on the port, see the list here: https://weechat.org/about/interfaces

Without argument, this command opens buffer with list of relay clients.

Examples:
  irc proxy, for server "libera":
    /relay add irc.libera 8000
  irc proxy, for server "libera", with SSL:
    /relay add ssl.irc.libera 8001
  irc proxy, for all servers (client will choose), with SSL:
    /relay add ssl.irc 8002
  weechat protocol:
    /relay add weechat 9000
  weechat protocol with SSL:
    /relay add ssl.weechat 9001
  weechat protocol with SSL, using only IPv4:
    /relay add ipv4.ssl.weechat 9001
  weechat protocol with SSL, using only IPv6:
    /relay add ipv6.ssl.weechat 9001
  weechat protocol with SSL, using IPv4 + IPv6:
    /relay add ipv4.ipv6.ssl.weechat 9001
  weechat protocol over UNIX domain socket:
    /relay add unix.weechat ${weechat_runtime_dir}/relay_socket
----
// end::relay_commands[]

// tag::ruby_commands[]
[[command_ruby_ruby]]
* `+ruby+`: スクリプトをリストアップ/ロード/アンロード

----
/ruby  list|listfull [<name>]
       load [-q] <filename>
       autoload
       reload|unload [-q] [<name>]
       eval [-o|-oc] <code>
       version

    list: ロード済みスクリプトをリストアップ
listfull: ロード済みスクリプトをリストアップ (詳細)
    load: スクリプトをロード
autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
  reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
  unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
filename: ロードするスクリプト (ファイル)
      -q: 出力抑制モード: メッセージを表示しない
    name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
    eval: ソースコードを評価して現在のバッファへ結果を表示
      -o: バッファへ評価結果を送信するがコマンドを実行しない
     -oc: バッファへ評価結果を送信してコマンドを実行
    code: 評価するソースコード
 version: 使用中のインタプリタのバージョンを表示

引数無しの場合、全てのロード済みスクリプトをリストアップします。
----
// end::ruby_commands[]

// tag::script_commands[]
[[command_script_script]]
* `+script+`: WeeChat スクリプトマネージャ

----
/script  list [-o|-ol|-i|-il]
         search <text>
         show <script>
         load|unload|reload <script> [<script>...]
         autoload|noautoload|toggleautoload <script> [<script>...]
         install|remove|installremove|hold [-q] <script> [<script>...]
         upgrade
         update

          list: list loaded scripts (all languages)
            -o: send list of loaded scripts to buffer (string in English)
           -ol: send list of loaded scripts to buffer (translated string)
            -i: copy list of loaded scripts in command line (for sending to buffer) (string in English)
           -il: copy list of loaded scripts in command line (for sending to buffer) (translated string)
        search: search scripts by tags, language (python, perl, ...), filename extension (py, pl, ...) or text; result is displayed on scripts buffer
          show: show detailed info about a script
          load: load script(s)
        unload: unload script(s)
        reload: reload script(s)
      autoload: autoload the script
    noautoload: do not autoload the script
toggleautoload: toggle autoload
       install: install/upgrade script(s)
        remove: remove script(s)
 installremove: install or remove script(s), depending on current state
          hold: hold/unhold script(s) (a script held will not be upgraded any more and cannot be removed)
            -q: quiet mode: do not display messages
       upgrade: upgrade all installed scripts which are obsolete (new version available)
        update: update local scripts cache

Without argument, this command opens a buffer with list of scripts.

On script buffer, the possible status for each script are:
  * i a H r N
  | | | | | |
  | | | | | obsolete (new version available)
  | | | | running (loaded)
  | | | held
  | | autoloaded
  | installed
  popular script

In output of /script list, the possible status for each script are:
  * ? i a H N
  | | | | | |
  | | | | | obsolete (new version available)
  | | | | held
  | | | autoloaded
  | | installed
  | unknown script (can not be downloaded/updated)
  popular script

Keys on script buffer:
  alt+i  install script
  alt+r  remove script
  alt+l  load script
  alt+L  reload script
  alt+u  unload script
  alt+A  autoload script
  alt+h  (un)hold script
  alt+v  view script

Input allowed on script buffer:
  i/r/l/L/u/A/h/v  action on script (same as keys above)
  q                close buffer
  $                refresh buffer
  s:x,y            sort buffer using keys x and y (see /help script.look.sort)
  s:               reset sort (use default sort)
  word(s)          filter scripts: search word(s) in scripts (description, tags, ...)
  *                remove filter

Mouse actions on script buffer:
  wheel         scroll list
  left button   select script
  right button  install/remove script

Examples:
  /script search url
  /script install go.py urlserver.py
  /script remove go.py
  /script hold urlserver.py
  /script reload urlserver
  /script upgrade
----
// end::script_commands[]

// tag::spell_commands[]
[[command_spell_spell]]
* `+spell+`: スペルチェックプラグイン設定

----
/spell  enable|disable|toggle
        listdict
        setdict <dict>[,<dict>...]
        deldict
        addword [<dict>] <word>

  enable: スペルチェックの有効化
 disable: スペルチェックの無効化
  toggle: スペルチェックの有効無効を切り替え
listdict: インストール済み辞書を表示
 setdict: 現在のバッファ用の辞書を設定 (コンマで区切れば複数の辞書を指定可能)
 deldict: 現在のバッファ用の辞書を削除
 addword: 個人辞書に単語を追加

一部のコマンドを除いて '/' で始まる入力行はチェックされません (/set spell.check.commands を参照してください)。

全てのバッファでスペルチェックを有効化するには、"default_dict" オプションを設定した後に、スペルチェックを有効化してください。例:
  /set spell.check.default_dict "en"
  /spell enable

バーの中にスペル候補リストを表示するには、"spell_suggest" 要素を使ってください。

スペルチェックの有効無効を切り替えるデフォルトのキーは alt-s です。
----
// end::spell_commands[]

// tag::tcl_commands[]
[[command_tcl_tcl]]
* `+tcl+`: スクリプトをリストアップ/ロード/アンロード

----
/tcl  list|listfull [<name>]
      load [-q] <filename>
      autoload
      reload|unload [-q] [<name>]
      eval [-o|-oc] <code>
      version

    list: ロード済みスクリプトをリストアップ
listfull: ロード済みスクリプトをリストアップ (詳細)
    load: スクリプトをロード
autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
  reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
  unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
filename: ロードするスクリプト (ファイル)
      -q: 出力抑制モード: メッセージを表示しない
    name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
    eval: ソースコードを評価して現在のバッファへ結果を表示
      -o: バッファへ評価結果を送信するがコマンドを実行しない
     -oc: バッファへ評価結果を送信してコマンドを実行
    code: 評価するソースコード
 version: 使用中のインタプリタのバージョンを表示

引数無しの場合、全てのロード済みスクリプトをリストアップします。
----
// end::tcl_commands[]

// tag::trigger_commands[]
[[command_trigger_trigger]]
* `+trigger+`: トリガ (WeeChat 用のスイスアーミーナイフ) の管理

----
/trigger  list|listfull|listdefault
          add|addoff|addreplace <name> <hook> ["<arguments>" ["<conditions>" ["<regex>" ["<command>" ["<return_code>" ["<post_action>"]]]]]]
          addinput [<hook>]
          input|output|recreate <name>
          set <name> <option> <value>
          rename|copy <name> <new_name>
          enable|disable|toggle [<name>|-all [<name>...]]
          restart <name>|-all [<name>...]
          show <name>
          del <name>|-all [<name>...]
          restore <name> [<name>...]
          default -yes
          monitor [<filter>]

       list: list triggers (without argument, this list is displayed)
   listfull: list triggers with detailed info for each trigger
listdefault: list default triggers
        add: add a trigger
     addoff: add a trigger (disabled)
 addreplace: add or replace an existing trigger
       name: name of trigger
       hook: signal, hsignal, modifier, line, print, command, command_run, timer, config, focus, info, info_hashtable
  arguments: arguments for the hook, depending on hook (separated by semicolons):
             signal: name(s) of signal (required)
             hsignal: name(s) of hsignal (required)
             modifier: name(s) of modifier (required)
             line: buffer type ("formatted", "free" or "*"), list of buffer masks, tags
             print: buffer, tags, message, strip colors
             command: command (required), description, arguments, description of arguments, completion (all arguments except command are evaluated, "${tg_trigger_name}" is replaced by the trigger name, see /help eval)
             command_run: command(s) (required)
             timer: interval (required), align on second, max calls
             config: name(s) of option (required)
             focus: name(s) of area (required)
             info: name(s) of info (required)
             info_hashtable: name(s) of info (required)
 conditions: evaluated conditions for the trigger
      regex: one or more regular expressions to replace strings in variables
    command: command to execute (many commands can be separated by ";")
return_code: return code in callback (ok (default), ok_eat, error)
post_action: action to take after execution (none (default), disable, delete)
   addinput: set input with default arguments to create a trigger
      input: set input with the command used to create the trigger
     output: send the command to create the trigger on the buffer
   recreate: same as "input", with option "addreplace" instead of "add"
        set: set an option in a trigger
     option: name of option: name, hook, arguments, conditions, regex, command, return_code
             (for help on option, you can type: /help trigger.trigger.<name>.<option>)
      value: new value for the option
     rename: rename a trigger
       copy: copy a trigger
     enable: enable trigger(s) (without arguments: enable triggers globally)
    disable: disable trigger(s) (without arguments: disable triggers globally)
     toggle: toggle trigger(s) (without arguments: toggle triggers globally)
    restart: restart trigger(s) (recreate the hooks)
       show: show detailed info on a trigger (with some stats)
        del: delete a trigger
       -all: do action on all triggers
    restore: restore trigger(s) with the default values (works only for default triggers)
    default: delete all triggers and restore default ones
    monitor: open the trigger monitor buffer, with optional filter:
     filter: filter hooks/triggers to display (a hook must start with "@", for example "@signal"), many filters can be separated by commas; wildcard "*" is allowed in each trigger name

When a trigger callback is called, following actions are performed, in this order:
  1. check conditions; if false, exit
  2. replace text using POSIX extended regular expression(s) (if defined in trigger)
  3. execute command(s) (if defined in trigger)
  4. exit with a return code (except for modifier, line, focus, info and info_hashtable)
  5. perform post action

Examples (you can also look at default triggers with /trigger listdefault):
  add text attributes *bold*, _underline_ and /italic/ (only in user messages):
    /trigger add effects modifier weechat_print "${tg_tag_nick}" "==\*([^ ]+)\*==*${color:bold}${re:1}${color:-bold}*== ==_([^ ]+)_==_${color:underline}${re:1}${color:-underline}_== ==/([^ ]+)/==/${color:italic}${re:1}${color:-italic}/"
  hide nicklist bar on small terminals:
    /trigger add resize_small signal signal_sigwinch "${info:term_width} < 100" "" "/bar hide nicklist"
    /trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
  silently save config each hour:
    /trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
  open trigger monitor and show only modifiers and triggers whose name starts with "resize":
    /trigger monitor @modifier,resize*
----
// end::trigger_commands[]