[[command_weechat_away]]
[command]*`away`* 離席状態の切り替え::

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

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

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

----
/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: 全てのバーをリストアップ
     listfull: 全てのバーをリストアップ (詳細)
    listitems: 全てのバーアイテムをリストアップ
          add: 新しいバーを追加
         name: バーの名称 (ユニークな)
         type:   root: 外側のウィンドウ、
               window: 内側のウィンドウ、任意の状態を取れる (以下を参照)
    condition: バーの表示状態 (タイプが "window" のバー以外は無効):
                 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]]
[command]*`buffer`* バッファの管理::

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

    list: バッファをリストアップ (引数無しの場合、このリストが表示されます)
   clear: バッファの内容を削除 (number はバッファ番号、マージバッファに対しては -merged、全てのバッファに対しては -all、何も無ければ現在のバッファ)
    move: リストにバッファを移動 (相対指定も可能、例えば -1); "-" = 最初のバッファ番号に移動、"+" = 最後のバッファ番号 + 1 に移動
    swap: 2 つのバッファを入れ替え (現在のバッファと引数で与えた番号/名称で指定されるバッファを入れ替える)
   merge: 現在のバッファを他のバッファにマージ (2 つのバッファのチャットエリアが一緒になります)
          (デフォルトでは ctrl-x でマージバッファの切り替え)
 unmerge: 同じ番号を持つ他のバッファとのマージを解除
    hide: バッファを隠す
  unhide: バッファを隠すことを止める
renumber: バッファを記憶 (weechat.look.buffer_auto_renumber オプションがオフの場合にのみ有効)
   close: バッファを閉じる (番号/範囲または名前は任意)
  notify: 現在のバッファの通知レベルを設定: このレベルでバッファがホットリストに追加されるかどうかを定義します:
               none: 通知しない
          highlight: ハイライトがあった場合のみ通知
            message: ユーザからのメッセージとハイライトがあった場合に通知
                all: 全てのメッセージを通知
              reset: デフォルトの値 (all) にリセット
localvar: 現在のバッファのローカル変数を表示
     set: 現在のバッファのプロパティを設定
     get: 現在のバッファのプロパティを表示
  number: 番号でバッファ移動、可能なプレフィックス:
          '+': 相対移動、現在の番号に数を足す
          '-': 相対移動、現在の番号から数を引く
          '*': 番号に移動、オプション "weechat.look.jump_current_to_previous_buffer" が使われる
       -: 最初のバッファ番号に移動
       +: 最後のバッファ番号に移動
    name: バッファ名 (一部) でバッファに移動

例:
  現在のバッファの内容を消去:
    /buffer clear
  バッファを 5 番に移動:
    /buffer move 5
  バッファ 1 番と 3 番を入れ替え:
    /buffer swap 1 3
  現在のバッファと #weechat バッファを入れ替え:
    /buffer swap #weechat
  コアバッファとマージ:
    /buffer merge 1
  バッファマージの解除:
    /buffer unmerge
  現在のバッファを閉じる:
    /buffer close
  バッファ番号 5 から 7 を閉じる:
    /buffer close 5-7
  #weechat バッファに移動:
    /buffer #weechat
  次のバッファに移動:
    /buffer +1
  最後のバッファ番号に移動:
    /buffer +
----

[[command_weechat_color]]
[command]*`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]*`command`* WeeChat かプラグインのコマンドを起動::

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

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

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

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

  go: チャットエリア、バー (バーの名前を使った場合)、座標 "x,y" にカーソルを移動
move: 方向を指定してカーソルを移動
stop: カーソルモードを終了

引数が無ければ、カーソルモードを切り替えます。

マウスが有効化されていた場合 (/help mouse を参照)、現在のところデフォルトではセンタークリックでカーソルモードが開始されます。

例:
  ニックネームリストに移動:
    /cursor go nicklist
  x=10、y=5 の位置に移動:
    /cursor go 10,5
----

[[command_weechat_debug]]
[command]*`debug`* core やプラグインのデバッグ管理::

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

     list: デバッグレベルの設定されたプラグインをリストアップ
      set: プラグインのデバッグレベルを設定
   plugin: プラグインの名前 ("core" は WeeChat コアを意味する)
    level: プラグインのデバッグレベル (0 はデバッグの無効化)
     dump: WeeChat ログファイルにメモリダンプを保存 (WeeChat がクラッシュした場合と同じダンプが書き込まれます)
   buffer: ログファイルに 16 進値でバッファの内容をダンプ
    color: 現在の色ペアに関する情報を表示
   cursor: カーソルモードのデバッグを切り替え
     dirs: ディレクトリを表示
    hdata: hdata に関する情報を表示 (free を付ければ: メモリから全ての hdata を削除)
    hooks: フックに関する情報を表示
infolists: infolist に関する情報を表示
     libs: 使用中の外部ライブラリに関する情報を表示
   memory: メモリ使用量に関する情報を表示
    mouse: マウスのデバックを切り替え
     tags: 行のタグを表示
     term: ターミナルに関する情報を表示
  windows: ウィンドウツリーの情報を表示
----

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

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

        -n: 結果をバッファに送信せずに表示 (デバッグモード)
        -c: 条件として評価: 演算子と括弧をを使い、ブール値 ("0" または "1") を返します
expression: 評価する式、フォーマット、${variable} 型のフォーマットの変数は置換されます (以下を参照); 複数のコマンドを指定する場合はセミコロンで区切ってください
  operator: 論理演算子や比較演算子:
            - 論理演算子:
                &&  ブール演算の "and"
                ||  ブール演算の "or"
            - 比較演算子:
                ==  等しい
                !=  等しくない
                <=  以下
                <   より少ない
                >=  以上
                >   より大きい
                =~  正規表現にマッチ
                !~  正規表現にマッチしない

式が NULL でない場合、空でない場合、"0" でない場合、式は "真" と評価されます。
両方の式が有効な整数である場合、比較は整数を使って行われます。
文字列比較を強制するには、それぞれの式をダブルクォートで囲みます、例:
  50 > 100      ==> 0
  "50" > "100"  ==> 1

式中の ${variable} 型のフォーマットの変数は置換されます。変数は以下の優先順位に従います:
  1. エスケープ文字を含む文字列 (フォーマット: "esc:xxx" または "\xxx")
  2. 色 (フォーマット: "color:xxx")
  3. 情報 (フォーマット: "info:name,arguments"、arguments は任意)
  4. オプション (フォーマット: "file.section.option")
  5. バッファのローカル変数
  6. hdata の名前/変数 (値は自動的に文字列に変換されます)、デフォルトでは "window" と "buffer" は現在のウィンドウ/バッファを指します。
hdata のフォーマットは以下の 1 つです:
  hdata.var1.var2...: hdata (ポインタは既知) で始まり、1 個ずつ変数を続ける (他の hdata を続けることも可能)
  hdata(list).var1.var2...: リストを使って hdata を始める、例:
    ${buffer[gui_buffers].full_name}: バッファリストにリンクされた最初のバッファのフルネーム
    ${plugin[weechat_plugins].name}: プラグインリストにリンクされた最初のプラグインの名前
hdata と変数の名前については、"プラグイン API リファレンス" の "weechat_hdata_get" 関数を参照してください。

例 (単純な文字列):
  /eval -n ${info:version}                 ==> 0.4.3
  /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 ${\t}                           ==> <tab>

例 (条件):
  /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
----

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

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

   list: 全てのフィルタをリストアップ
 enable: フィルタを有効化 (フィルタはデフォルトで有効になっています)
disable: フィルタを無効化
 toggle: フィルタの有効無効を切り替え
   name: フィルタの名前 ("@" = 現在のバッファに設定されている全てのフィルタを有効化/無効化)
    add: フィルタを追加
 rename: フィルタをリネーム
    del: フィルタを削除
   -all: 全てのフィルタを削除
 buffer: フィルタが有効化されているバッファのコンマ区切りリスト:
         - これはプラグイン名を含む完全な名前です (例えば: "irc.freenode.#weechat")
         - "*" は全てのバッファを意味します
         - 名前が '!' から始まるものは除外されます
         - ワイルドカード '*' を使うことができます
   tags: タグのコンマ区切りリスト、例えば "irc_join,irc_part,irc_quit"
         - 論理積 "and": タグ同士を "+" でつなげてください (例えば: "nick_toto+irc_action")
         - ワイルドカード '*' を使うことができます
         - タグを '!' で始めると、そのタグが付けられたメッセージとそのタグを含むメッセージはフィルタされません
  regex: 行単位検索の正規表現
         - '\t' を使うと、プレフィックスをメッセージから分離できます。'|' 等の特別な文字は '\|' のようにエスケープしなければいけません
         - 正規表現の最初に '!' が含まれる場合は、マッチ結果が反転されます (最初の '!' にマッチさせたければ、'\!' を使ってください)
         - 2 種類の正規表現があります: 一方はプレフィックス用、他方はメッセージ用
         - 正規表現は大文字小文字を区別しません、"(?-i)" から始まる場合は区別します

デフォルトではキー alt+'=' でフィルタリングの on/off を切り替えられます。

よく使われるタグ:
  no_filter、no_highlight、no_log、log0..log9 (ログレベル)、
  notify_none、notify_message、notify_private、notify_highlight、
  nick_xxx (xxx はメッセージのニックネーム部分)、prefix_nick_ccc (ccc はニックネームの色)、
  host_xxx (xxx はメッセージのユーザ名 + ホスト名部分)、
  irc_xxx (xxx はコマンド名又は番号、/server raw または /debug tags で確認)、
  irc_numeric、irc_error、irc_action、irc_ctcp、irc_ctcp_reply、irc_smart_filter、away_info。
バッファ内でタグを見るには: /debug tags

例:
  全てのバッファで IRC スマートフィルタを使用:
    /filter add irc_smart * irc_smart_filter *
  名前に "#weechat" を含むバッファを除いた全てのバッファで IRC スマートフィルタを使用:
    /filter add irc_smart *,!*#weechat* irc_smart_filter *
  全ての IRC join/part/quit メッセージをフィルタ:
    /filter add joinquit * irc_join,irc_part,irc_quit *
  チャンネルに入った時や /names で表示されるニックネームをフィルタ:
    /filter add nicks * irc_366 *
  IRC チャンネル #weechat で "toto" を含むニックネームをフィルタ:
    /filter add toto irc.freenode.#weechat nick_toto *
  ニックネーム "toto" からの IRC の参加/アクションメッセージをフィルタ:
    /filter add toto * nick_toto+irc_join,nick_toto+irc_action *
  IRC チャンネル #weechat で "weechat sucks" を含む行をフィルタ:
    /filter add sucks irc.freenode.#weechat * weechat sucks
----

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

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

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

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

----
/history  clear
          <value>

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

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

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

アクションリスト:
  return: "enter" キーをシミュレート
  complete_next: 次の補完候補で単語を補完
  complete_previous: 一つ前の補完候補で単語を補完
  search_text: バッファ内のテキストを検索
  search_switch_case: 完全一致検索に変更
  search_switch_regex: 検索タイプの切り替え: 文字列/正規表現
  search_switch_where: 検索範囲の切り替え: メッセージ/プレフィックス
  search_previous: 一つ前の行を検索
  search_next: 次の行を検索
  search_stop: 検索を終了
  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: 2 つの文字を入れ替え
  undo: 最新のコマンドラインアクションまで元に戻す
  redo: 最新のコマンドラインアクションまでやり直す
  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_displayed: 表示されている最後のバッファに移動 (最新のバッファ移動の一つ前に表示されていたバッファ)
  jump_previously_visited_buffer: 一つ前に訪れたバッファに移動
  jump_next_visited_buffer: 次に訪れたバッファに移動
  hotlist_clear: ホットリストを消去
  grab_key: キーを横取り (任意引数: 最後の横取りからの遅延時間、デフォルトは 500 ミリ秒)
  grab_key_command: あるコマンドに関連してキーを横取り (任意引数: 最後の横取りからの遅延時間、デフォルトは 500 ミリ秒)
  grab_mouse: grab マウスイベントコードを横取り
  grab_mouse_area: 範囲指定のマウスイベントコードを横取り
  set_unread: 全てのバッファに対して未読マーカーを設定
  set_unread_current_buffer: 現在のバッファに対して未読マーカーを設定
  switch_active_buffer: 次のマージされたバッファに移動
  switch_active_buffer_previous: 一つ前のマージされたバッファに移動
  zoom_merged_buffer: マージされたバッファにズーム
  insert: コマンドラインにテキストを挿入 (エスケープ文字も可、/help print を参照)
  send: バッファにテキストを送信
  paste_start: ペーストの開始 (括弧付きペーストモード)
  paste_stop: ペーストの終了 (括弧付きペーストモード)

これらのコマンドはキーバインドかプラグインで利用できます。
----

[[command_weechat_key]]
[command]*`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-x キーをニックネームリストバーに割り当てる:
    /key bind meta-x /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]]
[command]*`layout`* バッファ/ウィンドウレイアウトの管理::

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

  store: レイアウトに現在のバッファ/ウィンドウを保存
  apply: 保存されたレイアウトを適用
  leave: 現在のレイアウトを保持する (レイアウトを更新しない)
    del: レイアウトとして保存されているバッファとウィンドウを削除
         (名前の後に "バッファ" や "ウィンドウ" を指定しない場合、レイアウトを削除)
 rename: レイアウトのリネーム
   name: 保存されたレイアウトの名前 (初期状態は "default")
buffers: バッファのみに対してレイアウトを保存/適用 (バッファの順番)
windows: ウィンドウのみに対してレイアウトを保存/適用 (それぞれのウィンドウに表示されるバッファ)

引数無しでは、保存されたレイアウトを表示します。
----

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

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

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

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

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

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

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

   -core: WeeChat コアバッファへの出力を抑制
-current: 現在のバッファへの出力を抑制
 -buffer: 指定したバッファへの出力を抑制
    name: 完全なバッファの名前 (例: "irc.server.freenode"、"irc.freenode.#weechat")
 command: 静かに実行するコマンド (最初に '/' が無い場合は自動的に追加されます)

ターゲット (-core、-current、-buffer) が指定されなかった場合、デフォルトでは全ての出力を抑制します。

例:
  save を行う:
    /mute save
  現在の IRC チャンネルへのメッセージ:
    /mute -current msg * hi!
  #weechat チャンネルへのメッセージ:
    /mute -buffer irc.freenode.#weechat msg #weechat hi!
----

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

----
/plugin  list|listfull [<name>]
         load <filename> [<arguments>]
         autoload [<arguments>]
         reload [<name> [<arguments>]]
         unload [<name>]

     list: ロードされたプラグインをリストアップ
 listfull: ロードされたプラグインをリストアップ (詳細)
     load: プラグインをロード
 autoload: システムかユーザディレクトリ指定の自動ロードプラグインをロード
   reload: プラグインを再ロード (名前が指定されない場合は、全てのプラグインをアンロードし、プラグインを自動ロード)
   unload: プラグインのアンロード (名前が指定されない場合は、全てのプラグインをアンロード)
 filename: ロードするプラグイン (ファイル)
     name: プラグイン名
arguments: ロードするプラグインに与える引数

引数無しでは、ロードされたプラグインをリストアップ。
----

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

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

 -buffer: 指定したバッファにテキストを表示 (デフォルト: コマンドを実行したバッファ)
   -core: "-buffer core.weechat" のエイリアス
-current: 現在のバッファにテキストを表示
 -escape: エスケープ文字を解釈 (例えば \a、\07、\x07)
   -date: メッセージの日付、フォーマット:
            -n: 今から 'n' 秒前
            +n: 今から 'n' 秒後
             n: エポックから 'n' 秒目 (man time を参照)
            日付/時間 (ISO 8601): yyyy-mm-ddThh:mm:ss、例: 2014-01-19T04:32:55
           時間: hh:mm:ss (example: 04:32:55)
   -tags: タグのコンマ区切りリスト (よく使うタグのリストは /help filter を参照)
    text: 表示するテキスト (プレフィックスとメッセージは必ず \t で区切ってください、"-" で始まるテキストは "\" を前置してください)
 -stdout: 標準出力にテキストを表示 (エスケープ文字を解釈)
 -stderr: 標準エラー出力にテキストを表示 (エスケープ文字を解釈)
   -beep: "-stderr \a" の別名

オプション -action ... -quit をつけた場合、プレフィックスは "weechat.look.prefix_*" で定義されているものになります。

以下のエスケープ文字を使うことができます:
  \" \\ \a \b \e \f \n \r \t \v \0ooo \xhh \uhhhh \Uhhhhhhhh

例:
  コアバッファにハイライトを付けてリマインダを表示:
    /print -core -tags notify_highlight Reminder: buy milk
  コアバッファにエラーを表示:
    /print -core -error Some error here
  コアバッファにプレフィックス "abc" を付けてメッセージを表示:
    /print -core abc	The message
  チャンネル #weechat にメッセージを表示:
    /print -buffer irc.freenode.#weechat Message on #weechat
  雪だるまを表示 (U+2603):
    /print -escape \u2603
  警告を送信 (BEL):
    /print -beep
----

[[command_weechat_proxy]]
[command]*`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]]
[command]*`quit`* WeeChat の終了::

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

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

[[command_weechat_reload]]
[command]*`reload`* ディスクから設定ファイルを再読み込み::

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

file: 再読み込みする設定ファイル (拡張子 ".conf" は不要)

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

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

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

  delay: コマンドの実行間隔 (ミリ秒単位)
  count: コマンドの実行回数
command: 実行するコマンド (最初に '/' が無い場合は自動的に追加されます)

全てのコマンドはこのコマンドが発行されたバッファで実行されます。

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

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

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

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

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

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

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

passphrase: パスフレーズを変更 (パスフレーズがない場合、sec.conf ファイルに平文でデータを保存します)
   -delete: パスフレーズを削除
   decrypt: 暗号化されているデータを復号化 (起動時にパスフレーズが設定されていない場合に起きます)
  -discard: 全ての暗号化データを破棄
       set: 保護データを追加または変更
       del: 保護データを削除

引数がない場合、新しいバッファに保護データを表示します。

パスフレーズを利用する場合 (データが暗号化されている場合)、WeeChat は起動時にパスフレーズを尋ねます。
環境変数 "WEECHAT_PASSPHRASE" を利用すれば入力を回避できます (WeeChat は /upgrade の時に同じ変数を利用します)。

${sec.data.xxx} の形でフォーマットされた保護データは以下の様に利用できます:
  - コマンドライン引数 "--run-command"
  - weechat.startup.command_{before|after}_plugins オプション
  - プロキシオプション: username、password
  - irc サーバオプション: autojoin、command、password、sasl_{username|password}、username、realname
  - relay.network.password オプション
  - /eval コマンド。

例:
  パスフレーズを設定:
    /secure passphrase this is my passphrase
  freenode の SASL パスワードを暗号化:
    /secure set freenode mypassword
    /set irc.server.freenode.sasl_password "${sec.data.freenode}"
  oftc の nickserv 用パスワードを暗号化:
    /secure set oftc mypassword
    /set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
  ニックネーム "mynick" を取り戻すためのエイリアス ghost を設定
    /alias ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}
----

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

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

option: オプションの名前 (ワイルドカード '*' を使うことができます)
 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]]
[command]*`unset`* オプションのアンセット/リセット::

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

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

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

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

[[command_weechat_upgrade]]
[command]*`upgrade`* サーバとの接続を維持して WeeChat をアップグレード::

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

path_to_binary: WeeChat バイナリへのパス (デフォルトは現在のバイナリ)
        -dummy: 何もしない (補完された "-quit" オプションを不用意に使わないためのオプション)
         -quit: *すべての*接続を閉じ、セッションを保存して WeeChat を終了。遅延復帰 (詳しくは後述) が可能になります。

このコマンドは起動中の WeeChat セッションのアップグレードと再読み込みを行います。このコマンドを実行する前に、新しい WeeChat バイナリをコンパイルするか、パッケージマネージャでインストールしなければいけません。

注意: SSL 接続はアップグレード中に破棄されます、これは今のところ GnuTLS では SSL セッションのリロードができないからです。アップグレードの後に自動的に再接続されます。

アップグレードは 4 つの手順を踏みます:
  1. コアとプラグイン (バッファ、履歴、...) のセッションをファイルに保存
  2. 全てのプラグインをアンロード (設定ファイル (*.conf) はディスクに書き込まれます)
  3. WeeChat 設定を保存 (weechat.conf)
  4. 新しい WeeChat バイナリを実行してセッションをリロード。<

オプション "-quit" を使うと、上の挙動が少し変わります:
  1. *すべての*接続を閉じる (irc、xfer、relay、...)
  2. すべてのセッションをファイルに保存 (*.upgrade)
  3. すべてのプラグインをアンロード
  4. WeeChat 設定を保存
  5. WeeChat を終了
この後、セッションを回復させるには weechat --upgrade を使ってください。
重要: 完全に同一の設定で (*.conf ファイルで) セッションを回復させてください。
"~/.weechat" ディレクトリの内容をコピーすれば異なるマシンで WeeChat のセッションを回復することも可能です。
----

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

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

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

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

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

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

[[command_weechat_wait]]
[command]*`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]]
[command]*`window`* ウィンドウの操作::

----
/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>]
         bare [<delay>]

         list: 開けられたウィンドウのリストアップ (引数無しの場合、このリストが表示されます)
           -1: 前のウィンドウに移動
           +1: 次のウィンドウに移動
           b#: バッファ番号 # のウィンドウに移動
           up: 現在のウィンドウの上のウィンドウに移動
         down: 現在のウィンドウの下のウィンドウに移動
         left: 左のウィンドウに移動
        right: 右のウィンドウに移動
       number: ウィンドウ番号 (/window list を参照)
       splith: 現在のウィンドウを水平分割
       splitv: 現在のウィンドウを垂直分割
       resize: ウィンドウサイズの変更、新しいサイズは親ウィンドウの <pct> パーセントで指定
      balance: 全てのウィンドウのサイズを均等にする
        merge: ウィンドウを他のものをマージする (all = 一つのウィンドウにまとめる)
      page_up: 1 ページ分上方向にスクロール
    page_down: 1 ページ分下方向にスクロール
      refresh: スクリーンのリフレッシュ
       scroll: 指定行数 (+/-N) か指定期間 (s=秒、m=分、h=時間、d=日、M=月、y=年) スクロール
 scroll_horiz: 指定列数 (+/-N) かウィンドウサイズの割合で水平方向にスクロール (フリーコンテンツを含むバッファ以外は無効)
    scroll_up: 数行分上方向にスクロール
  scroll_down: 数行分下方向にスクロール
   scroll_top: バッファの一番上にスクロール
scroll_bottom: バッファの一番下にスクロール
scroll_beyond_end: バッファの末尾を越えてスクロール
scroll_previous_highlight: 一つ前のハイライトにスクロール
scroll_next_highlight: 次のハイライトにスクロール
scroll_unread: 未読マーカにスクロール
         swap: 2 つのウィンドウのバッファを入れ替え (ターゲットウィンドウの方向を任意指定)
         zoom: ウィンドウを拡大
         bare: 最小限表示を切り替える (自動的に標準表示モードに戻るまでの時間を秒単位で任意指定)

splith と splitv に関しては、pct は新しいウィンドウのパーセンテージで、現在のウィンドウサイズに対する割合で計算されます。例えば 25 は size = current_size / 4 の新しいウィンドウを作成します。

例:
  バッファ #1 を表示しているウィンドウに移動:
    /window b1
  2 行分上方向にスクロール:
    /window scroll -2
  2 日分上方向にスクロール:
    /window scroll -2d
  今日の最初にスクロール:
    /window scroll -d
  ウィンドウ #2 を拡大:
    /window zoom -window 2
  最小限表示を 2 秒間有効にする:
    /window bare 2
----

