summaryrefslogtreecommitdiff
path: root/doc/en/autogen/user/weechat_commands.txt
blob: bff3a5d0162bc444797ea593dabf935f2005c8ba (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
[[command_weechat_away]]
[command]*`away`* toggle away status::
........................................
/away  [-all] [<message>]

   -all: toggle away status on all connected servers
message: message for away (if no message is given, away status is removed)
........................................

[[command_weechat_bar]]
[command]*`bar`* manage bars::
........................................
/bar  list|listfull|listitems
      add <name> <type>[,<condition>] <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: list all bars
     listfull: list all bars (verbose)
    listitems: list all bar items
          add: add a new bar
         name: name of bar (must be unique)
         type:   root: outside windows,
               window: inside windows, with optional conditions (see below)
    condition: condition(s) for displaying bar (only for type "window"):
                 active: on active window
               inactive: on inactive windows
               nicklist: on windows with nicklist
               other condition: see /help weechat.bar.xxx.conditions and /help eval
               without condition, the bar is always displayed
     position: bottom, top, left or right
         size: size of bar (in chars)
    separator: 1 for using separator (line), 0 or nothing means no separator
    item1,...: items for this bar (items can be separated by comma (space between items) or "+" (glued items))
      default: create a default bar (all default bars if no bar name is given)
          del: delete a bar (or all bars with -all)
          set: set a value for a bar property
       option: option to change (for options list, look at /set weechat.bar.<barname>.*)
        value: new value for option
         hide: hide a bar
         show: show an hidden bar
       toggle: hide/show a bar
       scroll: scroll bar
       window: window number (use '*' for current window or for root bars)
 scroll_value: value for scroll: 'x' or 'y' (optional), followed by '+', '-', 'b' (beginning) or 'e' (end), value (for +/-), and optional % (to scroll by % of width/height, otherwise value is number of chars)

Examples:
  create a bar with time, buffer number + name, and completion:
    /bar add mybar root bottom 1 0 [time],buffer_number+:+buffer_name,completion
  hide a bar:
    /bar hide mybar
  scroll nicklist 10 lines down on current buffer:
    /bar scroll nicklist * y+10
  scroll to end of nicklist on current buffer:
    /bar scroll nicklist * ye
........................................

[[command_weechat_buffer]]
[command]*`buffer`* manage buffers::
........................................
/buffer  list
         clear [<number>|<name>|-merged|-all]
         move|merge <number>
         swap <number1>|<name1> [<number2>|<name2>]
         unmerge [<number>|-all]
         close [<n1>[-<n2>]|<name>]
         notify <level>
         localvar
         set <property> <value>
         get <property>
         <number>|<name>

    list: list buffers (without argument, this list is displayed)
   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)
    swap: swap two buffers (swap with current buffer if only one number/name given)
   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
   close: close buffer (number/range or name is optional)
  notify: 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)
localvar: display local variables for current buffer
     set: set a property for 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"
    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
  merge with core buffer:
    /buffer merge 1
  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
........................................

[[command_weechat_color]]
[command]*`color`* define color aliases and display palette of colors::
........................................
/color  alias <color> <name>
        unalias <color>
        reset
        -o

  alias: add an alias for a color
unalias: delete an alias
  color: color number (greater than or equal to 0, max depends on terminal, commonly 63 or 255)
   name: alias name for color (for example: "orange")
  reset: reset all color pairs (required when no more color pairs are available if automatic reset is disabled, see option weechat.look.color_pairs_auto_reset)
     -o: send terminal/colors info to current buffer as input

Without argument, this command displays colors in a new buffer.

Examples:
  add alias "orange" for color 214:
    /color alias 214 orange
  delete color 214:
    /color unalias 214
........................................

[[command_weechat_command]]
[command]*`command`* launch explicit WeeChat or plugin command::
........................................
/command  <plugin> <command>

 plugin: plugin name ('weechat' for WeeChat internal command)
command: command to execute (a '/' is automatically added if not found at beginning of command)
........................................

[[command_weechat_cursor]]
[command]*`cursor`* free movement of cursor on screen to execute actions on specific areas of screen::
........................................
/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.

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

[[command_weechat_debug]]
[command]*`debug`* control debug for core/plugins::
........................................
/debug  list
        set <plugin> <level>
        dump [<plugin>]
        buffer|color|infolists|memory|tags|term|windows
        mouse|cursor [verbose]
        hdata [free]

     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
   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
........................................

[[command_weechat_eval]]
[command]*`eval`* evaluate expression and send result to buffer::
........................................
/eval  [-n] <expression>
       [-n] <expression1> <operator> <expression2>

        -n: display result without sending it to buffer (debug mode)
expression: expression to evaluate, variables with format ${variable} are replaced (see below)
  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 regex
                !~  is NOT matching regex

An expression is considered as "true" if it is not NULL, not empty, and different from "0".
The comparison is made using integers if the two expressions are valid integers.
To force a string comparison, 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 name of an option (file.section.option)
  2. the name of a local variable in buffer
  3. 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, 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
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".

Examples:
  /eval -n ${weechat.look.scroll_amount}  ==> 3
  /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 ${window.buffer.number} > 2    ==> 0
  /eval -n ${window.win_width} > 100      ==> 1
  /eval -n (8 > 12) || (5 > 2)            ==> 1
  /eval -n (8 > 12) && (5 > 2)            ==> 0
  /eval -n abcd =~ ^ABC                   ==> 1
  /eval -n abcd =~ (?-i)^ABC              ==> 0
  /eval -n abcd =~ (?-i)^abc              ==> 1
  /eval -n abcd !~ abc                    ==> 0
........................................

[[command_weechat_filter]]
[command]*`filter`* filter messages in buffers, to hide/show them according to tags or regex::
........................................
/filter  list
         enable|disable|toggle [<name>]
         add <name> <buffer>[,<buffer>...] <tags> <regex>
         del <name>|-all

   list: list all filters
 enable: enable filters (filters are enabled by default)
disable: disable filters
 toggle: toggle filters
   name: filter name
    add: add a 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.freenode.#weechat")
         - "*" means all buffers
         - a name starting with '!' is excluded
         - name can start or end with '*' to match many buffers
   tags: comma separated list of tags, for example: "irc_join,irc_part,irc_quit"
  regex: 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.

Tags most commonly used:
  no_filter, no_highlight, no_log, log0..log9 (log level),
  notify_none, notify_message, notify_private, notify_highlight,
  nick_xxx (xxx is nick in message), prefix_nick_ccc (ccc is color of nick),
  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.freenode.#weechat nick_toto *
  filter lines containing "weechat sucks" on IRC channel #weechat:
    /filter add sucks irc.freenode.#weechat * weechat sucks
........................................

[[command_weechat_help]]
[command]*`help`* display help about commands and options::
........................................
/help  -list|-listfull [<plugin> [<plugin>...]]
       <command>
       <option>

    -list: list commands, by plugin (without argument, this list is displayed)
-listfull: list commands with description, by plugin
   plugin: list commands for this plugin
  command: a command name
   option: an option name (use /set to see list)
........................................

[[command_weechat_history]]
[command]*`history`* show buffer command history::
........................................
/history  clear
          <value>

clear: clear history
value: number of history entries to show
........................................

[[command_weechat_input]]
[command]*`input`* functions for command line::
........................................
/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: search text in buffer
  search_switch_case: switch exact case for search
  search_previous: search previous line
  search_next: search next line
  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 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: jump to last buffer
  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
  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
  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]]
[command]*`key`* bind/unbind keys::
........................................
/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: list all current keys (without argument, this list is displayed)
listdefault: list default keys
   listdiff: list differences between current and default keys (keys added, redefined or deleted)
    context: name of context ("default" or "search")
       bind: bind a command to a key or display command bound to key (for context "default")
   bindctxt: bind a command to a key or display command bound to key, for given context
    command: command (many commands can be separated by semicolons)
     unbind: remove a key binding (for context "default")
 unbindctxt: remove a key binding for given context
      reset: reset a key to default binding (for context "default")
  resetctxt: reset a key to default binding, for given context
   resetall: restore bindings to the default values and delete ALL personal bindings (use carefully!)
    missing: add missing keys (using default bindings), useful after installing new WeeChat version

When binding a command to a key, it is recommended to use key alt+k (or Esc then k), and then press the key to bind: this will insert key code in command line.

For context "mouse" (possible in context "cursor" too), key has format: "@area:key" or "@area1>area2:key" where area can be:
          *: any area on screen
       chat: chat area (any buffer)
  chat(xxx): char area for buffer with name "xxx" (full name including plugin)
     bar(*): any bar
   bar(xxx): bar "xxx"
    item(*): any bar item
  item(xxx): bar item "xxx"
The key can start or end with '*' to match many mouse events.
A special value for command with format "hsignal:name" can be used for context mouse, this will send the hsignal "name" with the focus hashtable as argument.
Another special value "-" can be used to disable key (it will be ignored when looking for keys).

Examples:
  key alt-x to toggle nicklist bar:
    /key bind meta-x /bar toggle nicklist
  key alt-r to jump to #weechat IRC channel:
    /key bind meta-r /buffer #weechat
  restore default binding for key alt-r:
    /key reset meta-r
  key "tab" to stop search in buffer:
    /key bindctxt search ctrl-I /input search_stop
  middle button of mouse on a nick to retrieve info on nick:
    /key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
........................................

[[command_weechat_layout]]
[command]*`layout`* save/apply/reset layout for buffers and windows::
........................................
/layout  save [<name>] [buffers|windows]
         apply [<name>] [buffers|windows]
         leave
         reset [<name>] [buffers|windows]
         rename <name> <new_name>

   save: save current layout
  apply: apply saved layout
  leave: leave current layout (does not update any layout)
  reset: reset buffers and/or windows in a saved layout
         (if both buffers and windows are reset, the layout is removed)
 rename: rename a layout
   name: name for saved layout (default is "default")
buffers: save/apply only buffers (order of buffers)
windows: save/apply only windows (buffer displayed by each window)

Without argument, this command displays saved layouts.
........................................

[[command_weechat_mouse]]
[command]*`mouse`* mouse control::
........................................
/mouse  enable|disable|toggle [<delay>]

 enable: enable mouse
disable: disable mouse
 toggle: toggle mouse
  delay: delay (in seconds) after which initial mouse state is restored (useful to temporarily disable mouse)

The mouse state is saved in option "weechat.look.mouse".

Examples:
  enable mouse:
    /mouse enable
  toggle mouse for 5 seconds:
    /mouse toggle 5
........................................

[[command_weechat_mute]]
[command]*`mute`* execute a command silently::
........................................
/mute  [-current | -buffer <name> | -all] command

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

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

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

[[command_weechat_plugin]]
[command]*`plugin`* list/load/unload plugins::
........................................
/plugin  list|listfull [<name>]
         load <filename> [<arguments>]
         autoload [<arguments>]
         reload [<name> [<arguments>]]
         unload [<name>]

     list: list loaded plugins
 listfull: list loaded plugins (verbose)
     load: load a plugin
 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)
 filename: plugin (file) to load
     name: a plugin name
arguments: arguments given to plugin on load

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

[[command_weechat_proxy]]
[command]*`proxy`* manage proxies::
........................................
/proxy  list
        add <name> <type> <address> <port> [<username> [<password>]]
        del <name>|-all
        set <name> <option> <value>

    list: list all proxies
     add: add a new proxy
    name: name of proxy (must be unique)
    type: http, socks4 or socks5
 address: IP or hostname
    port: port
username: username (optional)
password: password (optional)
     del: delete a proxy (or all proxies with -all)
     set: set a value for a proxy property
  option: option to change (for options list, look at /set weechat.proxy.<proxyname>.*)
   value: new value for option

Examples:
  create a http proxy, running on local host, port 8888:
    /proxy add local http 127.0.0.1 8888
  create a http proxy using IPv6 protocol:
    /proxy add local http ::1 8888
    /proxy set local ipv6 on
  create a socks5 proxy with username/password:
    /proxy add myproxy socks5 sample.host.org 3128 myuser mypass
  delete a proxy:
    /proxy del myproxy
........................................

[[command_weechat_quit]]
[command]*`quit`* quit WeeChat::
........................................
/quit  [-yes] [<arguments>]

     -yes: required if option weechat.look.confirm_quit is enabled
arguments: text sent with signal "quit"
           (for example irc plugin uses this text to send quit message to server)
........................................

[[command_weechat_reload]]
[command]*`reload`* reload configuration files from disk::
........................................
/reload  [<file> [<file>...]]

file: configuration file to reload (without extension ".conf")

Without argument, all files (WeeChat and plugins) are reloaded.
........................................

[[command_weechat_repeat]]
[command]*`repeat`* execute a command several times::
........................................
/repeat  [-interval <delay>] <count> <command>

  delay: delay between execution of commands (in milliseconds)
  count: number of times to execute command
command: command to execute (a '/' is automatically added if not found at beginning of command)

All commands are executed on buffer where this command was issued.

Example:
  scroll 2 pages up:
    /repeat 2 /window page_up
........................................

[[command_weechat_save]]
[command]*`save`* save configuration files to disk::
........................................
/save  [<file> [<file>...]]

file: configuration file to save (without extension ".conf")

Without argument, all files (WeeChat and plugins) are saved.
........................................

[[command_weechat_set]]
[command]*`set`* set config options::
........................................
/set  [<option> [<value>]]
      diff [<option> [<option>...]]

option: name of an option (can start or end with '*' to list many options)
 value: new value for option
  diff: display only changed options

New value can be, according to variable type:
  boolean: on, off or toggle
  integer: number, ++number or --number
   string: any string ("" for empty string)
    color: color name, ++number or --number

For all types, you can use null to remove option value (undefined value). This works only for some special plugin variables.

Examples:
  display options about highlight:
    /set *highlight*
  add a word to highlight:
    /set weechat.look.highlight "word"
  display changed options:
    /set diff
  display changed options in irc plugin:
    /set diff irc.*
........................................

[[command_weechat_unset]]
[command]*`unset`* unset/reset config options::
........................................
/unset  <option>

option: name of an option (may begin or end with "*" to mass-reset options, use carefully!)

According to option, it's reset (for standard options) or removed (for optional settings, like server values).

Examples:
  reset one option:
    /unset weechat.look.item_time_format
  reset all color options:
    /unset weechat.color.*
........................................

[[command_weechat_upgrade]]
[command]*`upgrade`* upgrade WeeChat without disconnecting from servers::
........................................
/upgrade  [<path_to_binary>|-quit]

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-curses --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 directory "~/.weechat".
........................................

[[command_weechat_uptime]]
[command]*`uptime`* show WeeChat uptime::
........................................
/uptime  [-o | -ol]

 -o: send uptime to current buffer as input (english string)
-ol: send uptime to current buffer as input (translated string)
........................................

[[command_weechat_version]]
[command]*`version`* show WeeChat version and compilation date::
........................................
/version  [-o | -ol]

 -o: send version to current buffer as input (english string)
-ol: send version to current buffer as input (translated string)
........................................

[[command_weechat_wait]]
[command]*`wait`* schedule a command execution in future::
........................................
/wait  <number>[<unit>] <command>

 number: amount of time to wait (integer number)
   unit: optional, values are:
           ms: milliseconds
            s: seconds (default)
            m: minutes
            h: hours
command: command to execute (or text to send to buffer if command does not start with '/')

Note: command is executed on buffer where /wait was executed (if buffer is not found (for example if it has been closed before execution of command), then command is executed on WeeChat core buffer).

Examples:
  join channel in 10 seconds:
    /wait 10 /join #test
  set away in 15 minutes:
    /wait 15m /away -all I'm away
  say 'hello' in 2 minutes:
    /wait 2m hello
........................................

[[command_weechat_window]]
[command]*`window`* manage windows::
........................................
/window  list
         -1|+1|b#|up|down|left|right [-window <number>]
         <number>
         splith|splitv [-window <number>] [<pct>]
         resize [-window <number>] [+/-]<pct>
         balance
         merge [-window <number>] [all]
         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>]

         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
       splitv: split current window vertically
       resize: resize window size, new size is <pct> percentage of parent window
      balance: balance the sizes of all windows
        merge: merge window with another (all = keep only one 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

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
........................................