summaryrefslogtreecommitdiff
path: root/docs/startup-HOWTO-rus.html
blob: f0d889add31249a2304f3c5425024f0bfa915161 (plain)
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
 <h2>Startup HOWTO</h2>

 <h3>Новичкам в Irssi (а не IRC ..)</h3>

 <p>&copy; 2000-2002 by Timo Sirainen, распространяется под лицензией
    <a href="http://www.gnu.org/licenses/fdl.html">GNU FDL</a> 1.1.<br/>
	На русский язык переведено NiXoiD'ом (#xakep @ irc.wenet.ru)
	</p>


<p>Оглавление с некоторыми вопросами из FAQ, на которые дается ответ в параграфах:</p>

<ol>
<li><a href="#c1">Для ленивых</a>
    <ul>
    <li>Управление окнами, аналогичное ircII</li>
    </ul></li>
<li><a href="#c2">Основы пользовательского интерфейса</a>
    <ul>
    <li>Работа с "разделенными" окнами (я так перевёл "split windows")</li>
    <li>Как я могу легко переключаться между окнами?</li>
    <li>Но alt-1 и.т.д. не работает!</li>
    </ul></li>
<li><a href="#c3">Автозаход на каналы и серверы</a>
    <ul>
    <li>Как автоматически подключаться к серверам при запуске?</li>
    <li>Как автоматически заходить на каналы?</li>
    <li>Как автоматически выполнять команды при подключении?</li>
    </ul></li>
<li><a href="#c4">Настройка окон и автоматическое восстановление их при запуске</a></li>
<li><a href="#c5">Окна status и msgs &amp; уровни сообщений</a>
    <ul>
    <li>Я хочу чтобы ответ на /WHOIS выводился в текущее окно</li>
    <li>Я хочу чтобы все сообщения выводились в одном окне</li>
    </ul></li>
<li><a href="#c6">Как в irssi работает многосерверная поддержка</a>
    <ul>
    <li>Я подключился к серверу, который не отвечает и теперь irssi пытается подключиться к нему снова и снова. Как мне остановить это??</li>
    <li>Я хочу отдельное окно статуса и сообщений для каждого сервера</li>
    </ul></li>
<li><a href="#c7">Команда /LASTLOG и прокрутка окон</a>
    <ul>
    <li>Как сохранить весь текст из окна в файл?</li>
    </ul></li>
<li><a href="#c8">Ведение логов</a></li>
<li><a href="#c9">Изменение клавиатурных Сочетаний</a>
    <ul>
    <li>Как я могу заставить F1 делать что-то?</li>
    </ul></li>
<li><a href="#c10">Прокси и боунсеры</a>
    <ul>
    <li>Что такое irssi-proxy?</li>
    </ul></li>
<li><a href="#c11">Настройки Irssi</a></li>
<li><a href="#c12">Статусбар</a>
    <ul>
    <li>Я загрузил скрипт для статусбара, но его нигде не видно!</li>
    </ul></li>
</ol>

<h3><a id="c1">1. Для ленивых</a></h3>

<p>Несколько полезных настроек по умолчанию:</p>

<p>Если не работают цвета и вы не собираетесь использовать VT-несовместимый терминал, то просто введите:</p>

<pre>
/SET term_force_colors ON
</pre>

<p>Если вы хотите чтобы все сообщения выводились в одном окне:</p>

<pre>
/SET autocreate_own_query OFF
/SET autocreate_query_level DCCMSGS
/SET use_status_window OFF
/SET use_msgs_window ON
</pre>

<p>Чтобы окна автоматически не закрывались когда вы покидаете канал(<code>/PART</code>)или приват
(<code>/UNQUERY</code>):</p>

<pre>
/SET autoclose_windows OFF
/SET reuse_unused_windows ON
</pre>

<p>Чтобы управление окнами в irssi было похоже на ircII введите эти команды:</p>

<pre>
/SET autocreate_own_query OFF
/SET autocreate_query_level NONE
/SET use_status_window OFF
/SET use_msgs_window OFF
/SET reuse_unused_windows ON
/SET windows_auto_renumber OFF

/SET autostick_split_windows OFF
/SET autoclose_windows OFF
/SET print_active_channel ON
</pre>

<p>Вот пример добавления серверов:</p>

<p>(сеть freenode, идентифицироваться через nickserv и ждать 2 секунды перед заходом на каналы)</p>

<pre>
/IRCNET ADD -autosendcmd "/^msg nickserv ident pass;wait -freenode 2000" freenode
</pre>

<p>Теперь добавление нескольких серверов к разным сетям (IRC-сеть для них уже установлена),
 irc.kpnqwest.fi используется по дефолту для IRCNet но если он не доступен, то irssi будет пытаться подключиться к 
irc.funet.fi:</p>

<pre>
/SERVER ADD -auto -ircnet ircnet irc.kpnqwest.fi 6667
/SERVER ADD -ircnet ircnet irc.funet.fi 6667
/SERVER ADD -auto -ircnet efnet efnet.cs.hut.fi 6667
</pre>

<p>Автозаход на каналы при подключении к серверу и оп-запрос бота при заходе на efnet/#irssi:</p>

<pre>
/CHANNEL ADD -auto #irssi ircnet
/CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass" #irssi efnet
</pre>

Чтобы строки, содержащие Ваш ник подсвечивались:

<pre>
/HILIGHT ваш_ник
</pre>

<h3><a id="c2">2. Основы пользовательского интерфейса</a></h3>

<p>Для скроллинга содержимого окон используйте PgUp и PgDown. Если они не работают, используйте кнопки Meta-p и Meta-n.
 Чтобы перескочить в начало или конец буфера используйте команды <code>/SB HOME</code> и <code>/SB END</code>.</p>

<p>По умолчанию irssi использует для всего "скрытые окна". Скрытое окно создается каждый раз когда вы заходите(<code>/JOIN</code>) на канал или создаете приват(<code>/QUERY</code>)
с кем-то. Есть несколько способов переключения между этими окнами:</p>

<pre>
Meta-1, Meta-2, .. Meta-0 - Переключение между окнами 1-10
Meta-q .. Meta-o          - Переключение между окнами 11-19
/WINDOW &lt;номер&gt;          - Переключение на окно с заданным номером
Ctrl-P, Ctrl-N            - Переключение к предыдущему/следующему окну
</pre>

<p>Простейший способ переключения - это Meta-номер. Что такое Meta? 
Для некоторых терминалов это ALT. Если у вас windows-совместимая клавиатура, то это так-же может быть левая кнопка windows. Если они не работают, то вам придется настроить некоторые X-ресурсы
(это работает как в xterm так и в rxvt):</p>   

<pre>
XTerm*eightBitInput:   false
XTerm*metaSendsEscape: true
</pre>

<p>В rxvt вы так-же можете указать какая кнопка соответствует кнопке meta, так что если вы хотите использовать Alt вместо Win допишите это в файл с ресурсами:</p>

<pre>
rxvt*modifier: alt
</pre>

<p>Вы так-же можете сделать это при помощи xmodmap:</p>

<pre>
xmodmap -e "keysym Alt_L = Meta_L Alt_L"
</pre>

<p>Так как-же установить эти X-ресурсы? Для Debian'а, это файл
<code>/etc/X11/Xresources/xterm</code>, в который вы можете их засунуть и они будут автоматически читаться при старте иксов. Файлы <code>~/.Xresources</code> и 
<code>~/.Xdefaults</code> так-же должны работать. Если ничего из вышеперечисленного не работает, то просто скопируйте их в <code>~/.Xresources</code>
и загрузите командой <code>xrdb -merge ~/.Xresources</code>. 
Изменения начинают действовать только в заново запущенном терминале.</p> 

<p>Многие SSH клиенты под Windows так же не разрешают использовать кнопку ALT. Прекрасный клиент, который позволяет делать это -  putty, вы можете скачать его с
<a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">
http://www.chiark.greenend.org.uk/~sgtatham/putty/</a>.</p>

<p>Так-же поддерживает разделение окон. Вот команды, которые позволяют это сделать:</p>

<pre>
/WINDOW NEW                    - Создать новое разделенное окно
/WINDOW NEW HIDE               - Создать новое скрытое окно
/WINDOW CLOSE                  - Закрыть разделенное или скрытое окно

/WINDOW HIDE [&lt;number&gt;|&lt;name&gt;] - Сделать разделенное окно скрытым
/WINDOW SHOW &lt;number&gt;|&lt;name&gt;   - Сделать скрытое окно разделенным

/WINDOW SHRINK [&lt;lines&gt;]       - Уменьшить активное окно
/WINDOW GROW [&lt;lines&gt;]         - Увеличить активное окно
/WINDOW BALANCE                - Сбалансировать размеры всех разделенных окон
</pre>

<p>По умолчанию Irssi использует "приклеивание окон". Это подразумевает, что окно, созданное внутри разделенного окна не может быть перемещено без некоторого гемора :). Например у вас может быть следующее расположение окон:</p>

<pre>
Split window 1: win#1 - Status window, win#2 - Окно сообщений
Split window 2: win#3 - ircnet/#channel1, win#4 - ircnet/#channel2
Split window 3: win#5 - efnet/#channel1, win#6 - efnet/#channel2
</pre>

<p>Когда вы в окне win#1 нажимаете ALT-6, irssi переключается на разделенное окно
#3 и перемещает канал efnet/#channel2 в активное окно.</p>

<p>При "незакреплённом" варианте окна не имеют никакой связи с разделенными окнами 
и нажатие ALT-6 в окне win#1 перемещает окно win#6 в разделенное окно 1
и делает его активным, исключение может быть когда окно win#6 уже видимо в каком-то другом
разделенном окне, irssi просто переключается к этому разделенному окну. Такой метод переключения между окнами применяется в ircII и если он вам понравился то вы можете активизировать его при помощи команды</p>

<pre>
/SET autostick_split_windows OFF
</pre>

<p>Каждое окно внутри себя может содержать много каналов, приватов и других "вещей". Если вы вообще не любите окна, то вы можете отменить их командой</p>

<pre>
/SET autocreate_windows OFF		[format c: надёжнее ;) - прим. перев.]
</pre>

<p>И если вы держите все каналы в одном окне, то вам наверное захочется чтобы имя канала выводилось в каждом сообщении:</p>

<pre>
/SET print_active_channel ON
</pre>

<p>Если вы хотите сгруппировать в какое-то окно только некоторые каналы или приваты, то используйте эти команды:</p>

<pre>
/JOIN -window #channel
/QUERY -window nick
</pre>

<h3><a id="c3">3. Автозаход на каналы и серверы</a></h3>

<p>В Irssi многосерверная поддержка ИМХО очень хорошая :). Даже если вы хотите общаться только в одной сети, то очень удобно сгруппировать все серверы этой сети в одну группу т.к. это помогает в случае невозможности соединения с главным сервером и в некоторых других случаях :). 
Дополнительную информацию об эффективном использовании многосерверной поддержки смотрите в главе 6.</p>

<p>Для начала вам нужно установить свою IRC-сеть, для этого используйте команду <code>/IRCNET</code>,
чтобы убедится, что она ещё не установлена. Если она не установлена, то введите <code>/IRCNET ADD
имя_сети</code>. Если вы хотите, чтобы какие-то команды автоматически выполнялись при подключении к этой сети, то воспользуйтесь опцией <code>-autosendcmd</code>.
Вот некоторые примеры:</p>

<pre>
/IRCNET ADD -autosendcmd '^msg bot invite' ircnet
/IRCNET ADD -autosendcmd "/^msg nickserv ident pass;wait -freenode 2000" freenode
</pre>

<p>После этого вы должны добавить к этой сети серверы. Например:</p>

<pre>
/SERVER ADD -auto -ircnet ircnet irc.kpnqwest.fi 6667
/SERVER ADD -auto -ircnet worknet irc.mycompany.com 6667 пароль
</pre>

<p>Опция <code>-auto</code> указывает, что к этому серверу нужно автоматически подключаться при запуске. 
Вы не должны помечать другие серверы той-же сети опцией <code>-auto</code> - Irssi автоматически к ним подключится, если сервер помеченный <code>-auto</code> недоступен.</p>

<p>И наконец каналы:</p>

<pre>
/CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass" #irssi efnet
/CHANNEL ADD -auto #secret ircnet password
</pre>

<p>Опции <code>-bots</code> и <code>-botcmd</code> требуют небольшого пояснения. 
Они используются для того, чтобы автоматически давать команды боту при заходе на канал, 
обычно для автоматического получения опа. Вы можете задать много масок ботов при помощи опции 
<code>-bots</code>, разделенной пробелами (не забудьте взять эту строку в кавычек). Переменная $0 в опции 
<code>-botcmd</code> указывает на первого бота в списке найденных. Если вы не хотите использовать маски для ботов (например если бот всегда сидит под одним ником) 
вы можете указать только опцию <code>-botcmd</code> и команду.</p>

<h3><a id="c4">4. Настройка окон и автоматическое восстановление при запуске</a></h3>

<p>Для начала создайте нужные окна(подключитесь к нужным серверам, каналам и.т.д.). 
Для перемещения окон используйте следующие команды:</p>

<pre>
/WINDOW MOVE LEFT/RIGHT/номер    - переместить окно влево, вправо или на указанный номер
/WINDOW ITEM MOVE &lt;номер&gt;|&lt;имя&gt; - переместить канал или приват в другое окно
</pre>

<p>Когда всё выглядит так, как вы хотите, используйте команду <code>/LAYOUT SAVE</code>
 (и <code>/SAVE</code>, если не включено автосохранение) и когда вы в следующий раз запустите irssi, то он вспомнит позиции сохраненных окон. 
 Это "запоминание" не означает, что использование команды <code>/LAYOUT SAVE</code> будет приводить к автоматическому подключению к серверам и заходу на каналы, 
 для этого вы должны использовать команды <code>/SERVER ADD -auto</code> и <code>/CHANNEL ADD -auto</code>.</p>

<p>Чтобы изменить сохраненные настройки окон, расставьте их в нужные позиции и заново введите команду <code>/LAYOUT SAVE</code>. 
Чтобы обнулить настройки используйте команду <code>/LAYOUT RESET.</code></p>


<h3><a id="c5">5. Окна status и msgs &amp; уровни сообщений</a></h3>

<p>По умолчанию "дополнительные сообщения" выводятся в окно статуса. Под дополнительными подразумеваются сообщения, которые не принадлежат ни к одному каналу или привату(например ctcp-запросы). 
Некоторых людей они раздражают, так что если вы хотите их скрыть, то введите</p>

<pre>
/SET use_status_window OFF
</pre>

<p>Этот параметр заработает только после перезапуска irssi. Если вы хотите удалить их немедленно, то просто закройте окно(<code>/WINDOW CLOSE</code>).</p>

<p>Другое основное окно - это "окно сообщений", куда идут все сообщения привата. 
По умолчанию оно отключено и вместо этого для каждого привата создается новое окно. Чтобы все сообщения привата шли в одно окно используйте команду:</p>

<pre>
/SET use_msgs_window ON
/SET autocreate_query_level DCCMSGS  (или если вы так-же не хотите
	 создавать новые окна для DCC-чата напишите NONE)
</pre>

<p>Этот параметр так-же не будет задействован до перезапуска irssi. Чтобы применить его немедленно введите:</p>

<pre>
/WINDOW NEW HIDE     - создать окно
/WINDOW NAME (msgs)  - переименовать его в "(msgs)"
/WINDOW LEVEL MSGS   - перенаправить все приватные сообщения в это окно
/WINDOW MOVE 1       - сделать это окно первым в списке
</pre>

<p>Учтите, что ни use_msgs_window, ни use_status_window не будут работать если использована команда <code>/LAYOUT SAVE</code>.</p>

<p>Теперь мы подошли к уровням сообщений.. Что это? Все сообщения, которые выводит irssi имеют один или больше 
"уровень сообщений". Вот основные уровни: PUBLIC - для сообщений на каналах, 
MSGS - для приватных сообщений и CRAP для остальных сообщений, которые нельзя классифицировать. Вы можете получить полный список уровней при помощи команды</p>

<pre>
/HELP levels
</pre>

<p>Окну статуса присвоен уровень <code>ALL -MSGS</code>, который подразумевает, что все сообщения, 
исключая приватные, для которых не назначено другое место идут в это окно. Благодаря опции <code>-MSGS</code> оно не конфликтует с окном сообщений.</p>


<h3><a id="c6">6. Как в irssi работает многосерверная поддержка</a></h3>

<p>В ircII и некоторых других IRC-клиентах многосерверная поддержка реализована в виде помещения вкладки с сервером в список окон
. В IRSSI НЕТ. Нет никакой связи между окном и сервером. Вы можете подключиться к десяти серверам одновременно и управлять ими всеми из одного окна, или заходить на каналы на каждом из них 
в одном окне, если вы действительно этого хотите. Как было сказано вы можете подключиться к новому серверу, не закрывая текущего соединения:</p>

<pre>
/CONNECT irc.server.org
</pre>

<p>Вместо команды <code>/SERVER</code>, которая закрывает существующее
соединение. Чтобы посмотреть список осуществленных соединений используйте команду <code>/SERVER</code>
без параметров. Вы увидите примерно следующее:</p>

<pre>
-!- IRCNet: irc.song.fi:6667 (IRCNet)
-!- freenode: irc.freenode.net:6667 (freenode)
-!- RECON-1: 192.168.0.1:6667 () (02:59 left before reconnecting)
</pre>

<p>Здесь видно, что мы подключены к сетям IRCNet и freenode.
Надпись IRCNet в начале является "меткой сервера" а 
(IRCnet) в конце показывает соответствующую IRC-сеть. Метка сервера соответствует уникальному имени, которое обычно совпадает с названием сети.
Когда IRC-сеть не известна это какая-то часть имени сервера.
Когда осуществлены несколько соединений с одной сетью или сервером, irssi
добавляет цифру после метки, так что это может быть ircnet, ircnet2, ircnet3
и.т.д.</p>

<p>Метка сервера, начинающаяся с <code>RECON-</code> обозначает переподключение. 
В вышеприведенном примере мы видим, что подключение к серверу 192.168.0.1 было неудачным и 
irssi попробует подключиться заново через 3 минуты.</p>

<p>Чтобы отключиться от сервера используйте следующие команды:</p>

<pre>
/DISCONNECT ircnet   - отключиться от сервера с меткой "ircnet"
/DISCONNECT recon-1  - остановить попытки переподключения к серверу RECON-1
/RMRECONNS           - остановить все попытки переподключения

/RECONNECT recon-1   - немедленно попробовать переподключиться к RECON-1
/RECONNECT ALL       - немедленно попробовать переподключиться ко всем серверам
					в очереди на подключение
</pre>

<p>Теперь, когда вы подключены ко всем серверам вы должны знать как указать какой из них вы хотите использовать. 
Единственный способ - это иметь пустое окно наподобе окна статуса. В нем вы можете выбрать какой сервер хотите сделать активным</p>

<pre>
/WINDOW SERVER tag    - сделать сервер с меткой "tag" активным
Ctrl-X                - Сделать следующий в списке сервер активным
</pre>

<p>Когда сервер активный вы можете нормально его использовать. Когда вы подключены к нескольким серверам, irssi добавляет префикс [метка_сервера] 
ко всем сообщениям, не относящимся к каналу или привату так что вы можете знать с какого сервера оно пришло.</p>

<p>Некоторые команды так-же позволяют использовать опцию <code>-метка_сервера</code> 
чтобы указать для какого сервера вы хотите её использовать:</p>

<pre>
/MSG -метка ник сообщение
/JOIN -метка #канал
/QUERY -метка ник
</pre>

<p>Автодополнение команды <code>/MSG</code> так-же автоматически добавляет метку сервера
 когда ник не на активном сервере.</p>

<p>Окно сервера можно сделать закреплённым. Когда оно закреплено, то оно никогда автоматически не переключится на какое-то другое, и если произошло отключение от сервера, 
то оно не будет иметь активного сервера. Когда к серверу снова произведено подключение,
то он автоматически становится активным в этом окне. Чтобы закрепить окно сервера используйте следующую команду:</p>

<pre>
/WINDOW SERVER -sticky tag
</pre>

<p>Это полезно если вы хотите иметь отдельные окна статуса и сообщений для каждого сервера. Вот как это можно сделать (повторите для каждого сервера):</p>

<pre>
/WINDOW NEW HIDE
/WINDOW NAME (status)
/WINDOW LEVEL ALL -MSGS
/WINDOW SERVER -sticky ircnet

/WINDOW NEW HIDE
/WINDOW NAME (msgs)
/WINDOW LEVEL MSGS
/WINDOW SERVER -sticky ircnet
</pre>

<h3><a id="c7">7. Команда /LASTLOG и прокрутка окон</a></h3>

<p>Команда <code>/LASTLOG</code> может быть использована для поиска текста в буфере окна. Вот простейшие примеры её использования:</p>

<pre>
/LASTLOG слово    - вывести все строки, содержащие "слово"
/LASTLOG word 10  - вывести последние 10 строк, содержащих "word"
/LASTLOG -topics  - вывести все изменения топика
</pre>

<p>Если результатом вывода должны стать более 1000 строк, то irssi предположит, что вы допустили ошибку и выведет их только с опцией <code>-force</code>. 
Чтобы сохранить содержимое буфера окна в файл, используйте следующую команду:</p>

<pre>
/LASTLOG -file ~/irc.log
</pre>

<p>При использовании опции <code>-file</code> опция <code>-force</code> 
не требуется. У команды <code>/LASTLOG</code> есть много других опций. Чтобы получить более подробную справку по ней используйте <code>/HELP lastlog</code>.</p>

<p>Когда вы нашли интересовавшие вас строки, вам скорее всего захочется посмотреть другие прилегающие к ним сообщения. В Irssi есть команда <code>/SCROLLBACK</code> (или
её синоним - <code>/SB</code>) для перемещения по буферу окна.
Команда <code>/LASTLOG</code> выводит оригинальное время сообщения
 и вы можете использовать команду <code>/SB GOTO чч:мм</code> чтобы "перепрыгнуть" к этому фрагменту дискуссии.
 Чтобы переместиться обратно вниз используйте команду <code>/SB
END</code>.</p>


<h3><a id="c8">8. Ведение логов</a></h3>

<p>Irssi может автоматически вести лог всех важных сообщений когда вы в эвее
(<code>/AWAY причина</code>). когда вы вышли из эвея
(ещё раз введите <code>/AWAY</code>), новые сообщения в эвей-логе выводятся на экран.
Вы можете настроить его при помощи следующих команд:</p>

<pre>
/SET awaylog_level MSGS HILIGHT     - Выбирает какое сообщения надо записывать в лог
/SET awaylog_file ~/.irssi/away.log - Выбирает файл для лога
</pre>

<p>Простейший способ ведения логов при помощи Irssi - включение автолога. 
Irssi будет вести логи всех сообщений в заданный каталог.
Вы можете включить его при помощи следующей команды:</p>

<pre>
/SET autolog ON
</pre>

<p>По умолчанию в логи записывается почти всё кроме уровней CTCPS или CRAP
(<code>/WHOIS</code>-запросы и.т.д.). Вы можете задать уровни сообщений, которые надо писать в логи следующей командой:</p>

<pre>
/SET autolog_level ALL -CRAP -CLIENTCRAP -CTCPS (this is the default)
</pre>

<p>По умолчанию irssi пишет лог в ~/irclogs/&lt;метка_сервера&gt;/&lt;цель&gt;.log.
Это настраивается следующей командой:</p>

<pre>
/SET autolog_path ~/irclogs/$tag/$0.log (вариант "по умолчанию")
</pre>

<p>Если заданный каталог не существует, то он автоматически создается. В переменной $0 
содержится цель(канал или ник). Вы можете настроить Irssi так, чтобы он автоматически добавлял дату/время к имени файла с логом. 
Вормат даты - "man strftime" :). Вот пример:</p>

<pre>
/SET autolog_path ~/irclogs/%Y/$tag/$0.%m-%d.log
</pre>

<p>Чтобы вести логи только по каким-то отдельным каналам или никам смотрите <code>/HELP
log</code></p>


<h3><a id="c9">9. Изменение клавиатурных сочетаний</a></h3>

<p>Вы можете изменить любое клавиатурное сочетание, о котором терминал даёт знать irssi. 
То есть irssi "видит" не все клавиатурные сочетания, например он не будет реагировать на 
shift-backspace если вы как-то не отредактируете соответствующие X-ресурсы.</p>

<p>Команда <code>/HELP bind</code> даёт намного больше информации о клавиатурных сочетаниях, чем приведено здесь. 
Обычно проблеммой является "забивание" каких-то не стандартных клавиш. 
Они немного различны для каждого терминала, так что вы должны будете узнать что именно даёт нажатие этой клавиши. 
Простейший путь узнать это - выполнить в консоли <code>cat</code> и посмотреть что будет выводится при нажатии этой клавиши. 
Вот пример нажатия клавиши F1:</p>

<pre>
[cras@hurina] ~% cat
^[OP
</pre>

<p>Так что в irssi чтобы "забить" что-то на F1 вы должны будете использовать команду <code>/BIND ^[OP /ECHO нажата клавиша F1</code>. 
Если вы используете разные терминалы, которые по разному распознают нажатие одной и той-же клавиши, то вам лучше использовать что-то вроде этого:</p>

<pre>
/BIND ^[OP key F1
/BIND ^[11~ key F1
/BIND F1 /ECHO нажата клавиша F1.
</pre>

<h3><a id="c10">10. Прокси и боунсеры</a></h3>

<p>Irssi поддерживает подключение к IRC-серверам через прокси. Если вы всё правильно сделаете, то все подключения будут осуществляться через него и вам не надо будет вводить никаких дополнительных команд.</p>

<p>Вот пример: У вас есть боунсер, висящий на
irc.bouncer.org 5000. Вы хотите использовать его для подключения к серверам irc.dal.net и irc.efnet.org. Для начала вы должны будете настроить боунсер:</p>

<pre>
/SET use_proxy ON                      (включить использование прокси)
/SET proxy_address irc.bouncer.org
/SET proxy_port 5000

/SET proxy_password ВАШ_ПАРОЛЬ
/SET -clear proxy_string
/SET proxy_string_after conn %s %d
</pre>

<p>Потом вам нужно будет добавить нужные серверы. Это делается точно так-же, как если бы вы хотели подключиться к ним напрямую:</p>

<pre>
/SERVER ADD -auto -ircnet dalnet irc.dal.net
/SERVER ADD -auto -ircnet efnet irc.efnet.org
</pre>

<p>После того, как вы сделали вышеперечисленные настройки все соединения irssi будет производить через проксю.</p>

<p>Если вы не хотите использовать проксю для какого-то сервера, то при его добавлении укажите опцию 
<code>-noproxy</code>.</p>

<p><strong>Специфичные настройки для разных типов прокси:</strong></p>

<p>Обычные настройки:</p>

<pre>
/SET use_proxy ON
/SET proxy_address &lt;Адрес прокси&gt;
/SET proxy_port &lt;Порт&gt;
</pre>

<p><strong>HTTP proxy</strong></p>

<p>Используйте эти настройки для HTTP-прокси:</p>

<pre>
/SET -clear proxy_password
/EVAL SET proxy_string CONNECT %s:%d\n\n
</pre>

<p><strong>BNC</strong></p>

<pre>
/SET proxy_password ваш_пароль
/SET -clear proxy_string
/SET proxy_string_after conn %s %d
</pre>

<p><strong>dircproxy</strong></p>

<p>dircproxy производит подключения к серверам по паролям. Так что если например вы хотите подключиться к серверу ircnet с паролем ircpass 
и к freenode с паролем freenodepass, вы должны сделать примерно следующее:</p>

<pre>
/SET -clear proxy_password
/SET -clear proxy_string

/SERVER ADD -auto -ircnet ircnet fake.ircnet 6667 ircpass
/SERVER ADD -auto -ircnet freenode fake.freenode 6667 freenodepass
</pre>

<p>Имя сервера и порт, которые вы вводите нигде не используются, так что вы можете писать сюда всё что угодно.</p>

<p><strong>psyBNC</strong></p>

<p>psyBNC имеет внутреннюю многосерверную поддержку. 
Это может доставлять небольшие неудобства и некоторые люди просто используют разные логины для подключения к нескольким серверам.
Вы очень просто можете делать это средствами Irssi:</p>

<pre>
/SET -clear proxy_password
/SET -clear proxy_string

/IRCNET ADD -user ircnetuser ircnet
/SERVER ADD -auto -ircnet ircnet fake.ircnet 6667 ircpass
/IRCNET ADD -user freenodeuser freenode
/SERVER ADD -auto -ircnet freenode fake.freenode 6667 freenodepass
</pre>

<p>Здесь при помощи команды <code>/IRCNET ADD</code> вы задаете имена пользователей
и пароли при помощи <code>/SERVER ADD</code>.</p>

<p><strong>Irssi proxy</strong></p>

<p>Irssi включает свою собственную проксю, которую вы можете собрать при помощи опции configure 
<code>--with-proxy</code>. Чтобы её использовать вы должны оставлять irssi запущенным.</p>

<p>Irssi-прокся немного отличается от остальных прокси-серверов, нормальные прокси создают новые соединения с IRC-сервером когда вы хотите к нему подключиться, а
<strong>irssi-прокся использует уже существующее соединение(я) для всех клиентов</strong>. Или ещё понятнее: <strong>Вы можете использовать только одно соединение с IRC-сервером для неограниченного числа клиентов</strong>.</p>

<p>Irssi-прокся может распределять несколько соединений с серверами на разные порты, например на 2777-ом порту у вас может быть соединение с ircnet, а на 2778 с efnet.</p>

<p>Использование на стороне прокси:</p>

<pre>
/LOAD proxy
/SET irssiproxy_password &lt;пароль&gt;
/SET irssiproxy_ports &lt;IRC_сеть&gt;=&lt;порт&gt; ... (например ircnet=2777 efnet=2778)
</pre>
<p>Вы <strong>должны</strong> добавить все серверы, которые вы используете в списки серверов и сетей 
при помощи команд <code>/SERVER ADD</code> и 
<code>/IRCNET ADD</code>. ..разве что если вы хотите использовать только одно соединение, то вы можете указать:</p>

<pre>
/SET irssiproxy_ports *=2777
</pre>

<p>Использование на стороне клиента:</p>

<p>Просто подключитесь к проксе как к нормальному серверу с паролем, заданным командой <code>/SET irssiproxy_password</code>. Пример:</p>

<pre>
/SERVER ADD -ircnet ircnet my.irssi-proxy.org 2777 secret
/SERVER ADD -ircnet efnet my.irssi-proxy.org 2778 secret
</pre>

<p>Irssi-прокся так-же нормально работает с другими irc-клиентами.</p>

<p><strong>SOCKS</strong></p>

Irssi может быть собран с поддержкой socks-прокси (опция configure <code>--with-socks</code>), 
но я на самом деле не знаю как оно работает. Настройки <code>/SET
proxy</code> на эти прокси никак не действуют.

<p><strong>Другие прокси</strong></p>

<p>IRC-боунсеры обычно работают точно так-же как и IRC-серверы, но просят пароль. Вы можете дать им его при помощи следующей команды:</p>

<pre>
/SET proxy_password &lt;пароль&gt;
</pre>

<p>CONNECT-строки по умолчанию:</p>

<pre>
/SET proxy_string CONNECT %s %d
/SET proxy_string_after
</pre>

<p>proxy_string отправляются перед командами NICK/USER, а 
proxy_string_after отправляется после них. %s and %d can be used with both
of them.</p>

<h3><a id="c11">11. Настройки Irssi</a></h3>

<p>Вам могут не понравится настройки Irssi по умолчанию.
Вот некоторые из них, которые вы скорее всего захотите изменить(в примерах приведены "умолчальные" значения):</p>

<p><strong>Окна приватов</strong></p>

<dl>
<dt>/SET autocreate_own_query ON</dt>
  <dd>Автоматически создавать окно привата когда вы отправляете кому-то сообщение при помощи команды <code>/MSG</code>.</dd>

<dt>/SET autocreate_query_level MSGS</dt>
  <dd>При получении сообщений окно привата создается с этим уровнем сообщений. Сейчас работают только MSGS, DCCMSGS и NOTICES.
   Вы можете отменить это при помощи команды <code>/SET -clear autocreate_query_level</code>.</dd>

<dt>/SET autoclose_query 0</dt>
  <dd>Окна приватов могут быть автоматически закрыты после заданного "простоя". Активное окно и окна с непрочитанными сообщениями не закрываются. Значение задается в секундах.</dd>
</dl>

<p><strong>Окна</strong></p>

<dl>
<dt>/SET use_msgs_window OFF</dt>
  <dd>Создавать окно сообщений при запуске. Все приватные сообщения будут направляться в это окно. 
  Это имеет смысл только если вы отменили автосоздание окон приватов. 
  Это окно так-же может быть создано вручную при помощи команды /WINDOW LEVEL
  MSGS, /WINDOW NAME (msgs).</dd>

<dt>/SET use_status_window ON</dt>
  <dd>Создавать окно статуса при запуске. Все сообщения, которые больше некуда отправить идут сюда, включая /WHOIS и.т.д. 
  Окно статуса тоже может быть создано вручную при помощи команд <code>/WINDOW LEVEL ALL -MSGS</code>,
  <code>/WINDOW NAME (status)</code>.</dd>

<dt>/SET autocreate_windows ON</dt>
  <dd>Если вы это отключите, то все сообщения будут помещаться в одно окно</dd>

<dt>/SET autoclose_windows ON</dt>
  <dd>Автозакрытие окон (например при выходе с каналов(<code>/PART</code>)).</dd>

<dt>/SET reuse_unused_windows OFF</dt>
  <dd>Когда ищется место для создания нового окна (канала или привата) Irssi 
  сначала пытается использовать уже существующие пустые окна. Если эта опция включена, то всегда будут создаваться новые окна. 
  Эта настройка игнорируется если autoclose_windows включен.</dd>

<dt>/SET window_auto_change OFF</dt>
  <dd>Автоматически переключаться в автоматически созданные окна.</dd>

<dt>/SET print_active_channel OFF</dt>
  <dd>Когда вы держите в одном окне больше чем один канал, Irssi выводит сообщения, приходящие на активный канал в форме <code>&lt;ник&gt; текст</code>
  а те, что приходят на другие каналы так: <code>&lt;ник:канал&gt; текст</code>. Если эта опция включена, то сообщения, приходящие на активный канал будут так-же выводиться во втором варианте.</dd>

<dt>/SET window_history OFF</dt>
  <dd>Хранить отдельную историю команд для каждого окна.</dd>
</dl>


<p><strong>Информация о пользователе</strong></p>

<dl>
<dt>/SET nick</dt>
  <dd>Ваш ник</dd>

<dt>/SET alternate_nick</dt>
  <dd>Ваш альтернативный ник.</dd>

<dt>/SET user_name</dt>
  <dd>Ваше имя пользователя. Если у вас включен ident, то оно ничего не даёт.</dd>

<dt>/SET real_name</dt>
  <dd>Ваше настоящее имя.</dd>
</dl>


<p><strong>Информация о сервере</strong></p>

<dl>
<dt>/SET skip_motd OFF</dt>
  <dd>Пропускать motd при подключении к серверу.</dd>

<dt>/SET server_reconnect_time 300</dt>
  <dd>Сколько секунд надо ждать перед повторной попыткой подключения к серверу.</dd>

<dt>/SET lag_max_before_disconnect 300</dt>
  <dd>При каком лаге(в секундах) надо отключаться от сервера и предпринимать попытку переподключения.</dd>
</dl>


<p><strong>Внешний вид</strong></p>

<dl>
<dt>/SET timestamps ON</dt>
  <dd>Показывать время перед каждым сообщением.</dd>

<dt>/SET hide_text_style OFF</dt>
  <dd>Скрыть оформление текста(жирный шрифт, цвета и.т.д.).</dd>

<dt>/SET show_nickmode ON</dt>
  <dd>Показывать "режим ника" на каналах, например
  <code>&lt;@nick&gt;</code> у опов, <code>&lt;+nick&gt;</code> у войсов и.т.д.</dd>

<dt>/SET show_nickmode_empty ON</dt>
  <dd>Если у ника нет режима - выводить пробел на месте "символа режима".</dd>

<dt>/SET show_quit_once OFF</dt>
  <dd>Показывать quit-сообщение только в одном окне, если человек вышел с нескольких каналов, на которых вы сидите.</dd>

<dt>/SET lag_min_show 100</dt>
  <dd>Показывать в статус-баре лаг если он превышает заданное число юнитов. В одной секунде 100 юнитов.</dd>

<dt>/SET indent 10</dt>
  <dd>Если строка, которую надо вывести не вмещается в одну строку, то она разбивается и выводится на следующих строках. Этот параметр показывает сколько места надо отступить перед началом вывода текста на следующих строках. 
  Это может быть переопределено в настройках форматирования текста при помощи формата <code>%|</code>.</dd>

<dt>/SET activity_hide_targets</dt>
  <dd>Если вы не хотите видеть активность на каких-то каналах или приватах, то перечислите их здесь. Например <code>#boringchannel =bot1
  =bot2</code>. Эта настройка игнорируется если встречается текст или сообщение, для которого вы настроили подсветку(highlight).</dd>
</dl>

<p><strong>Автодополнение ников</strong></p>

<dl>
<dt>/SET completion_auto OFF</dt>
  <dd>Автоматически дополнять ник если строка начинается с первых букв ника и "символа автодополнения". 
  Лучше всего использовать автодополнение табом.</dd>

<dt>/SET completion_char :</dt>
  <dd>"Символ автодополнения".</dd>
</dl>

<h3><a id="c12">12. Панель статуса</a></h3>

<p>Команда <code>/STATUSBAR</code> выводит список панелей статуса:</p>

<pre>
Name                           Type   Placement Position Visible
window                         window bottom    0        always
window_inact                   window bottom    1        inactive
prompt                         root   bottom    100      always
topic                          root   top       1        always
</pre>

<p><code>/STATUSBAR &lt;имя&gt;</code> выводит настройки панели статуса и её компоненты. 
<code>/STATUSBAR &lt;имя&gt; ENABLE|DISABLE</code>
включает или отключает панель. <code>/STATUSBAR &lt;имя&gt; RESET</code>
устанавливает для панели статуса настройки по умолчанию, или если она была создана вами, то удаляет её.</p>

<p>Панель может иметь два типа: windows и root - это подразумевает, что она может быть видна для всех окон или только для одного. 
Placement - это расположение панели: top - сверху, bottom - снизу. 
Position - это число, чем больше значение которого, тем ниже на экране располагается панель. 
Параметр Visible может принимать 3 значения: always, active и inactive. Режимы active/inactive полезны только для разделенных окон. 
Эти настройки могут быть изменены следующими командами:</p>

<pre>
/STATUSBAR &lt;имя&gt; TYPE window|root
/STATUSBAR &lt;имя&gt; PLACEMENT top|bottom
/STATUSBAR &lt;имя&gt; POSITION &lt;num&gt;
/STATUSBAR &lt;имя&gt; VISIBLE always|active|inactive
</pre>

<p>Когда вы загружаете новые скрипты для панелей статуса вам скорее всего придется выбрать где вы хотите их расположить. 
Компоненты панелей могут быть изменены следующими командами:</p>

<pre>
/STATUSBAR &lt;имя&gt; ADD [-before | -after &lt;item&gt;] [-priority #] [-alignment left|right] &lt;компонента(item)&gt;
/STATUSBAR &lt;имя&gt; REMOVE &lt;компонента(item)&gt;
</pre>

<p>Обычно для имя компоненты в скрипте для панели соответствует имени скрипта. 
Об этом должно быть написано в документации к скрипту. Так что чтобы добавить скрипт mail.pl 
перед списком активных окон (смотрите 
<code>/STATUSBAR</code>), введите эту команду: <code>/STATUSBAR window ADD -before
act mail</code>.</p>