&bull; *`/bar`* `[add barname type[,cond1,cond2,...] position size separator item1,item2,...] | [default] | [del barname|-all] | [set barname option value] | [hide|show|toggle barname] | [scroll barname buffer scroll_value] | [list] | [listfull] | [listitems]`::

........................................
  manage bars

            add: add a new bar
        barname: name of bar (must be unique)
           type:   root: outside windows),
                 window: inside windows, with optional conditions (see below)
      cond1,...: condition(s) for displaying bar (only for type "window"):
                   active: on active window
                 inactive: on inactive windows
                 nicklist: on windows with nicklist
                 without condition, bar is always displayed
       position: bottom, top, left or right
        filling: horizontal, vertical, columns_horizontal or columns_vertical
           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 default bars
            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 up/down
         buffer: name of buffer to scroll ('*' means current buffer, you should use '*' for root bars)
   scroll_value: value for scroll: 'x' or 'y', followed by '+', '-', 'b' (beginning) or 'e' (end), value (for +/-), and optional %% (to scroll by %% of width/height, otherwise value is number of chars)
           list: list all bars
       listfull: list all bars (verbose)
      listitems: list all bar items
  
  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 nicklist one page up on #weechat buffer:
      /bar scroll nicklist #weechat y-100%
    scroll to end of nicklist on current buffer:
      /bar scroll nicklist * ye
........................................

&bull; *`/buffer`* `[clear [number | -merged | -all] | move number | merge number | unmerge [number] | close [n1[-n2]] | list | notify level | localvar | set property value | number | name]`::

........................................
  manage buffers

     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)
     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 is optional)
      list: list buffers (no parameter implies this list)
    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
    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
       clear all buffers: /buffer clear -all
             move buffer: /buffer move 5
  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
........................................

&bull; *`/command`* `plugin command`::

........................................
  launch explicit WeeChat or 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)
........................................

&bull; *`/debug`* `[list | plugin level | dump | buffer | windows]`::

........................................
  control debug for core/plugins

   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
  windows: display windows tree
     text: send "debug" signal with "text" as argument
........................................

&bull; *`/filter`* `[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags regex] | [del name|-all]`::

........................................
  filter messages in buffers, to hide/show them according to tags or regex

           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
  plugin.buffer: plugin and buffer where filter is active ("*" for all 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: '\|')
  
  The default key alt+'=' toggles filtering on/off.
  
  Examples:
    use IRC smart filter for join/part/quit messages:
      /filter add irc_smart * irc_smart_filter *
    filter all IRC join/part/quit messages:
      /filter add joinquit * irc_join,irc_part,irc_quit *
    filter nick "toto" on IRC channel #weechat:
      /filter add toto irc.freenode.#weechat * toto\t
    filter lines containing word "spam":
      /filter add filterspam * * spam
    filter lines containing "weechat sucks" on IRC channel #weechat:
      /filter add sucks irc.freenode.#weechat * weechat sucks
........................................

&bull; *`/help`* `[command | option]`::

........................................
  display help about commands and options

  command: a command name
   option: an option name (use /set to see list)
........................................

&bull; *`/history`* `[clear | value]`::

........................................
  show buffer command history

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

&bull; *`/input`* `return | complete_next | complete_previous | search_next | delete_previous_char | delete_next_char | delete_previous_word | delete_next_word | delete_beginning_of_line | delete_end_of_line | delete_line | clipboard_paste | transpose_chars | move_beginning_of_line | move_end_of_line | move_previous_char | move_next_char | move_previous_word | move_next_word | history_previous | history_next | history_global_previous | history_global_next | jump_smart | jump_last_buffer | jump_previously_visited_buffer | jump_next_visited_buffer | hotlist_clear | grab_key | scroll_unread | set_unread | set_unread_current_buffer | insert [args]`::

........................................
  functions for command line

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

&bull; *`/key`* `[bind key [command [args]]] | [unbind key] | [reset -yes] | [missing]`::

........................................
  bind/unbind keys

     bind: bind a command to a key or display command bound to key
   unbind: remove a key binding
    reset: restore bindings to the default values and delete ALL personal bindings (use carefully!)
  missing: add missing keys (using default bindings)
  
  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.
........................................

&bull; *`/layout`* `[[save | apply | reset] [buffers | windows]]`::

........................................
  save/apply/reset layout for buffers and windows

     save: save current layout
    apply: apply saved layout
    reset: remove saved layout
  buffers: save/apply only buffers (order of buffers)
  windows: save/apply only windows (buffer displayed by each window)
  
  Without argument, this command displays saved layout.
........................................

&bull; *`/plugin`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload [name]] | [unload [name]]`::

........................................
  list/load/unload plugins

      list: list loaded plugins
  listfull: list loaded plugins (verbose)
      load: load a plugin
  autoload: autoload plugins in system or user directory
    reload: reload one plugin (if no name given, unload all plugins, then autoload plugins)
    unload: unload one or all plugins
  
  Without argument, this command lists loaded plugins.
........................................

&bull; *`/proxy`* `[add proxyname type address port [username [password]]] | [del proxyname|-all] | [set proxyname option value] | [list]`::

........................................
  manage proxies

            add: add a new proxy
      proxyname: 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
           list: list all proxies
  
  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 127.0.0.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
........................................

&bull; *`/quit`*::

........................................
  quit WeeChat
........................................

&bull; *`/reload`* `[file [file...]]`::

........................................
  reload configuration files from disk

  file: configuration file to reload
  
  Without argument, all files (WeeChat and plugins) are reloaded.
........................................

&bull; *`/save`* `[file [file...]]`::

........................................
  save configuration files to disk

  file: configuration file to save
  
  Without argument, all files (WeeChat and plugins) are saved.
........................................

&bull; *`/set`* `[option [value]]`::

........................................
  set config options

  option: name of an option
   value: new value for option
  
  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.
........................................

&bull; *`/unset`* `[option]`::

........................................
  unset/reset config options

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

&bull; *`/upgrade`* `[path_to_binary]`::

........................................
  upgrade WeeChat without disconnecting from servers

  path_to_binary: path to WeeChat binary (default is current binary)
  
  This command run again a WeeChat binary, so it should have been compiled or installed with a package manager before running this command.
........................................

&bull; *`/uptime`* `[-o]`::

........................................
  show WeeChat uptime

  -o: send uptime to current buffer as input
........................................

&bull; *`/version`* `[-o]`::

........................................
  show WeeChat version and compilation date

  -o: send version to current buffer as input
........................................

&bull; *`/wait`* `number[unit] command`::

........................................
  schedule a command execution in future

   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 sec: /wait 10 /join #test
    set away in 15 min:     /wait 15m /away -all I'm away
    say 'hello' in 2 min:   /wait 2m hello
........................................

&bull; *`/window`* `[list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv [pct] | resize pct | merge [all] | page_up | page_down | refresh | scroll | scroll_up | scroll_down | scroll_top | scroll_bottom | scroll_previous_highlight | scroll_next_highlight | zoom]`::

........................................
  manage windows

    list: list opened windows (no parameter implies this list)
             -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
         splith: split current window horizontally
         splitv: split current window vertically
         resize: resize window size, new size is <pct> percentage of parent window
          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 number of lines (+/-N) or with time: s=seconds, m=minutes, h=hours, d=days, M=months, y=years
      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_previous_highlight: scroll to previous highlight
  scroll_next_highlight: scroll to next highlight
           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
........................................

