= WeeChat ユーザーズガイド :author: Sébastien Helleu :email: flashcode@flashtux.org :lang: ja-jp :toc: left :toclevels: 4 :toc-title: 目次 :sectnums: :sectnumlevels: 3 :docinfo1: 翻訳者: * Ryuunosuke Ayanokouzi , 2012-2019 このマニュアルは WeeChat チャットクライアントについての文書で、これは WeeChat の一部です。 この文書の最新版は以下のページにあります: https://weechat.org/doc [[introduction]] == イントロダクション WeeChat (Wee Enhanced Environment for Chat) はフリーのチャットクライアントです。高速で軽量、多くのオペレーティングシステムで動くように設計されています。 [[features]] === 特徴 主な特徴: * マルチプロトコル (主に IRC) * 複数のサーバへの接続 (SSL、IPv6、プロキシをサポート) * コンパクト、高速、軽量 * プラグインとスクリプトでカスタマイズや拡張が可能 * IRC の RFC に準拠 https://tools.ietf.org/html/rfc1459[1459]、 https://tools.ietf.org/html/rfc2810[2810]、 https://tools.ietf.org/html/rfc2811[2811]、 https://tools.ietf.org/html/rfc2812[2812]、 https://tools.ietf.org/html/rfc2813[2813]。 * リモートインターフェース用の IRC プロキシとリレー * マルチプラットフォーム (GNU/Linux、*BSD、macOS、Windows 等) * 完全な GPL、フリーソフトウェア WeeChat のホームページ: https://weechat.org/ [[prerequisites]] === 事前に必要なもの WeeChat をインストールするには、以下のものが必要です: * GNU/Linux が稼動しているシステム (ソースパッケージを使う場合は、コンパイラツールも必要)、または互換 OS * _root_ 特権 (WeeChat をシステムディレクトリにインストールする場合) * 一部のライブラリ (<>を参照)。 [[install]] == インストール方法 [[binary_packages]] === バイナリパッケージ 多くのディストリビューションではバイナリパッケージが利用できます。例えば: * Arch Linux: `pacman -S weechat` * Cygwin (Windows): setup.exe で WeeChat パッケージを選択してください // TRANSLATION MISSING * Debian/Ubuntu (または Debian 互換ディストリビューション): `apt-get install weechat-curses weechat-plugins` + For latest versions and nightly builds: https://weechat.org/download/debian * Fedora Core: `dnf install weechat` * Gentoo: `emerge weechat` * Mandriva/RedHat (または RPM 互換ディストリビューション): `rpm -i /path/to/weechat-x.y.z-1.i386.rpm` * openSUSE: `zypper in weechat` * Sourcemage: `cast weechat` 例えば weechat-plugins 等の追加パッケージを使うとさらに便利になるかもしれません。 その他のディストリビューションでは、インストール説明マニュアルを参照してください。 [[source_package]] === ソースパッケージ WeeChat は CMake または autotools を使ってコンパイルできます (CMake を使うことが推奨されています)。 [NOTE] macOS では https://brew.sh/[Homebrew] を使ってください: `brew install weechat` (ヘルプを見るには: `brew info weechat`)。 [[dependencies]] ==== 依存関係 // TRANSLATION MISSING The following table shows the list of packages that are *required* to compile WeeChat: [width="100%",cols="5,^3,.^15",options="header"] |=== | パッケージ ^(1)^ | バージョン | 機能 | C コンパイラ (gcc, clang, ...) | | ビルド | cmake | ≥ 3.0 | ビルド (autotools でも可能ですが、CMake を推奨します) | pkg-config | | インストール済みライブラリを検出 | libncursesw5-dev ^(2)^ | | ncurses インターフェース | libcurl4-gnutls-dev | | URL 転送 | zlib1g-dev | | relay プラグインでパケットを圧縮 (weechat プロトコル)、スクリプトプラグイン | libgcrypt20-dev | | 保護データ、IRC SASL 認証 | libgnutls28-dev | 2.2.0 以上 ^(3)^ | IRC サーバへの SSL 接続、IRC SASL 認証 (ECDSA-NIST256P-CHALLENGE) |=== [NOTE] ^(1)^ Debian GNU/Linux ディストリビューションにおけるパッケージ名です。他のディストリビューションではバージョンとパッケージ名が異なるかもしれません。 + ^(2)^ WeeChat は libncurses**w**5-dev でコンパイルすることを推奨します (*w* が重要です)。libncurses5-dev でもコンパイル可能ですが、これは推奨 *されません* (ワイドキャラクタの表示にバグを生じるでしょう)。 + ^(3)^ IRC SASL 認証で ECDSA-NIST256P-CHALLENGE を使うには、GnuTLS バージョン 3.0.21 以上が必要です。 // TRANSLATION MISSING The following table shows the list of packages that are optional to compile WeeChat: [width="100%",cols="5,^3,.^15",options="header"] |=== | パッケージ | バージョン | 機能 | C++ コンパイラ | | ビルドとテストの実行、JavaScript プラグイン | gettext | | 国際化 (メッセージの翻訳; ベース言語は英語です) | ca-certificates | | SSL 接続に必要な証明書、relay プラグインで SSL サポート | libaspell-dev ∥ libenchant-dev | | spell プラグイン | python3-dev ^(1)^ | | python プラグイン | libperl-dev | | perl プラグイン | ruby2.5, ruby2.5-dev | 1.9.1 以上 | ruby プラグイン | liblua5.3-dev | | lua プラグイン | tcl-dev | 8.5 以上 | tcl プラグイン | guile-2.0-dev | 2.0 以上 | guile (scheme) プラグイン | libv8-dev | 3.24.3 以下 | javascript プラグイン | php-dev, libphp-embed | 7.0 以上 | PHP プラグイン | libxml2-dev | | PHP プラグイン | libargon2-0-dev | | PHP プラグイン (PHP 7.2 以上の場合) | libsodium-dev | | PHP プラグイン (PHP 7.2 以上の場合) | asciidoctor | 1.5.4 以上 | man ページと文書のビルド | libcpputest-dev | 3.4 以上 | ビルドとテストの実行 |=== [NOTE] // TRANSLATION MISSING ^(1)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+` (see below), only the version 2.7 of Python is recommended. Debian および Ubuntu ベースのディストリビューションを使っており、_/etc/apt/sources.list_ ファイルで "deb-src" ソースエントリを指定しているならば、すべての依存関係にあるパッケージを以下のコマンドでインストール可能です: ---- # apt-get build-dep weechat ---- [[compile_with_cmake]] ==== CMake によるコンパイル * システムディレクトリにインストールする場合 (_root_ 特権が必要です): ---- $ mkdir build $ cd build $ cmake .. $ make $ sudo make install ---- * 任意のディレクトリ (例えば自分のホームディレクトリ) にインストールする場合: ---- $ mkdir build $ cd build $ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory $ make $ make install ---- CMake に対するオプションを指定するには、以下の書式を使ってください: `-DOPTION=VALUE`。 よく利用されるオプションのリスト: [width="100%",cols="3m,3,3m,10",options="header"] |=== | オプション | 値 | デフォルト値 | 説明 | CMAKE_BUILD_TYPE | `Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel` | | ビルド形式: WeeChat の開発版を使っている場合は `Debug` (または `RelWithDebInfo`) を推奨します。 | CMAKE_INSTALL_PREFIX | directory | /usr/local | WeeChat をインストールするディレクトリ。 // TRANSLATION MISSING | WEECHAT_HOME | directory | (empty string) | WeeChat 実行時のホームディレクトリ。 + With an empty value (recommended), XDG directories are used by default. If non empty, a single directory for all files is used. The value can also be 4 directories separated by colons, in this order: config, data, cache, runtime. | ENABLE_ALIAS | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_BUFLIST | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_CHARSET | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_MAN | `ON`, `OFF` | OFF | man ページのコンパイル。 | ENABLE_DOC | `ON`, `OFF` | OFF | HTML 文書のコンパイル。 | ENABLE_ENCHANT | `ON`, `OFF` | OFF | Enchant と含めた <>のコンパイル。 | ENABLE_EXEC | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_FIFO | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_FSET | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_GUILE | `ON`, `OFF` | ON | <> (Scheme) のコンパイル。 | ENABLE_IRC | `ON`, `OFF` | ON | <>のコンパイル | ENABLE_JAVASCRIPT | `ON`, `OFF` | OFF | <>のコンパイル。 | ENABLE_LARGEFILE | `ON`, `OFF` | ON | 巨大ファイルのサポート。 | ENABLE_LOGGER | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_LUA | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_NCURSES | `ON`, `OFF` | ON | Ncurses インターフェースのコンパイル。 | ENABLE_NLS | `ON`, `OFF` | ON | NLS の有効化 (多言語サポート)。 | ENABLE_PERL | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_PHP | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_PYTHON | `ON`, `OFF` | ON | <>のコンパイル。 // TRANSLATION MISSING | ENABLE_PYTHON2 | `ON`, `OFF` | OFF | Compile <> using Python 2 instead of Python 3. | ENABLE_RELAY | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_RUBY | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_SCRIPT | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_SCRIPTS | `ON`, `OFF` | ON | すべての<> (Python、Perl、Ruby、Lua、Tcl、Guile、JavaScript、PHP) のコンパイル。 | ENABLE_SPELL | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_TCL | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_TRIGGER | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_TYPING | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_XFER | `ON`, `OFF` | ON | <>のコンパイル。 | ENABLE_TESTS | `ON`, `OFF` | OFF | コンパイルテスト。 | ENABLE_CODE_COVERAGE | `ON`, `OFF` | OFF | コードカバレッジオプションを有効化してコンパイル。 + このオプションはテスト網羅率を測定するために用意されています。 |=== その他のオプションは以下のコマンドで確認してください: ---- $ cmake -LA ---- Curses インターフェースを使う場合は以下のコマンドを使ってください: ---- $ ccmake .. ---- [[compile_with_autotools]] ==== autotools によるコンパイル [WARNING] CMake 以外を用いた WeeChat のビルドは公式にサポートされません。CMake を利用できない場合のみ autotools を使ってください。 + autotools を用いてビルドする場合、CMake よりも多くの依存パッケージとより長い時間が必要です。 * システムディレクトリにインストールする場合 (_root_ 特権が必要です): ---- $ ./autogen.sh $ mkdir build $ cd build $ ../configure $ make $ sudo make install ---- * 任意のディレクトリ (例えば自分のホームディレクトリ) にインストールする場合: ---- $ ./autogen.sh $ mkdir build $ cd build $ ../configure --prefix=/path/to/directory $ make $ make install ---- _configure_ スクリプトに対してオプションを指定することができます、オプションを表示するには以下のコマンドを使ってください: ---- $ ./configure --help ---- [[run_tests]] ==== テストの実行 テストをコンパイルするには以下のパッケージが *必須* です: * libcpputest-dev * C++ compiler テストは WeeChat のコンパイル時に有効化しなければいけません (CMake を使う場合): ---- $ cmake .. -DENABLE_TESTS=ON ---- コンパイル終了後、build ディレクトリでテストを起動してください (CMake を使う場合): ---- $ ctest -V ---- [[git_sources]] === Git ソース 警告: git ソースを用いる方法は上級者向けです。コンパイルに失敗したり、 不安定な可能性があります。警告しましたよ! git ソースを入手するには、以下のコマンドを使ってください: ---- $ git clone https://github.com/weechat/weechat.git ---- その後は、ソースパッケージの説明に従ってください (<>を参照)。 [[report_crashes]] === クラッシュレポート WeeChat がクラッシュした場合、または WeeChat をクラッシュさせる操作を報告する場合、以下の手順に従ってください: // TRANSLATION MISSING * Compile with: ** debug info (or install binary package with debug info), ** address sanitizer (optional). * システムの _core_ ファイルを有効化 * gdb のインストール // TRANSLATION MISSING [[build_debug]] ==== Build with debug options CMake でコンパイルする場合: ---- $ cmake .. -DCMAKE_BUILD_TYPE=Debug ---- // TRANSLATION MISSING [[build_debug_address_sanitizer]] ==== Build with debug options and address sanitizer // TRANSLATION MISSING You can additionally enable the address sanitizer, which causes WeeChat to crash immediately in case of problem: ---- $ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address ---- // TRANSLATION MISSING [WARNING] You should enable address sanitizer only if you're trying to cause a crash, this is not recommended in production. // TRANSLATION MISSING Then once compiled and installed, you must run WeeChat like this: ---- $ ASAN_OPTIONS="detect_odr_violation=0 log_path=asan.log" weechat ---- // TRANSLATION MISSING In case of crash, the backtrace is in file `asan.log`. [[core_files]] ==== Core ファイル _core_ ファイルを有効化するには、<> オプションを使ってください: ---- /set weechat.startup.sys_rlimit "core:-1" ---- WeeChat バージョン 0.3.8 以下または WeeChat の実行前に core ファイルを有効化したい場合には、`ulimit` コマンドを使ってください。 Linux で _bash_ シェルを使っている場合、以下の内容を `~/.bashrc` に追加してください: ---- ulimit -c unlimited ---- サイズを指定する場合は: ---- ulimit -c 200000 ---- [[gdb_backtrace]] ==== gdb でバックトレースを得る <>、WeeChat がクラッシュするとシステムは _core_ または _core.12345_ ファイルを作ります (_12345_ はプロセス番号です)。このファイルは WeeChat を起動したディレクトリに作られます (これは WeeChat がインストールされているディレクトリでは *ありません*!)。 // TRANSLATION MISSING [NOTE] On some systems like Archlinux, core dumps could be in another directory like _/var/lib/systemd/coredump_ and you must use the command `coredumpctl` to read it. + For more information, see this wiki page: https://wiki.archlinux.org/index.php/Core_dump 例えば、_weechat_ が _/usr/bin/_ にインストールされ、_core_ ファイルが _/home/user/_ にある場合、以下のコマンドで gdb を起動してください: ---- gdb /usr/bin/weechat /home/user/core ---- gdb の中で `bt full` コマンドを実行するとバックトレースが表示されます。以下のような出力が得られるはずです: ---- (gdb) set logging file /tmp/crash.txt (gdb) set logging on Copying output to /tmp/crash.txt. (gdb) bt full #0 0x00007f9dfb04a465 in raise () from /lib/libc.so.6 #1 0x00007f9dfb04b8e6 in abort () from /lib/libc.so.6 #2 0x0000000000437f66 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:351 #3 #4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, remaining_calls=) at /some_path/src/core/wee-hook.c:1364 hook_process = 0x254eb90 status = #5 0x000000000044cc7d in hook_timer_exec () at /some_path/src/core/wee-hook.c:1025 tv_time = {tv_sec = 1272693881, tv_usec = 212665} ptr_hook = 0x2811f40 next_hook = 0x0 #6 0x000000000041b5b0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:319 hook_fd_keyboard = 0x173b600 tv_timeout = {tv_sec = 0, tv_usec = 0} read_fds = {fds_bits = {0 }} write_fds = {fds_bits = {0 }} except_fds = {fds_bits = {0 }} max_fd = ---- このバックトレースを開発者に報告し、クラッシュを引き起こした動作を伝えてください。 ご協力ありがとうございます! [[debug_running_weechat]] ==== 起動中の WeeChat のデバッグ 起動している WeeChat をデバッグするには (例えば WeeChat がフリーズしているような場合)、gdb の引数にプロセス番号を与えて起動します (_12345_ は weechat プロセスの PID に変更してください): ---- gdb /usr/bin/weechat 12345 ---- クラッシュが起きた場合と同様に、`bt full` コマンドを使ってください: ---- (gdb) bt full ---- // TRANSLATION MISSING [[upgrade]] === Upgrade If a new stable version of WeeChat is released, this is time for you to switch to this version. First of all, you must install the new version of WeeChat, either with your package manager or by compiling yourself, so that the `weechat` binary and all required files are in the same paths. + This can be done while WeeChat is running. // TRANSLATION MISSING [[upgrade_command]] ==== Upgrade command WeeChat can restart the new binary, in place, using the <> command: the buffer contents and non-SSL connections are preserved. + The SSL connections are lost during upgrade and you are automatically reconnected after the upgrade (reload of SSL sessions is currently not possible with GnuTLS). The command can also be used if you have to restart the machine, for example to upgrade the kernel or to move your WeeChat to another machine: ---- /upgrade -quit ---- This saves the current state in `*.upgrade` files. You can then either reboot or move the whole WeeChat directories (config, data, cache) to another machine, and restart WeeChat later with this command: ---- $ weechat --upgrade ---- // TRANSLATION MISSING [[restart_after_upgrade]] ==== Restart after upgrade [[restart_release_notes]] ===== Release notes After an upgrade, it is *strongly recommended* to read the https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] which contain important information about breaking changes and some manual actions that could be required. You must read the release notes of all versions between your old (excluded) and your new version (included). + For example if you switch from version 3.0 to 3.2, you must read release notes of versions 3.1 and 3.2. [[restart_configuration_upgrade]] ===== Configuration upgrade WeeChat has an automatic upgrade of configuration files (`*.conf`): * new options are silently added with default value * obsolete options are automatically discarded and WeeChat displays a warning with the value read from file. Example of warning when an option has been removed: ---- =!= 警告: /home/user/.config/weechat/sec.conf, 行 15: セクション "crypt" の無効なオプション: passphrase_file = "" ---- That means the option `sec.crypt.passphrase_file` has been removed, and you had value set to empty string, which was the default value in the previous version (in this case no manual action is required). [[usage]] == 使い方 [[running_weechat]] === WeeChat の起動 WeeChat を起動させるには、以下コマンドを実行: ---- $ weechat ---- WeeChat の初回起動時にデフォルトのオプション設定を含む設定ファイルが _~/.config/weechat_ ディレクトリの中に作成されます (<>を参照してください)。 [[command_line_options]] ==== コマンドラインオプション include::includes/cmdline_options.ja.adoc[tag=standard] [[extra_debug_options]] ==== デバッグオプション [WARNING] 以下のオプションはデバッグ用です。*通常利用時には使わないでください!* include::includes/cmdline_options.ja.adoc[tag=debug] [[environment_variables]] === 環境変数 以下の環境変数が定義されていた場合、WeeChat はそれを利用します: [width="100%",cols="1m,6",options="header"] |=== | 変数名 | 説明 // TRANSLATION MISSING | WEECHAT_HOME | WeeChat ホームディレクトリ (ここには設定ファイル、ログ、スクリプトなどがあります) Same behavior as <> `WEECHAT_HOME`. | WEECHAT_PASSPHRASE | 暗号化データを復号化するためのパスフレーズ | WEECHAT_EXTRA_LIBDIR | プラグインをロードするための追加ディレクトリパス (設定したパス内の "plugins" ディレクトリからロードします) |=== [[files_and_directories]] === ファイルとディレクトリ // TRANSLATION MISSING [[xdg_directories]] ==== XDG directories WeeChat uses XDG directories by default (according to the https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html[XDG Base Directory Specification]). + A single home directory for all files can be forced by CMake option `WEECHAT_HOME`, the environment variable `WEECHAT_HOME` or the command-line option `-d` / `--dir`. When a single WeeChat home directory is not forced, XDG directories are used and set like this: [width="100%",cols="1,2m,5",options="header"] |=== | Directory | Default value | Fallback value | config | $XDG_CONFIG_HOME/weechat | `$HOME/.config/weechat` if `$XDG_CONFIG_HOME` is not defined or empty. | data | $XDG_DATA_HOME/weechat | `$HOME/.local/share/weechat` if `$XDG_DATA_HOME` is not defined or empty. | cache | $XDG_CACHE_HOME/weechat | `$HOME/.cache/weechat` if `$XDG_CACHE_HOME` is not defined or empty. | runtime | $XDG_RUNTIME_DIR/weechat | Same as _cache_ directory if `$XDG_RUNTIME_DIR` is not defined or empty. |=== The configuration files are created with default values the first time you run WeeChat. // TRANSLATION MISSING [[weechat_directories]] ==== WeeChat directories // TRANSLATION MISSING The WeeChat directories are: [width="100%",cols="1m,3",options="header"] |=== // TRANSLATION MISSING | Path ^(1)^ | 説明 // TRANSLATION MISSING | ~/.config/weechat/ | WeeChat configuration files: `*.conf`, certificates, etc. // TRANSLATION MISSING | ~/.local/share/weechat/ | WeeChat data files: logs, scripts, scripts data, xfer files, etc. |    logs/ | ログファイル (バッファごとに 1 つのファイル) |    python/ | Python スクリプト |       autoload/ | 起動時に自動ロードされる Python スクリプト ^(2)^ |    perl/ | Perl スクリプト |       autoload/ | 起動時に自動ロードされる Perl スクリプト ^(2)^ |    ruby/ | Ruby スクリプト |       autoload/ | 起動時に自動ロードされる Ruby スクリプト ^(2)^ |    lua/ | Lua スクリプト |       autoload/ | 起動時に自動ロードされる Lua スクリプト ^(2)^ |    tcl/ | Tcl スクリプト |       autoload/ | 起動時に自動ロードされる Tcl スクリプト ^(2)^ |    guile/ | Guile スクリプト |       autoload/ | 起動時に自動ロードされる Guile スクリプト ^(2)^ |    javascript/ | JavaScript スクリプト |       autoload/ | 起動時に自動ロードされる JavaScript スクリプト ^(2)^ |    php/ | PHP スクリプト |       autoload/ | 起動時に自動ロードされる PHP スクリプト ^(2)^ // TRANSLATION MISSING | ~/.cache/weechat/ | WeeChat cache files: scripts cache. // TRANSLATION MISSING | /run/user/1000/weechat/ | WeeChat runtime files: FIFO pipe, Relay UNIX sockets. |=== [NOTE] ^(1)^ XDG directories may be different according to your environment variables `XDG_*`. + ^(2)^ このディレクトリには親ディレクトリ内にあるスクリプトへのシンボリックリンクのみが含まれることが多いです。 // TRANSLATION MISSING [[weechat_files]] ==== WeeChat files WeeChat ホームディレクトリには以下のファイルが含まれます: [width="100%",cols="1m,3,6",options="header"] |=== | ファイル | 説明 | データ保護 | weechat.conf | WeeChat の主要設定ファイル | 保護される場合もあります (例: 保存されたバッファレイアウトに含まれるチャンネルのリスト) | sec.conf | 機密データを含む設定ファイル | *保護されます、機密性の高いデータ*: このファイルを誰かと共有してはいけません | plugins.conf | プラグイン設定ファイル | 保護される場合もあります、プラグインおよびスクリプトに依存します | alias.conf | _alias_ プラグイン用の設定ファイル | 保護される場合もあります、エイリアスに依存します | buflist.conf | _buflist_ プラグイン用の設定ファイル | 保護されません | charset.conf | _charset_ プラグイン用の設定ファイル | 保護されません | exec.conf | _exec_ プラグイン用の設定ファイル | 保護されません | fifo.conf | _fifo_ プラグイン用の設定ファイル | 保護されません | fset.conf | _fset_ プラグイン用の設定ファイル | 保護されません | guile.conf | _guile_ プラグイン用の設定ファイル | 保護されません | irc.conf | _irc_ プラグイン用の設定ファイル | *保護されます*: サーバ、nickserv、チャンネルのパスワードを保存することが可能です (これらのデータが `sec.conf` に保存されない場合) | javascript.conf | _javascript_ プラグイン用の設定ファイル | 保護されません | logger.conf | _logger_ プラグイン用の設定ファイル | 保護されません | lua.conf | _lua_ プラグイン用の設定ファイル | 保護されません | perl.conf | _perl_ プラグイン用の設定ファイル | 保護されません | php.conf | _php_ プラグイン用の設定ファイル | 保護されません | python.conf | _python_ プラグイン用の設定ファイル | 保護されません // TRANSLATION MISSING | relay.conf | _relay_ プラグイン用の設定ファイル | *Yes*: it can contain relay password and TOTP secret (if not stored in `sec.conf`), allowed IP addresses/websocket origins and opened ports. | ruby.conf | _ruby_ プラグイン用の設定ファイル | 保護されません | script.conf | _script_ プラグイン用の設定ファイル | 保護されません | spell.conf | _spell_ プラグイン用の設定ファイル | 保護されません | tcl.conf | _tcl_ プラグイン用の設定ファイル | 保護されません | trigger.conf | _trigger_ プラグイン用の設定ファイル | 保護される場合もあります、トリガに依存します | typing.conf | _typing_ プラグイン用の設定ファイル | 保護されません | xfer.conf | _xfer_ プラグイン用の設定ファイル | 保護されません | weechat.log | WeeChat ログファイル | 保護されません |=== [IMPORTANT] 手作業で設定ファイルを編集することは *推奨されません*。なぜなら WeeChat は常時 (例えば <> コマンドの実行時など) 設定ファイルに書き込む可能性がありますし、手作業で修正を加えた後には必ず <> コマンドを実行しなければいけない (これには <> を使って保存されていない変更を失うリスクがある) からです。 + 設定を編集するには <> コマンドを使ってください。これは値を検査し、設定の変更をすぐに適用します。 [[screen_layout]] === 画面レイアウト WeeChat を起動した端末の例: .... ▼ "buflist" バー ▼ "title" バー ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #test, this is a test channel │ │ weechat│12:52:27 --> | Flashy (flashcode@weechat.org) has joined #test │@Flashy│ │2. #test│12:52:27 -- | Nicks #test: [@Flashy @joe +weebot peter] │@joe │ │3. #abc │12:52:27 -- | Channel #test: 4 nicks (2 ops, 1 voice, 1 normal) │+weebot│ │4. #def │12:52:27 -- | Channel created on Tue Jan 27 06:30:17 2009 │peter │ │5. #ghi │12:54:15 peter | hey! │ │ │ │12:55:01 @joe | hello │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 2:#test(+n){4}* [H: 3:#abc(2,5), 5] │ │ │[@Flashy(i)] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ "status" と "input" バー "nicklist" バー ▲ .... // TRANSLATION MISSING By default, the screen is divided up into the following areas: * チャットログが表示されるチャットエリア (画面の真ん中)、それぞれの行は: ** 時刻 ** プレフィックス ("|" の前) ** メッセージ ("|" の後) * チャットエリアの周りにあるバー、デフォルトバーは: ** バッファリスト (_buflist_) バー、左端 ** タイトル (_title_) バー、チャットエリアの上 ** 状態 (_status_) バー、チャットエリアの下 ** 入力 (_input_) バー、状態バーの下 ** ニックネームリスト (_nicklist_) バー、右端 バッファリスト (_buflist_) バーは以下の初期要素を持っています: [width="100%",cols="^3,^3,9",options="header"] |=== | 要素 | 例 | 説明 | buflist | `1.weechat` | バッファ一覧 |=== 状態 (_title_) バーは以下の初期要素を持っています: [width="100%",cols="^3,^3,9",options="header"] |=== | 要素 | 例 | 説明 | buffer_title | `Welcome to #test` | バッファタイトル |=== 状態 (_status_) バーは以下の初期要素を持っています: [width="100%",cols="^3,^3,9",options="header"] |=== | 要素 | 例 | 説明 | time | `[12:55]` | 時刻 | buffer_last_number | `[5]` | リスト中の最後のバッファ番号 | buffer_plugin | `[irc/libera]` | 現在のバッファのプラグイン (irc プラグインではバッファで利用されている IRC サーバ名を追加できます) | buffer_number | `2` | 現在のバッファの番号 | buffer_name | `#test` | 現在のバッファの名前 | buffer_modes | `+n` | IRC チャンネルモード // TRANSLATION MISSING | buffer_nicklist_count | `{4}` | Number of nicks displayed in nicklist. | buffer_zoom | ! | `!` はマージされたバッファがズームされている状態 (ズームされたものだけを表示する状態) を示します、空の場合はすべてのマージされたバッファが表示されていることを示します | buffer_filter | `+*+` | フィルタ表示: `+*+` の場合いくつかの行がフィルタされ (隠され) ます、空の場合すべての行が表示されます。 | scroll | `-MORE(50)-` | スクロール表示、最後の行が表示されてから追加された行数を含む。 | lag | `[Lag: 2.5]` | 遅延秒表示 (遅延が短い場合は非表示) | hotlist | `[H: 3:#abc(2,5), 5]` | 変化のあったバッファのリスト (未読メッセージ) (例では、_#abc_ に 2 個のハイライトと 5 個の未読メッセージ、5 番目のバッファに 1 個の未読メッセージがあることを意味します。) | completion | `abc(2) def(5)` | 補完候補の単語リスト、各単語に対して適応される補完候補の数を含む。 |=== 入力 (_input_) バーは以下の初期要素を持っています: [width="100%",cols="^3,^3,9",options="header"] |=== | 要素 | 例 | 説明 | input_prompt | `[@Flashy]` | 入力プロンプト、irc の場合: ニックネームとモード (libera では "+i" モードは不可視状態を意味します) | away | `(away)` | 離席状態表示 | input_search | `[Search (~ str,msg)]` | 検索インジケータ ("`~`": 大文字小文字を区別しない、"`==`": 大文字小文字を区別する、"`str`": 検索文字列、"`regex`": 検索正規表現、"`msg`": メッセージ部分から検索、"`pre`": プレフィックス部分から検索、"`pre\|msg`": プレフィックス部分とメッセージ部分から検索) | input_paste | `[Paste 7 lines ? [ctrl-Y] Yes [ctrl-N] No]` | 行をペーストする場合にユーザへ行われる質問 | input_text | `hi peter!` | 入力テキスト |=== ニックネームリスト (_nicklist_) バーは以下の初期要素を持っています: [width="100%",cols="^3,^3,9",options="header"] |=== | 要素 | 例 | 説明 | buffer_nicklist | `@Flashy` | 現在のバッファのニックネーム一覧 |=== その他の利用可能な要素 (初期状態のバーはこれらの要素を持ちません): [width="100%",cols="^3,^3,9",options="header"] |=== | 要素 | 例 | 説明 | buffer_count | `10` | 開いているバッファの総数 // TRANSLATION MISSING | buffer_last_number | `10` | Number of the latest buffer (can be different from `buffer_count` if option <> is `off`). // TRANSLATION MISSING | buffer_nicklist_count_all | `4` | Number of visible groups and nicks in nicklist. // TRANSLATION MISSING | buffer_nicklist_count_groups | `0` | Number of visible groups in nicklist. | buffer_short_name | `#test` | 現在のバッファの短い名前 // TRANSLATION MISSING | buflist2 | `1.weechat` | List of buffers, second bar item (see option <>). // TRANSLATION MISSING | buflist3 | `1.weechat` | List of buffers, third bar item (see option <>). // TRANSLATION MISSING | fset | `+buflist.look.sort: …+` | Help on currently selected option on fset buffer. | irc_channel | `#test` | 現在の IRC チャンネル名 // TRANSLATION MISSING | irc_host | `+user@host.com+` | Current IRC host. // TRANSLATION MISSING | irc_nick | `+Flashy+` | Current IRC nick. // TRANSLATION MISSING | irc_nick_host | `+Flashy!user@host.com+` | Current IRC nick and host. | irc_nick_modes | `i` | 自分のニックネームに対する IRC モード // TRANSLATION MISSING | irc_nick_prefix | `@` | IRC nick prefix on channel. | mouse_status | `M` | マウスの状態 (マウスが無効化されている場合は空文字列) | spell_dict | `fr,en` | 現在のバッファにおけるスペリング辞書 | spell_suggest | `print,prone,prune` | カーソル下の単語に対するスペリング候補 (スペルが間違っている場合) // TRANSLATION MISSING | tls_version | `TLS1.3` | TLS version in use for current IRC server. | window_number | `2` | 現在のウィンドウ番号 |=== // TRANSLATION MISSING Each aspect of the layout can be customized with the appropriate <>: <> to customize the bars, <> and <> to customize <>, and <> to name, save and restore the screen layout and the association between windows and buffers. [[command_line]] === コマンドライン WeeChat コマンドライン (ウィンドウの一番下にあります) はコマンドの実行やバッファにテキストを送信するために利用します。 [[command_line_syntax]] ==== 文法 コマンドは "/" 文字で始まり、コマンドの名前を続けます。例えば、すべてのオプションを表示するには: ---- /set ---- "/" が最初に無い場合、そのテキストはバッファに送信されます。例えば、_hello_ というテキストをバッファに送信するには: ---- hello ---- "/" 文字から始まるテキストを送信したい場合、2 重に "/" をつけます。例えば、`/set` というテキストを現在のバッファに送信するには: ---- //set ---- [[command_line_colors]] ==== 色コード IRC 等のプラグインでは、以下の色コードと属性を利用できます (kbd:[Ctrl+c] の後に、オプションとともに以下のキーを押してください): [width="100%",cols="1,2",options="header"] |=== | キー | 説明 | kbd:[Ctrl+c], kbd:[b] | テキストを太字に | kbd:[Ctrl+c], kbd:[c], kbd:[xx] | テキスト表示色を `xx` に (以下の色リストを参照) | kbd:[Ctrl+c], kbd:[c], kbd:[xx], kbd:[,], kbd:[yy] | テキスト表示色を `xx` に、背景色を `yy` に (以下の色リストを参照) | kbd:[Ctrl+c], kbd:[i] | テキストをイタリック体に | kbd:[Ctrl+c], kbd:[o] | テキスト表示色と属性をリセット | kbd:[Ctrl+c], kbd:[v] | テキストを反転 (テキスト表示色と背景色の入れ替え) | kbd:[Ctrl+c], kbd:[_] | テキストに下線を引く |=== [NOTE] 同じコードで (色コードを入力せずに kbd:[Ctrl+c], kbd:[c] を使うことで) 属性をキャンセルすることができます。 kbd:[Ctrl+c], kbd:[c] 用の色コード: include::includes/autogen_user_irc_colors.ja.adoc[tag=irc_colors] [NOTE] 端末で利用可能なすべての色を表示するには、WeeChat で `/color` を実行した後 kbd:[Alt+c] を入力するか、端末で以下のコマンドを実行してください: `weechat --colors`。 // TRANSLATION MISSING Example: display of "hello Alice!" with "hello" in light blue bold and "Alice" in light red underlined: // TRANSLATION MISSING ---- ^Cc12^Cbhello ^Cb^Cc04^C_Alice^C_^Cc! ---- // TRANSLATION MISSING Keys: // TRANSLATION MISSING kbd:[Ctrl+c] kbd:[c] kbd:[1] kbd:[2] kbd:[Ctrl+c] kbd:[b] + kbd:[h] kbd:[e] kbd:[l] kbd:[l] kbd:[o] kbd:[Space] + kbd:[Ctrl+c] kbd:[b] kbd:[Ctrl+c] kbd:[c] kbd:[0] kbd:[4] kbd:[Ctrl+c] kbd:[pass:[_]] + kbd:[A] kbd:[l] kbd:[i] kbd:[c] kbd:[e] + kbd:[Ctrl+c] kbd:[pass:[_]] kbd:[Ctrl+c] kbd:[c] + kbd:[!] [NOTE] irc プラグインでは、<> を使ってこれらの色を別の色に対応付けることができます。 [[colors]] === 色 WeeChat ではバーやチャットエリアにおけるテキスト表示に 32767 個の色ペアを利用できます (この機能を利用するには WeeChat が実行されている端末が 256 色表示に対応している必要があります)。 _TERM_ 環境変数の値によって、WeeChat で利用できる色と色ペアに以下の制限があります: [width="75%",cols="8,>3,>3",options="header"] |=== | $TERM | 色 | ペア | "rxvt-unicode", "xterm", ... | 88 | 32767 | "rxvt-256color", "xterm-256color", ... | 256 | 32767 | "screen" | 8 | 64 | "screen-256color" | 256 | 32767 | "tmux" | 8 | 64 | "tmux-256color" | 256 | 32767 |=== `weechat --colors` を実行するか、`/color` コマンドを WeeChat の中で実行することで、色表示の制限を確認できます。 256 色を利用したい場合に推奨される _TERM_ 環境変数の値は: * screen 内の場合: _screen-256color_ * tmux 内の場合: _screen-256color_、_tmux-256color_ * screen および tmux の外の場合: _xterm-256color_、_rxvt-256color_、_putty-256color_、... [NOTE] _TERM_ 環境変数の値に上の値を設定するには、"ncurses-term" パッケージをインストールする必要があるかもしれません。 screen を使っている場合、_~/.screenrc_ に以下の内容を追加してください: ---- term screen-256color ---- _TERM_ 変数が間違った値に設定された状態で WeeChat が起動完了している場合は、以下の 2 つのコマンドを使って変数の値を変更してください: ---- /set env TERM screen-256color /upgrade ---- [[colors_basic]] ==== 基本色 WeeChat における基本色とは: [width="75%",cols="1m,4",options="header"] |=== | 名前 | 色 | default | デフォルトの端末色 (背景色を透過色とする) | black | 黒 | darkgray | 暗い灰色 | red | 暗い赤 | lightred | 明るい赤 | green | 暗い緑色 | lightgreen | 明るい緑色 | brown | 茶色 | yellow | 黄色 | blue | 暗い青 | lightblue | 明るい青 | magenta | 暗い赤紫色 | lightmagenta | 明るい赤紫色 | cyan | 暗い青緑色 | lightcyan | 明るい青緑色 | gray | 灰色 | white | 白 |=== [[colors_extended]] ==== 拡張色 WeeChat は画面に色が表示された時点で色ペアを動的に割り当てます (バッファとバーを表示する時点で)。 基本色に加えて、1 番 から端末の対応状況に依存する番号までの色番号を利用できます。 `/color` コマンドで現在の色と色制限を確認できます。kbd:[Alt+c] をタイプすることで、一時的に端末色を選択された色に変更できます。 例えば、バッファ中のに表示される時刻をオレンジ色にしたい場合、以下のようにしてください: ---- /set weechat.color.chat_time 214 ---- ステータスバーの色を非常に暗い緑色にしたい場合: ---- /set weechat.bar.status.color_bg 22 ---- [[colors_aliases]] ==== 別名 `/color alias` コマンドを使えば色の別名を追加できます。 追加後は任意の色関連オプションで別名を使えます。 例: ---- /color alias 214 orange /set weechat.color.chat_delimiters orange ---- [[colors_attributes]] ==== 属性 色に対していくつかの属性を付加することができます。1 つ以上の属性を色名または色番号の前に付加できます: * `+*+` : テキストを太字に * `+!+` : テキストを反転 * `+/+` : テキストをイタリック体に * `+_+` : テキストに下線を引く * `+|+` : 属性を保持: 色を変えた際に太字/反転/下線属性をリセットしない 例えば、自分自身のニックネームの表示色を白にして、下線を引きたい場合: ---- /set weechat.color.chat_nick_self _white ---- ステータスバーの時刻の表示色を橙色にして、下線を引いて、太字にしたい場合: ---- /set weechat.color.status_time *_214 ---- デフォルト端末色 (-1) に対して属性を設定したい場合、端末色番号の最大値よりも大きな値を利用してください。例えば、WeeChat における色番号の最大値は 99999 です。 端末の表示色に太字の属性を付加する例: ---- /set weechat.color.status_time *99999 ---- [[buffers_and_windows]] === バッファとウィンドウ _バッファ_ は番号、名前、表示された行 (とその他の情報) で構成されています。 バッファの例: * コアバッファ (起動時に WeeChat が作成、閉じることはできません) * irc サーバ (サーバからのメッセージを表示) * irc チャンネル * irc プライベートメッセージ // TRANSLATION MISSING _window_ はバッファを表示する画面エリアのことです。画面を複数のウィンドウに分割することができます (examples <>, see the <> for details). それぞれのウィンドウは 1 つのバッファを表示します。バッファは隠したり (ウィンドウに表示しない)、複数のウィンドウに表示することできます。 // TRANSLATION MISSING Screen layouts and the association between windows and buffers can be <>. // TRANSLATION MISSING [[window_split_examples]] ==== Examples 水平方向分割の例 (`/window splith`): .... ▼ ウィンドウ #2 (バッファ #4) ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #def │ │ weechat│12:55:12 Max | hi │@Flashy│ │2. #test│12:55:20 @Flashy | hi Max! │Max │ │3. #abc │ │ │ │4. #def │ │ │ │5. #ghi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 4:#def(+n){2} │ │ │[@Flashy] │ │ │────────────────────────────────────────────────────────────────────────────│ │ │Welcome to #abc │ │ │12:54:15 peter | hey! │@Flashy│ │ │12:55:01 @joe | hello │@joe │ │ │ │+weebot│ │ │ │peter │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n){4} │ │ │[@Flashy] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ ウィンドウ #1 (バッファ #3) .... 垂直方向分割の例 (`/window splitv`): .... ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #abc │Welcome to #def │ │ weechat│12:54:15 peter | hey! │@Flashy│12:55:12 Max | hi │@Flashy│ │2. #test│12:55:01 @joe | hello │@joe │12:55:20 @Flashy | hi Max! │Max │ │3. #abc │ │+weebot│ │ │ │4. #def │ │peter │ │ │ │5. #ghi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n) │[12:55] [5] [irc/libera] 4:#def(+n) │ │ │[@Flashy] hi peter!█ │[@Flashy] │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ ウィンドウ #1 (バッファ #3) ▲ ウィンドウ #2 (バッファ #4) .... 垂直方向 + 水平方向分割の例: .... ▼ ウィンドウ #3 (バッファ #5) ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #abc │Welcome to #ghi │ │ weechat│12:54:15 peter | hey! │@Flashy│12:55:42 @Flashy | hi │@Flashy│ │2. #test│12:55:01 @joe | hello │@joe │12:55:56 alex | hi Flashy │alex │ │3. #abc │ │+weebot│ │ │ │4. #def │ │peter │ │ │ │5. #ghi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 5:#ghi(+n) │ │ │ │ │[@Flashy] │ │ │ │ │──────────────────────────────────────│ │ │ │ │Welcome to #def │ │ │ │ │12:55:12 Max | hi │@Flashy│ │ │ │ │12:55:20 @Flashy | hi Max! │Max │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n) │[12:55] [5] [irc/libera] 4:#def(+n) │ │ │[@Flashy] hi peter!█ │[@Flashy] │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ ウィンドウ #1 (バッファ #3) ▲ ウィンドウ #2 (バッファ #4) .... // TRANSLATION MISSING [[buffers]] === Buffers [[lines_format]] ==== 行の書式 書式付きバッファに表示される各行は以下のフィールドから構成されます: [width="100%",cols="2,2,10",options="header"] |=== | フィールド | 表示状態 | 説明 | 日付/時間 (メッセージ) | 表示 | メッセージの日付および時間 (おそらく過去)。 | 日付/時間 (表示) | 非表示 | WeeChat がメッセージを表示した時間。 | プレフィックス | 表示 | メッセージのプレフィックス、通常ニックネーム。 | メッセージ | 表示 | メッセージ自体。 | 表示状態 | 非表示 | ブール値: 行が表示された場合には真、行が <> コマンドでフィルタされた場合には偽。 | ハイライト | 非表示 | ブール値: 行がハイライトされている場合には真、それ以外の場合には偽。 | タグ | `/debug tags` の実行で表示状態を切り替え | 行に関連付けられたタグ (<>参照)。 |=== 外観オプション(_pass:[weechat.look.*]_) と色オプション (_pass:[weechat.color.chat_*]_) を使えば、行の表示をカスタマイズすることが可能です。 [[lines_tags]] ==== 行のタグ WeeChat は様々な目的で各行にタグを付けます: * ハイライト * 通知レベル * ログ記録 * <> コマンドの使用 `/debug tags` コマンドでタグを表示することが可能です (タグを非表示にする場合も同じコマンドを使います)。 通常使用するタグ (一部抜粋したリスト): [width="100%",cols="1m,4",options="header"] |=== | タグ | 説明 | no_filter | フィルタできない行 | no_highlight | ハイライトできない行 | no_log | ログファイルに書き込まれない行 | log0 … log9 | 行に対するログレベル (`/help logger` を参照) // TRANSLATION MISSING | notify_none | The line must not be added to hotlist. ^(1)^ // TRANSLATION MISSING | notify_message | The line is a user message. ^(1)^ // TRANSLATION MISSING | notify_private | The line is a private message. ^(1)^ // TRANSLATION MISSING | notify_highlight | The line is a message with highlight. ^(1)^ | self_msg | 自分のメッセージ | nick_xxx | ニックネーム "xxx" からのメッセージ | prefix_nick_ccc | プレフィックスを色 "ccc" のニックネームにします | host_xxx | メッセージ中のユーザ名とホスト | irc_xxx | IRC メッセージ "xxx" (コマンドまたは 3 桁の番号) | irc_numeric | IRC 番号メッセージ | irc_error | IRC からのエラー | irc_action | あるニックネームからのアクション (`/me` コマンド) | irc_ctcp | CTCP メッセージ | irc_ctcp_reply | CTCP メッセージに対する返信 | irc_smart_filter | "smart filter" でフィルタリング可能な IRC メッセージ | away_info | 離席状態のメッセージ |=== // TRANSLATION MISSING [NOTE] ^(1)^ When no tag "notify_xxx" is present, the default level is "low". If a tag "notify_xxx" is present, the real notify level can be different, for example if a max hotlist level is used for a nick, the notify level can be lower than the value in the tag. // TRANSLATION MISSING [[local_variables]] ==== Local variables Local variables can be defined in all buffers. A local variable has: * a name (string) * a value (string, can be empty). Local variables can be set by WeeChat, plugins, scripts, or manually on the command line in the buffer; For example to add the local variable "completion_default_template": ---- /buffer setvar completion_default_template %(my_completion) ---- To list local variables in the current buffer: ---- /buffer listvar ---- To remove the local variable "completion_default_template": ---- /buffer delvar completion_default_template ---- By default WeeChat and its default plugins interpret these variables: [width="100%",cols="^2m,2,5",options="header"] |=== | Name | Value | Description | away | any string | Away message on the server, set by irc plugin. | channel | any string | Channel name, set by irc/xfer plugins and debug buffer of relay/trigger plugins. | charset_modifier | any string | Charset modifier for the server buffer, set by irc plugin. | completion_default_template | any string | Default completion template for the buffer, overriding the option `weechat.completion.default_template`. | filter | any string | Filter defined on some buffers like `/fset`, `/server raw` (irc) and `/script`. | host | any string | Self host (if known), set by irc plugin. | lag | any string | Lag on the server, set by irc plugin. | name | any string | Buffer name (be careful, this is not the full name and this name is not enough to identify or search a buffer). | nick | any string | Self nick, set by irc and xfer plugins. | no_log | `1` (or any non-empty string) | If set, the logger plugin does not log anything for the buffer. | plugin | any string | Name of plugin which created the buffer (`core` for WeeChat buffers). | script_close_cb | any string | Close callback defined by a script for a buffer. | script_close_cb_data | any string | Data for close callback defined by a script for a buffer. | script_input_cb | any string | Input callback defined by a script for a buffer. | script_input_cb_data | any string | Data for input callback defined by a script for a buffer. | script_name | any string | Name of the script which created the buffer. | server | any string | Server name, set by irc plugin and debug buffer of relay/trigger plugins. | spell_suggest | any string | Misspelled word and suggestions (format: "misspelled:suggestions"), set by spell plugin. | trigger_filter | any string | Trigger filter, set by trigger plugin. | type | any string, for example: `channel`, `debug`, `exec`, `option`, `private`, `relay`, `script`, `server`, `user`, `xfer` | Type of buffer, set by WeeChat and many plugins. |=== [NOTE] External plugins and scripts can define and use other local variables. [[bars]] === バー _バー_ とは任意のテキストを含めることができるチャットエリア以外の場所です。 バーオプションは `weechat.bar.name.option` オプションで設定します。ここで `name` はバーの名前、`option` はこのバーのオプション名です。 バーオプションのリスト: [width="100%",cols="2m,2,10",options="header"] |=== | オプション名 | 値 | 説明 | type | `root`、`window` | `root` 型バーは画面上の全ウィンドウの外側にきっかり 1 回だけ表示されます。 デフォルトバーである _buflist_ は `root` 型のバーです。 + `window` 型バーは各ウィンドウの中に表示されます。例えば、`/window splith` や `/window splitv` などの方法で画面を 1 回分割した場合、1 つのバーがそれぞれのウィンドウに表示されます。デフォルトの `window` 型バーには _title_、_status_、_input_、_nicklist_ などがあります。 | position | `top`、`bottom`、`left`、`right` | バーの位置: チャットエリアの上、下、左、右。 | priority | 0 以上の整数 | バーの表示優先度: 型と位置が同じ複数のバーを画面に表示する順番に利用される。 + バーは画面の端から中心に向かって表示される。高い優先度を持つバーが先に (画面の端に近い側に) 表示される。 + 例: 優先度 1000 の _input_ バーは優先度 500 の _status_ バーよりも先に表示される。 | size | 0 以上の整数 | バーのサイズ: 位置が右/左の場合は列数、位置が上/下の場合は行数。値が `0` の場合は自動 (バーのサイズはバーの内容を基に計算される)。 | size_max | 0 以上の整数 | バーの最大サイズ、`0` = 制限無し (このオプションは `size` = `0` の場合のみ使われる)。 | color_bg | 色 | バーのデフォルトの背景色 | color_fg | 色 | バーのデフォルトのテキスト色 | color_delim | 色 | バーの区切り文字の色 | hidden | `on`、`off` | このオプションが `on` の場合、バーは表示されません。 + 注意: このオプションを変更する代わりに、`/bar` コマンドを使うと便利です。例: `/bar toggle nicklist` (<> コマンドを参照)。 | separator | `on`、`off` | このオプションが `on` の場合、セパレータ (区切り線) がバー同士またはバーとチャットエリアの間に表示されます。 | items | 文字列 | _items_ のリスト (詳細は<>を参照)。 | filling_left_right | `+horizontal+`、`+vertical+`、`+columns_horizontal+`、`+columns_vertical+` | 位置が `left` または `right` のバーに対するフィリングタイプ (詳細は<>を参照)。 | filling_top_bottom | `+horizontal+`、`+vertical+`、`+columns_horizontal+`、`+columns_vertical+` | 位置が `top` または `bottom` のバーに対するフィリングタイプ (詳細は<>を参照)。 | conditions | 文字列 | バーを表示する状態 (詳細は<>を参照)。 |=== [[bar_items]] ==== バー要素 _items_ オプションはバー要素をコンマ (画面上の要素同士に間隔を空ける) または `+++` (間隔を空けない) で区切った文字列です。 バー要素のリストは `/bar listitems` コマンドで表示されます。 要素名の前または後に文字を表示させることができます (英数字以外の文字、`+-+` または `+_+`)。この文字はバー (_color_delim_ オプション) で定義された区切り文字の色をつけて要素の前または後に表示されます。 バー要素を含むバーの例 "[time],buffer_number+:+buffer_plugin+.+buffer_name": .... ┌───────────────────────────────────────────────────────────────────────────┐ │[12:55] 3:irc/libera.#weechat │ └───────────────────────────────────────────────────────────────────────────┘ .... 特殊構文を使うことで、バー要素: "@buffer:item" ("buffer" はバッファの完全な名前、"item" はバー要素の名前) を表示する際に強制的に指定されたバッファを利用することが可能です。 これはルートバーに現在のウィンドウで表示されない (またはどこにも表示されない) 特定のバッファの要素を表示させる際に便利です。 例: bitlbee のニックネームリストをルートバーに表示させる (バーが _bitlist_ で bitlbee サーバが _bitlbee_ の場合): ---- /set weechat.bar.bitlist.items "@irc.bitlbee.&bitlbee:buffer_nicklist" ---- [[bar_filling]] ==== バーフィリング フィリングタイプには 4 つの種類があります: * `+horizontal+`: 左から右に向かって要素を水平に表示。要素内に改行がある場合、空白を行区切りに利用します。 * `+vertical+`: 上から下に向かって要素を表示。要素内に改行がある場合、改行を行区切りに利用します。 * `+columns_horizontal+`: テキストを左寄せして、列形式で要素を表示。最初の要素は左上、2 番目は同じ行の 1 列右側。 * `+columns_vertical+`: テキストを左寄せして、列形式で要素を表示。最初の要素は左上、2 番目は同じ列の 1 行下側。 デフォルトバーである _title_、_status_、_input_ は _horizontal_ フィリング、_nicklist_ は _vertical_ フィリング。 _nicklist_ バーに対するフィリングの例: .... ┌───────────────────────────────────────────────────────────────────────┐ │Welcome to #test, this is a test channel │ │12:54:15 peter | hey! │@carl │ │12:55:01 +Max | hello │@jessika│ │ │@maddy │ │ │%Diego │ │ │%Melody │ │ │+Max │ │ │ celia │ │ │ Eva │ │ │ freddy │ │ │ Harold^│ │ │ henry4 │ │ │ jimmy17│ │ │ jodie ▼│ │[12:55] [6] [irc/libera] 3:#test(+n){24} │ │[@carl] █ │ └───────────────────────────────────────────────────────────────────────┘ filling_left_right = vertical ▲ ┌───────────────────────────────────────────────────────────────────────┐ │Welcome to #test, this is a test channel │ │12:54:15 peter | hey! │@carl lee │ │12:55:01 +Max | hello │@jessika louise │ │ │@maddy mario │ │ │%Diego mark │ │ │%Melody peter │ │ │+Max Rachel │ │ │ celia richard│ │ │ Eva sheryl │ │ │ freddy Vince │ │ │ Harold^ warren │ │ │ henry4 zack │ │ │ jimmy17 │ │ │ jodie │ │[12:55] [6] [irc/libera] 3:#test(+n){24} │ │[@carl] █ │ └───────────────────────────────────────────────────────────────────────┘ filling_left_right = columns_vertical ▲ ┌───────────────────────────────────────────────────────────────────────┐ │@carl %Diego celia Harold^ jodie mario Rachel Vince │ │@jessika %Melody Eva henry4 lee mark richard warren │ │@maddy +Max freddy jimmy17 louise peter sheryl zack │ │───────────────────────────────────────────────────────────────────────│ │ │ filling_top_bottom = columns_vertical ▲ ┌───────────────────────────────────────────────────────────────────────┐ │@carl @jessika @maddy %Diego %Melody +Max celia Eva │ │ freddy Harold^ henry4 jimmy17 jodie lee louise mario │ │ mark peter Rachel richard sheryl Vince warren zack │ │───────────────────────────────────────────────────────────────────────│ │ │ filling_top_bottom = columns_horizontal ▲ .... [[bar_conditions]] ==== バー状態 _conditions_ オプションはバーを表示するか否かを評価する文字列です。 文字列は以下のいずれか: * _active_: 非アクティブ状態のウィンドウ * _inactive_: 非アクティブ状態のウィンドウ * _nicklist_: ニックネームリストが含まれるバッファのウィンドウ * 式: ブール値として評価 (<> コマンドを参照) 式に使える変数は以下: * `+${active}+`: ウィンドウがアクティブ状態の時に真 * `+${inactive}+`: ウィンドウが非アクティブ状態の時に真 * `+${nicklist}+`: ウィンドウに表示されるバッファがニックネームリストの場合に真。 式に使えるポインタは以下: * `+${window}+`: 状態が評価されたウィンドウ * `+${buffer}+`: 状態が評価されたウィンドウのバッファ // TRANSLATION MISSING Example to display nicklist bar in all buffers with a nicklist, and only if width of terminal is > 100: ---- /set weechat.bar.nicklist.conditions "${nicklist} && ${info:term_width} > 100" ---- // TRANSLATION MISSING Same condition, but always display nicklist on buffer _&bitlbee_ (even if terminal is small): ---- /set weechat.bar.nicklist.conditions "${nicklist} && (${info:term_width} > 100 || ${buffer.full_name} == irc.bitlbee.&bitlbee)" ---- [[bare_display]] === 最小限表示 「最小限表示」と呼ばれる特殊な表示状態を使うことで、(マウスを使って) 長い URL を簡単にクリックしたり、テキストを簡単に選択できるようになっています。 最小限表示は以下の機能を持っています: * 現在のバッファの内容だけを表示: 分割ウィンドウやバー等 (タイトル、ニックネームリスト、状態、入力、...) も表示しない * WeeChat マウスサポートを無効化 (有効化されていた場合): 端末でやるのと同じように URL をクリックしたりテキストを選択できます * ncurses を使わない、このため URL を行の最後で分断されることがなくなります。 最小限表示を有効化するデフォルトキーは kbd:[Alt+l] (`L`) で、終了するには同じキーを押してください (また、デフォルトでは入力が変更された場合に最小限表示を終了します、<> オプションを参照)。 <> オプションを使えば、時間書式を変更することも可能です。 <> コマンドを使えば、指定秒後に最小限表示を有効化することができます。 WeeChat が以下のような表示状態の場合: .... ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #abc │ │ weechat│12:52:27 --> | Flashy (flashcode@weechat.org) has joined #abc │@Flashy│ │2. #test│12:52:27 -- | Nicks #abc: [@Flashy @joe +weebot peter] │@joe │ │3. #abc │12:52:27 -- | Channel #abc: 4 nicks (2 ops, 1 voice, 1 normal) │+weebot│ │4. #def │12:52:27 -- | Channel created on Tue Jan 27 06:30:17 2009 │peter │ │5. #ghi │12:54:15 peter | hey! │ │ │ │12:55:01 @joe | peter: hook_process: https://weechat.org/files/doc │ │ │ │ | /devel/weechat_plugin_api.en.html#_weechat_hook_pr │ │ │ │ | ocess │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n){4} │ │ │[@Flashy(i)] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘ .... 最小限表示では以下の様に表示されます: .... ┌──────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │12:52 --> Flashy (flashcode@weechat.org) has joined #abc │ │12:52 -- Nicks #abc: [@Flashy @joe +weebot peter] │ │12:52 -- Channel #abc: 4 nicks (2 ops, 1 voice, 1 normal) │ │12:52 -- Channel created on Tue Jan 27 06:30:17 2009 │ │12:54 hey! │ │12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/devel/weechat_plugin_a│ │pi.en.html#_weechat_hook_process │ └──────────────────────────────────────────────────────────────────────────────────────┘ .... このため、端末で問題なく _joe_ さんからの URL をクリックできます (もちろん、使用中の端末で URL をクリックできるように設定されていなければいけませんが)。 [[notify_levels]] === 通知レベル [[setup_notify_levels]] ==== 通知レベルの設定 バッファに表示された各メッセージには 4 つのレベルが設定されています。レベルの低いものから順に: * _low_: 重要性の低いメッセージ (例えば irc の参加/退出/終了メッセージ) * _message_: ユーザからのメッセージ * _private_: プライベートバッファのメッセージ * _highlight_: ハイライトされたメッセージ それぞれのバッファには通知レベルが設定されており、通知レベルに対応するメッセージの数がホットリストに表示されます。 デフォルトの通知レベルは <> オプションで指定し、デフォルトは _all_ です。 [width="75%",cols="2m,7",options="header"] |=== | 通知レベル | ホットリストに追加されるメッセージのレベル | none | (無効) | highlight | _highlight_ + _private_ | message | _highlight_ + _private_ + _message_ | all | _highlight_ + _private_ + _message_ + _low_ |=== 通知レベルはバッファグループに対して設定することも可能で、例えば irc サーバ "libera" に含まれる全てのバッファに対して設定する場合: ---- /set weechat.notify.irc.libera message ---- "#weechat" チャンネルだけに対して、通知レベルを _highlight_ に設定する場合: ---- /set weechat.notify.irc.libera.#weechat highlight ---- `/buffer` コマンドで、あるバッファに対する通知レベルを設定できます: ---- /buffer notify highlight ---- [[max_hotlist_level_nicks]] ==== ニックネームに対するホットリストレベルの最大値 ニックネーム、バッファ、バッファグループ (IRC サーバなど) に対してホットリストレベルの最大値を設定することが可能です。 あるニックネームのリストに対してバッファプロパティ "hotlist_max_level_nicks" を設定したり、各ニックネームに対してホットリストレベルの最大値を設定することも可能です。設定可能なレベルは以下です: * -1: ニックネームがホットリストを変更しない優先度 * 0: 低優先度 (参加および退出メッセージなど) * 1: 通常メッセージ * 2: プライベートメッセージ * 3: ハイライト (これはすべてのメッセージのデフォルト最大値であるため、通常これを指定することはありません) 例えば現在のバッファで "joe" と "mike" からのメッセージに対するハイライトを無効化するには以下のように設定します: ---- /buffer set hotlist_max_level_nicks_add joe:2,mike:2 ---- [NOTE] バッファプロパティ "hotlist_max_level_nicks" は設定ファイルに保存されません。 + これを保存するには _buffer_autoset.py_ スクリプトを使ってください: このスクリプトをインストールするには `+/script install buffer_autoset.py+` コマンドを使い、ヘルプを見るには `+/help buffer_autoset+` コマンドを使ってください。 [[highlights]] === ハイライト [[highlights_words]] ==== ハイライトする単語の追加 デフォルトで WeeChat は自分のニックネームが含まれる他のユーザからのメッセージをハイライトします。このため、ハイライトはバッファに依存します (ニックネームはバッファごとに異なる場合があります)。 他の単語を追加するには <> オプションを使います。例えば自分のニックネーム、"word1"、"word2"、"test" から始まる任意の単語をハイライトするには以下のように設定します: ---- /set weechat.look.highlight word1,word2,test* ---- 単語に対してさらに具体的なルールを設定する必要がある場合、<> オプションを使って正規表現で指定することも可能です。例えば "flashcode"、"flashcöde"、"flashy" という単語をハイライトするには以下のように設定します: ---- /set weechat.look.highlight_regex flashc[oö]de|flashy ---- ハイライトする単語の区切りは <> オプションを使って設定します。 [[highlights_tags]] ==== ハイライトするタグの追加 表示される行には「タグ」を含めることが可能です。「タグ」とはメッセージの出自やメッセージ自身に関する情報を与えるものです。 + `/debug tags` コマンドでタグを表示することが可能です (タグを非表示にする場合も同じコマンドを使います)。 ハイライトするタグを明示するには <> オプションを使います。複数のタグを指定するにはコンマで区切り、複数のタグの論理 "and" を表すには `+++` で区切ります。 例えば "FlashCode" というニックネームからのすべてのメッセージと "toto" で始まるニックネームからのすべての通知メッセージをハイライトするには以下のように設定します: ---- /set weechat.look.highlight_tags "nick_flashcode,irc_notice+nick_toto*" ---- [[highlights_regex_buffer]] ==== バッファに対する特別なハイライトの設定 バッファプロパティ "highlight_regex" と正規表現を使ってハイライトを強制できます。 例えば現在のバッファ宛のすべてのメッセージをハイライトするには以下のように設定します: ---- /buffer set highlight_regex .* ---- [NOTE] バッファプロパティ "highlight_regex" は設定ファイルに保存されません。 + これを保存するには _buffer_autoset.py_ スクリプトを使ってください: このスクリプトをインストールするには `+/script install buffer_autoset.py+` コマンドを使い、ヘルプを見るには `+/help buffer_autoset+` コマンドを使ってください。 [[key_bindings]] === デフォルトのキー割り当て [[key_bindings_command_line]] ==== コマンドライン用のキー [width="100%",cols="^.^3,.^8,.^5",options="header"] |=== | キー | 説明 | コマンド | kbd:[←] + kbd:[Ctrl+b] | コマンドラインで前の文字に移動 | `+/input move_previous_char+` | kbd:[→] + kbd:[Ctrl+f] | コマンドラインで次の文字に移動 | `+/input move_next_char+` | kbd:[Ctrl+←] + kbd:[Alt+b] | コマンドラインで前の単語に移動 | `+/input move_previous_word+` | kbd:[Ctrl+→] + kbd:[Alt+f] | コマンドラインで次の単語に移動 | `+/input move_next_word+` | kbd:[Home] + kbd:[Ctrl+a] | コマンドラインで行頭に移動 | `+/input move_beginning_of_line+` | kbd:[End] + kbd:[Ctrl+e] | コマンドラインで行末に移動 | `+/input move_end_of_line+` | kbd:[Ctrl+c], kbd:[b] | テキストを太字化するコードの挿入 | `+/input insert \x02+` | kbd:[Ctrl+c], kbd:[c] | テキストに色をつけるコードの挿入 | `+/input insert \x03+` | kbd:[Ctrl+c], kbd:[i] | テキストをイタリック体にするコードの挿入 | `+/input insert \x1D+` | kbd:[Ctrl+c], kbd:[o] | テキスト色のリセットを行うコードの挿入 | `+/input insert \x0F+` | kbd:[Ctrl+c], kbd:[v] | テキスト色の反転を行うコードの挿入 | `+/input insert \x16+` | kbd:[Ctrl+c], kbd:[_] | テキストに下線を引くコードの挿入 | `+/input insert \x1F+` | kbd:[Del] + kbd:[Ctrl+d] | コマンドラインで次の文字を削除 | `+/input delete_next_char+` | kbd:[Backsp.] + kbd:[Ctrl+h] | コマンドラインで前の文字を削除 | `+/input delete_previous_char+` | kbd:[Ctrl+k] | コマンドラインでカーソルより後の文字列を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) | `+/input delete_end_of_line+` | kbd:[Ctrl+r] | バッファ中の履歴からテキスト検索 (<>を参照) | `+/input search_text_here+` | kbd:[Ctrl+t] | 文字の入れ替え | `+/input transpose_chars+` | kbd:[Ctrl+u] | コマンドラインでカーソルより前の文字列を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) | `+/input delete_beginning_of_line+` | kbd:[Ctrl+w] | コマンドラインで前の単語を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) | `+/input delete_previous_word+` | kbd:[Ctrl+y] | WeeChat 専用の内部クリップボードの内容をペースト | `+/input clipboard_paste+` | kbd:[Ctrl+_] | コマンドラインの最後の動作をやり直す | `+/input undo+` | kbd:[Alt+_] | コマンドラインの最後の動作を取り消す | `+/input redo+` | kbd:[Tab] | コマンドやニックネームを補完 (再度 kbd:[Tab] することで次の補完候補を表示) | `+/input complete_next+` | kbd:[Shift+Tab] | 補完候補が無い場合: 部分補完を行う、補完候補が有る場合: 前の補完候補を表示 | `+/input complete_previous+` | kbd:[Enter] + kbd:[Ctrl+j] + kbd:[Ctrl+m] | コマンドを実行するか、メッセージを送信する (検索モードの場合: 検索の終了) | `+/input return+` // TRANSLATION MISSING | kbd:[Alt+Enter] | Insert a newline. | `+/input insert \n+` | kbd:[↑] | 前のコマンド/メッセージを呼び出す (検索モードの場合: 上方向に検索) | `+/input history_previous+` | kbd:[↓] | 次のコマンド/メッセージを呼び出す (検索モードの場合: 下方向に検索) | `+/input history_next+` | kbd:[Ctrl+↑] | グローバル履歴から前のコマンド/メッセージを呼び出す (すべてのバッファに対して共通の履歴) | `+/input history_global_previous+` | kbd:[Ctrl+↓] | グローバル履歴から次のコマンド/メッセージを呼び出す (すべてのバッファに対して共通の履歴) | `+/input history_global_next+` | kbd:[Alt+d] | コマンドラインで次の単語を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) | `+/input delete_next_word+` | kbd:[Alt+k] | キー入力を奪って、コマンドラインにコード (キーが割り当てられていればコマンド) を入力 | `+/input grab_key_command+` | kbd:[Alt+r] | コマンドラインへの入力をすべて削除 | `+/input delete_line+` | kbd:[Alt+s] | スペルチェッカの有効無効を切り替え | `+/mute spell toggle+` |=== [[key_bindings_buffers_windows]] ==== バッファ / ウィンドウ用のキー [width="100%",cols="^.^3,.^8,.^5",options="header"] |=== | キー | 説明 | コマンド | kbd:[Ctrl+l] (`L`) | 全ウィンドウを再描画 | `+/window refresh+` | kbd:[Ctrl+s], kbd:[Ctrl+u] | すべてのバッファに未読マークをセット | `+/input set_unread+` | kbd:[Ctrl+x] | 同じ番号を持つバッファにアタッチされていた場合、現在のバッファに移動 | `+/input switch_active_buffer+` | kbd:[Alt+x] | マージされたバッファに再ズーム (kbd:[Alt+x]: 全てのマージされたバッファを表示) | `+/input zoom_merged_buffer+` | kbd:[PgUp] | バッファ履歴を 1 ページ分上方向にスクロール | `+/window page_up+` | kbd:[PgDn] | バッファ履歴を 1 ページ分下方向にスクロール | `+/window page_down+` | kbd:[Alt+PgUp] | バッファ履歴を数行分上方向にスクロール | `+/window scroll_up+` | kbd:[Alt+PgDn] | バッファ履歴を数行分下方向にスクロール | `+/window scroll_down+` | kbd:[Alt+Home] | バッファ履歴を最初までスクロール | `+/window scroll_top+` | kbd:[Alt+End] | バッファ履歴を最後までスクロール | `+/window scroll_bottom+` | kbd:[F1] + kbd:[Ctrl+F1] | バッファリストを上方に 1 ページスクロール | `+/bar scroll buflist * -100%+` | kbd:[F2] + kbd:[Ctrl+F2] | バッファリストを下方に 1 ページスクロール | `+/bar scroll buflist * +100%+` | kbd:[Alt+F1] | バッファリストを上端までスクロール | `+/bar scroll buflist * b+` | kbd:[Alt+F2] | バッファリストを下端までスクロール | `+/bar scroll buflist * e+` | kbd:[Alt+←] + kbd:[Alt+↑] + kbd:[Ctrl+p] + kbd:[F5] | 前のバッファに移動 | `+/buffer -1+` | kbd:[Alt+→] + kbd:[Alt+↓] + kbd:[Ctrl+n] + kbd:[F6] | 後のバッファに移動 | `+/buffer +1+` | kbd:[F7] | ウィンドウを前に移動 | `+/window -1+` | kbd:[F8] | ウィンドウを後に移動 | `+/window +1+` | kbd:[F9] | バッファタイトルを左方向にスクロール | `+/bar scroll title * -30%+` | kbd:[F10] | バッファタイトルを右方向にスクロール | `+/bar scroll title * +30%+` | kbd:[F11] + kbd:[Ctrl+F11] | ニックネームリストを上方向にスクロール | `+/bar scroll nicklist * -100%+` | kbd:[F12] + kbd:[Ctrl+F12] | ニックネームリストを下方向にスクロール | `+/bar scroll nicklist * +100%+` | kbd:[Alt+F11] | ニックネームリストを一番上にスクロール | `+/bar scroll nicklist * b+` | kbd:[Alt+F12] | ニックネームリストを一番下にスクロール | `+/bar scroll nicklist * e+` | kbd:[Alt+a] | 変更のあった次のバッファに移動 (優先順位: ハイライト、新規メッセージ、その他) | `+/input jump_smart+` // TRANSLATION MISSING | kbd:[Alt+Shift+B] | Toggle buflist. | `+/buflist toggle+` // TRANSLATION MISSING | kbd:[Alt+h], kbd:[Alt+c] | Clear hotlist (activity notification on buffers). | `+/input hotlist_clear+` // TRANSLATION MISSING | kbd:[Alt+h], kbd:[Alt+m] | Remove current buffer from hotlist. | `+/input hotlist_remove_buffer+` // TRANSLATION MISSING | kbd:[Alt+h], kbd:[Alt+r] | Restore latest hotlist removed in the current buffer. | `+/input hotlist_restore_buffer+` // TRANSLATION MISSING | kbd:[Alt+h], kbd:[Alt+Shift+R] | Restore latest hotlist removed in all buffers. | `+/input hotlist_restore_all+` | kbd:[Alt+j], kbd:[Alt+f] | 最初のバッファに移動 | `+/buffer -+` | kbd:[Alt+j], kbd:[Alt+l] (`L`) | 最後のバッファに移動 | `+/buffer ++` | kbd:[Alt+j], kbd:[Alt+r] | IRC 生バッファに移動 | `+/server raw+` | kbd:[Alt+j], kbd:[Alt+s] | IRC サーババッファに移動 | `+/server jump+` | kbd:[Alt+0...9] | 番号のバッファに移動 (0 = 10) | `+/buffer *N+` | kbd:[Alt+j], kbd:[01...99] | 番号のバッファに移動 | `+/buffer *NN+` | kbd:[Alt+l] (`L`) | 最小限表示の有効無効を切り替え | `+/window bare+` | kbd:[Alt+m] | マウスの有効無効を切り替え | `+/mouse toggle+` | kbd:[Alt+n] | 次のハイライトまでスクロール | `+/window scroll_next_highlight+` // TRANSLATION MISSING | kbd:[Alt+Shift+N] | Toggle nicklist bar. | `+/bar toggle nicklist+` | kbd:[Alt+p] | 前のハイライトまでスクロール | `+/window scroll_previous_highlight+` | kbd:[Alt+u] | バッファを最初の未読行までスクロール | `+/window scroll_unread+` | kbd:[Alt+w], kbd:[Alt+↑] | 上のウィンドウに移動 | `+/window up+` | kbd:[Alt+w], kbd:[Alt+↓] | 下のウィンドウに移動 | `+/window down+` | kbd:[Alt+w], kbd:[Alt+←] | 左のウィンドウに移動 | `+/window left+` | kbd:[Alt+w], kbd:[Alt+→] | 右のウィンドウに移動 | `+/window right+` | kbd:[Alt+w], kbd:[Alt+b] | すべてのウィンドウサイズを均等に | `+/window balance+` | kbd:[Alt+w], kbd:[Alt+s] | 2 つのウィンドウを入れ替え | `+/window swap+` | kbd:[Alt+z] | 現在のウィンドウを最大化 (再度 kbd:[Alt+z] することで: 最初のウィンドウ状態に戻す、最大化前の状態) | `+/window zoom+` | kbd:[Alt+<] | バッファ訪問履歴で前のバッファに移動 | `+/input jump_previously_visited_buffer+` | kbd:[Alt+>] | バッファ訪問履歴で次のバッファに移動 | `+/input jump_next_visited_buffer+` | kbd:[Alt+/] | 最後に表示したバッファに移動 (バッファ移動前に表示していたウィンドウ) | `+/input jump_last_buffer_displayed+` | kbd:[Alt+=] | フィルタの有効無効を切り替え | `+/filter toggle+` | kbd:[Alt+-] | 現在のバッファのフィルタの有効無効を切り替え | `+/filter toggle @+` |=== [[key_bindings_search_context]] ==== 「検索」モード用のキー 以下のキーは「検索」検索モード (バッファ内のテキスト検索用に kbd:[Ctrl+r] が押された状態) でのみ有効です。 [width="100%",cols="^.^3,.^8,.^5",options="header"] |=== | キー | 説明 | コマンド | kbd:[Ctrl+r] | 検索タイプを切り替え: 文字列 (デフォルト)、正規表現 | `+/input search_switch_regex+` | kbd:[Alt+c] | 大文字小文字を区別して検索 | `+/input search_switch_case+` | kbd:[Tab] | 検索範囲: メッセージ (デフォルト)、プレフィックス、プレフィックスとメッセージ | `+/input search_switch_where+` | kbd:[↑] | 前のキーワードで検索 | `+/input search_previous+` | kbd:[↓] | 次のキーワードで検索 | `+/input search_next+` | kbd:[Enter] + kbd:[Ctrl+j] + kbd:[Ctrl+m] | 現在の位置で検索を終了 | `+/input search_stop_here+` | kbd:[Ctrl+q] | 検索を終了してバッファの最後までスクロール | `+/input search_stop+` |=== [[key_bindings_cursor_context]] ==== 「カーソル」モード用のキー 以下のキーは「カーソル」モード (画面上でカーソルを自由に動かせる状態) でのみ有効です。 [width="100%",cols="^.^3,^.^2,.^7,.^7",options="header"] |=== | キー | エリア | 説明 | コマンド | kbd:[↑] | - | カーソルを上の行に移動 | `+/cursor move up+` | kbd:[↓] | - | カーソルを下の行に移動 | `+/cursor move down+` | kbd:[←] | - | カーソルを左の列に移動 | `+/cursor move left+` | kbd:[→] | - | カーソルを右の列に移動 | `+/cursor move right+` | kbd:[Alt+↑] | - | カーソルを上のエリアに移動 | `+/cursor move area_up+` | kbd:[Alt+↓] | - | カーソルを下のエリアに移動 | `+/cursor move area_down+` | kbd:[Alt+←] | - | カーソルを左のエリアに移動 | `+/cursor move area_left+` | kbd:[Alt+→] | - | カーソルを右のエリアに移動 | `+/cursor move area_right+` | kbd:[m] | チャット | メッセージを引用 | `+hsignal:chat_quote_message;/cursor stop+` | kbd:[q] | チャット | プレフィックスとメッセージを引用 | `+hsignal:chat_quote_prefix_message;/cursor stop+` | kbd:[Q] | チャット | 時間、プレフィックス、メッセージを引用 | `+hsignal:chat_quote_time_prefix_message;/cursor stop+` | kbd:[b] | ニックネームリスト| ニックネームをバンする | `+/window ${_window_number};/ban ${nick}+` | kbd:[k] | ニックネームリスト| ニックネームをキックする | `+/window ${_window_number};/kick ${nick}+` | kbd:[K] | ニックネームリスト| ニックネームをバンとキックする | `+/window ${_window_number};/kickban ${nick}+` | kbd:[q] | ニックネームリスト| ニックネームに対するクエリを開く | `+/window ${_window_number};/query ${nick};/cursor stop+` | kbd:[w] | ニックネームリスト| ニックネームに対して whois を行う | `+/window ${_window_number};/whois ${nick}+` | kbd:[Enter] + kbd:[Ctrl+j] + kbd:[Ctrl+m] | - | カーソルモードを終了 | `+/cursor stop+` |=== [[key_bindings_mouse_context]] ==== 「マウス」モード用のキー 以下のキーは「マウス」モード (マウスイベントが発生したとき) でのみ有効です。 [width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"] |=== | ボタン/ホイール ^(1)^ | ジェスチャー | エリア | 説明 | コマンド | ◾◽◽ | - | チャット | ウィンドウに移動 | `+/window ${_window_number}+` | ◾◽◽ | 左 | チャット | 前のバッファに移動 | `+/window ${_window_number};/buffer +1+` | ◾◽◽ | 右 | チャット | 次のバッファに移動 | `+/window ${_window_number};/buffer +1+` | ◾◽◽ | 左 (長く) | チャット | 最初のバッファに移動 | `+/window ${_window_number};/buffer 1+` | ◾◽◽ | 右 (長く) | チャット | 最後のバッファに移動 | `+/window ${_window_number};/input jump_last_buffer+` | kbd:[▲] | - | チャット | バッファ履歴を上方向にスクロール | `+/window scroll_up -window ${_window_number}+` | kbd:[▼] | - | チャット | バッファ履歴を下方向にスクロール | `+/window scroll_down -window ${_window_number}+` | kbd:[Ctrl+▲] | - | チャット | 水平左方向にスクロール | `+/window scroll_horiz -window ${_window_number} -10%+` | kbd:[Ctrl+▼] | - | チャット | 水平右方向にスクロール | `+/window scroll_horiz -window ${_window_number} +10%+` // TRANSLATION MISSING | kbd:[▲] | - | chat: fset buffer | Move five lines up in fset buffer. | `+/fset -up 5+` // TRANSLATION MISSING | kbd:[▼] | - | chat: fset buffer | Move five lines down in fset buffer. | `+/fset -down 5+` // TRANSLATION MISSING | ◾◽◽ | - | chat: fset buffer | Select line in fset buffer. | `+/window ${_window_number};/fset -go ${_chat_line_y}+` // TRANSLATION MISSING | ◽◽◾ | - | chat: fset buffer | Toggle boolean (on/off) or edit the option value. | `+hsignal:fset_mouse+` // TRANSLATION MISSING | ◽◽◾ | left | chat: fset buffer | Decrease value for integer/color, set/append to value for other types. | `+hsignal:fset_mouse+` // TRANSLATION MISSING | ◽◽◾ | right | chat: fset buffer | Increase value for integer/color, set/append to value for other types. | `+hsignal:fset_mouse+` // TRANSLATION MISSING | ◽◽◾ | up / down | chat: fset buffer | Mark/unmark multiple options. | `+hsignal:fset_mouse+` | kbd:[▲] | - | チャット: スクリプトバッファ | スクリプトバッファを 5 行上方向にスクロール | `+/script up 5+` | kbd:[▼] | - | チャット: スクリプトバッファ | スクリプトバッファで 5 行下方向にスクロール | `+/script down 5+` | ◾◽◽ | - | チャット: スクリプトバッファ | スクリプトバッファで行選択 | `+/script go ${_chat_line_y}+` | ◽◽◾ | - | チャット: スクリプトバッファ | スクリプトのインストール `+/ 削除 | /script go ${_chat_line_y};/script installremove ${script_name_with_extension}+` | ◾◽◽ | 上 / 左 | バッファリスト | 指定したバッファを下の番号に移動 | `+buflist_mouse+` シグナル | ◾◽◽ | 下 / 右 | バッファリスト | 指定したバッファを上の番号に移動 | `+buflist_mouse+` シグナル | ◾◽◽ | - | バッファリスト | 指定したバッファに切り替える (現在のバッファを指定した場合、バッファ切り替え履歴で前のバッファに切り替える) | `+buflist_mouse+` シグナル | ◽◽◾ | - | バッファリスト | 現在のバッファを指定した場合、バッファ切り替え履歴で次のバッファに切り替える | `+buflist_mouse+` シグナル | kbd:[Ctrl+▲] | - | バッファリスト | バッファ切り替え履歴で前のバッファに切り替える | `+buflist_mouse+` シグナル | kbd:[Ctrl+▼] | - | バッファリスト | バッファ切り替え履歴で次のバッファに切り替える | `+buflist_mouse+` シグナル | ◾◽◽ | 上 | ニックネームリスト | ニックネームリストを 1 ページ分上方向にスクロール | `+/bar scroll nicklist ${_window_number} -100%+` | ◾◽◽ | 下 | ニックネームリスト | ニックネームリストを 1 ページ分下方向にスクロール | `+/bar scroll nicklist ${_window_number} +100%+` | ◾◽◽ | 上 (長く) | ニックネームリスト | ニックネームリストの最初に移動 | `+/bar scroll nicklist ${_window_number} b+` | ◾◽◽ | 下 (長く) | ニックネームリスト | ニックネームリストの最後に移動 | `+/bar scroll nicklist ${_window_number} e+` | ◾◽◽ | - | ニックネームリスト | ニックネームに対するクエリを開く | `+/window ${_window_number};/query ${nick}+` | ◽◽◾ | - | ニックネームリスト | ニックネームに対する whois を行う | `+/window ${_window_number};/whois ${nick}+` | ◾◽◽ | 左 | ニックネームリスト | ニックネームをキックする | `+/window ${_window_number};/kick ${nick}+` | ◾◽◽ | 左 (長く) | ニックネームリスト | ニックネームをキックとバンする | `+/window ${_window_number};/kickban ${nick}+` | ◽◽◾ | 左 | ニックネームリスト | ニックネームをバンする | `+/window ${_window_number};/ban ${nick}+` | ◽◽◾ | - | 入力 | マウスイベントを奪ってコマンドラインにコードを入力 | `+/input grab_mouse_area+` | kbd:[▲] | - | 任意のバー | バーを -20% スクロール | `+/bar scroll ${_bar_name} ${_window_number} -20%+` | kbd:[▼] | - | 任意のバー | バーを +20% スクロール | `+/bar scroll ${_bar_name} ${_window_number} +20%+` | ◽◾◽ | - | 任意の場所 | この場所でカーソルモードを開始 | `+/cursor go ${_x},${_y}+` |=== [NOTE] ^(1)^ kbd:[▲] と kbd:[▼] はホイールの上方向回転と下方向回転に対応します。 // TRANSLATION MISSING [[key_bindings_fset_buffer]] ==== Keys for fset buffer // TRANSLATION MISSING These keys and actions are used on the fset buffer (see <>). // TRANSLATION MISSING [width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"] |=== | Key | Action ^(1)^ | Description | Command | kbd:[↑] | | Move one line up. | `+/fset -up+` | kbd:[↓] | | Move one line down. | `+/fset -down+` | kbd:[PgUp] | | Move one page up. | `+/window page_up+` | kbd:[PgDn] | | Move one page down. | `+/window page_down+` | kbd:[Alt+Home] | `pass:[<<]` | Move to first line. | `+/fset -go 0+` | kbd:[Alt+End] | `pass:[>>]` | Move to last line. | `+/fset -go end+` | kbd:[F11] | `pass:[<]` | Scroll horizontally on the left. | `+/fset -left+` | kbd:[F12] | `pass:[>]` | Scroll horizontally on the right. | `+/fset -right+` | kbd:[Alt+Space] | `t` | Toggle boolean value. | `+/fset -toggle+` | kbd:[Alt+-] | `-` | Subtract 1 from value for integer/color, set value for other types. | `+/fset -add -1+` | kbd:[Alt++] | `+` | Add 1 to value for integer/color, append to value for other types. | `+/fset -add 1+` | kbd:[Alt+f], kbd:[Alt+r] | `r` | Reset value. | `+/fset -reset+` | kbd:[Alt+f], kbd:[Alt+u] | `u` | Unset value. | `+/fset -unset+` | kbd:[Alt+Enter] | `s` | Set value. | `+/fset -set+` | kbd:[Alt+f], kbd:[Alt+n] | `n` | Set new value. | `+/fset -setnew+` | kbd:[Alt+f], kbd:[Alt+a] | `a` | Append to value. | `+/fset -append+` | kbd:[Alt+,] | `,` | Mark/unmark option. | `+/fset -mark 1+` | kbd:[Shift+↑] | | Move one line up and mark/unmark option. | `+/fset -up; /fset -mark+` | kbd:[Shift+↓] | | Mark/unmark option and move one line down. | `+/fset -mark; /fset -down+` | | `m:xxx` | Mark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see <>). | | | `u:xxx` | Unmark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see <>). | | kbd:[Ctrl+l] (`L`) | | Refresh options and whole screen. | `+/fset -refresh+` | | `$` | Refresh options (keep marked options). | | | `$$` | Refresh options (unmark all options). | | kbd:[Alt+p] | | Toggle plugin description options (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+` | kbd:[Alt+v] | | Toggle help bar. | `+/bar toggle fset+` | | `s:x,y` | Sort options by fields x,y (see option <>). | `+/mute /set fset.look.sort x,y+` | | `s:` | Reset sort to its default value (see option <>). | `+/mute /unset fset.look.sort+` | | `w:xxx` | Export options in file "xxx". | `+/fset -export xxx+` | | `w-:xxx` | Export options in file "xxx" without help. | `+/fset -export -nohelp xxx+` | | `w+:xxx` | Export options in file "xxx" with help. | `+/fset -export -help xxx+` | kbd:[Ctrl+x] | `x` | Switch the format used to display options. | `+/fset -format+` | | `q` | Close fset buffer. | `+/buffer close+` |=== // TRANSLATION MISSING [NOTE] ^(1)^ The action must be entered as input on the command line, followed by kbd:[Enter]. // TRANSLATION MISSING [[key_bindings_script_buffer]] ==== Keys for script buffer // TRANSLATION MISSING These keys and actions are used on the script buffer (see <>). // TRANSLATION MISSING [width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"] |=== | Key | Action ^(1)^ | Description | Command | kbd:[↑] | | Move one line up. | `+/script up+` | kbd:[↓] | | Move one line down. | `+/script down+` | kbd:[PgUp] | | Move one page up. | `+/window page_up+` | kbd:[PgDn] | | Move one page down. | `+/window page_down+` | kbd:[Alt+i] | `i` | Install script. | `+/script install+` | kbd:[Alt+r] | `r` | Remove script. | `+/script remove+` | kbd:[Alt+l] (`L`) | `l` | Load script. | `+/script load+` | kbd:[Alt+u] | `u` | Unload script. | `+/script unload+` | kbd:[Alt+Shift+A] | `A` | Autoload script. | `+/script toggleautoload+` | kbd:[Alt+h] | `h` | Hold/unhold script. | `+/script hold+` | kbd:[Alt+v] | `v` | View script. | `+/script show+` |=== // TRANSLATION MISSING [NOTE] ^(1)^ The action must be entered as input on the command line, followed by kbd:[Enter]. [[mouse]] === マウスサポート WeeChat はマウスクリックとマウスジェスチャーをサポートしています。 ローカル端末と screen/tmux の有無にかかわらず ssh 接続経由で利用可能です。 [[mouse_enable]] ==== マウスの有効化 起動時にマウスを有効化するには: ---- /set weechat.look.mouse on ---- マウスを有効化するには kbd:[Alt+m] を押すか、以下のコマンドを使います: ---- /mouse enable ---- キーにマウスの一時的な無効化を割り当てることができます。例えば、kbd:[Alt+%] キーにマウスを 10 秒間無効化する機能を割り当てるには: ---- /key bind meta-% /mouse toggle 10 ---- [IMPORTANT] WeeChat でマウスを有効化した場合、すべてのマウスイベントは WeeChat によって捕捉されます。したがって、カット/ペーストなどの操作や URL のクリックなどは端末に送信されません。kbd:[Shift] キーを使えば、一時的にマウスを無効化して、端末へ直接イベントを送信する事が可能です (一部の端末、例えば iTerm などでは kbd:[Shift] の代わりに kbd:[Alt] を使ってください)。 [NOTE] マウスに関するトラブルがあれば link:weechat_faq.ja.html#mouse[WeeChat FAQ (よくある質問) / マウス]を参照してください。 [[mouse_bind_events]] ==== コマンドに対してマウスイベントを割り当てる WeeChat はデフォルトマウスイベントの多くを定義しています (<>を参照)。 `/key` コマンドで "mouse" コンテキストを指定することで割り当てを追加、変更できます (詳しい使い方は <> コマンドを参照)。 イベント名には修飾キー (任意)、ボタン/ホイール名、ジェスチャー (任意) を利用できます。異なるイベントは `+-+` で分割してください。 修飾キーリスト: [width="100%",cols="1m,4",options="header"] |=== | 修飾キー | 説明 | ctrl | kbd:[Ctrl] キー | alt | kbd:[Alt] キー | ctrl-alt | kbd:[Ctrl] + kbd:[Alt] キー |=== ボタン/ホイールのリスト: [width="100%",cols="1m,4",options="header"] |=== | ボタン/ホイール | 説明 | button1 | 左ボタンクリック | button2 | 右ボタンクリック | button3 | 中ボタンクリック (多くの場合ホイールクリック) | button4 ... button9 | その他のボタンクリック | wheelup | ホイール (上方向) | wheeldown | ホイール (下方向) |=== ジェスチャーのリスト (ボタンのみ対応、ホイール未対応): [width="100%",cols="1m,4",options="header"] |=== | ジェスチャー | 距離 | gesture-up | 3 から 19 | gesture-up-long | 20 以上 | gesture-down | 3 から 19 | gesture-down-long | 20 以上 | gesture-left | 3 から 39 | gesture-left-long | 40 以上 | gesture-right | 3 から 39 | gesture-right-long | 40 以上 |=== 未完了イベントのリスト (ボタンのみ、プラグイン/スクリプトで便利): [width="100%",cols="1m,4",options="header"] |=== | イベント | 説明 | event-down | マウスボタンが押され、離されていない状態 | event-drag | マウスボタンが押された状態でマウスが動かされた |=== イベントの表記例: * `button1` * `ctrl-button1` * `button1-gesture-right` * `button1-event-down` * `button1-event-drag` * `alt-button2-gesture-down-long` * `wheelup` * `ctrl-alt-wheeldown` * ... [TIP] "mouse" イベントにキーを割り当てる場合、イベント名の最初または最後に `+*+` を使うことで複数のイベントにマッチさせることができます。例えば `+button1-gesture-*+` は左クリックを利用したすべてのジェスチャーにマッチします。 [TIP] `+/input grab_mouse+` コマンドの後にマウスを動かすことでコマンドラインにマウスイベントが入力されます。これにより対応するイベントを確認できます。 [[secured_data]] === 暗号化データ [[secured_data_storage]] ==== データの保存 WeeChat はパスワードおよび _sec.conf_ ファイルに保存されている個人データを暗号化することができます。 この設定ファイルは他のどのファイルよりも先に読まれ、ファイルに保存されている値を WeeChat およびプラグイン/スクリプトのオプションで使うことができます。 _sec.conf_ に含まれるデータを暗号化するパスフレーズを設定することが可能です。これは必須ではありませんが、パスフレーズを設定することを強く勧めます。パスフレーズを設定しない場合、データは平文でファイルに保存されます。 ---- /secure passphrase this is my passphrase ---- // TRANSLATION MISSING [[secured_data_passphrase_on_startup]] ===== Passphrase on startup When a passphrase is set, WeeChat will ask you to enter it on startup (but not on `/upgrade`). If you are using a password manager, you can run an external program to read the passphrase instead of having to type it manually on WeeChat startup. + For example with password-store (command `pass`): ---- /set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase" ---- The program may ask you unlock your GPG key or enter another passphrase to read the secret. WeeChat will wait for the end of the command to read the passphrase on the standard output (it must be on the first line without any extra character). + If the output contains no passphrase or if it is wrong, WeeChat will then ask you to enter it. [[secured_data_encryption]] ===== 暗号化 データの暗号化は 3 段階に分けて行われます: . パスフレーズから鍵を生成 (任意の salt を加えます)。 . 暗号化するデータのハッシュを計算。 . ハッシュとデータを暗号化 (出力: salt + 暗号化済みのハッシュ/データ)。 [NOTE] ブロック暗号モードは _CFB_ です。 結果は 16 進数文字列として _sec.conf_ ファイルに保存されます、例: ---- [data] __passphrase__ = on libera = "53B1C86FCDA28FC122A95B0456ABD79B5AB74654F21C3D099A6CCA8173239EEA59533A1D83011251F96778AC3F5166A394" ---- [[secured_data_decryption]] ===== 復号化 データの復号化は 3 段階に分けて行われます: . salt とパスフレーズを使って鍵を生成。 . ハッシュとデータを復号化。 . 復号化したハッシュとデータのハッシュが同じことを確認。 [[secured_data_manage]] ==== 暗号化データの管理 暗号化データを追加するには、`/secure set` を使ってください、_libera_ IRC サーバのパスワードを設定する例: ---- /secure set libera mypassword ---- 利便性を考慮して、暗号化データを専用のバッファに表示できるようになっています (値を見るにはバッファで kbd:[Alt+v]、以下のコマンドを実行してください: ---- /secure ---- 例えばパスワードなどの個人データを含むオプションで暗号化データを使うことができます、書式: "${sec.data.xxx}" ここで "xxx" は暗号化データの名前です (`/secure set xxx ...` のように使います)。 + 利用できるオプションの完全なリストはを見るには、`/help secure` を使ってください。 例えば上の _libera_ パスワードを <>で使うには: ---- /set irc.server.libera.sasl_password "${sec.data.libera}" ---- [[commands_and_options]] === コマンドとオプション [[weechat_commands]] ==== WeeChat コマンド include::includes/autogen_user_commands.ja.adoc[tag=weechat_commands] [[sec_options]] ==== 保護データのオプション _sec.conf_ ファイル内のセクション: [width="100%",cols="3m,6m,16",options="header"] |=== | セクション | 操作コマンド | 説明 | crypt | /set sec.crypt.* | 暗号化に関するオプション | data | <> | 保護データ |=== オプション: include::includes/autogen_user_options.ja.adoc[tag=sec_options] [[weechat_options]] ==== WeeChat オプション _weechat.conf_ ファイル内のセクション: [width="100%",cols="3m,6m,16",options="header"] |=== | セクション | 操作コマンド | 説明 | debug | <> + /set weechat.debug.* | core とプラグインのデバッグレベル (オプションをセクションに追加/削除出来ます) | startup | /set weechat.startup.* | 起動オプション | look | /set weechat.look.* | 外観 | palette | <> + /set weechat.palette.* | 色の別名 (オプションをセクションに追加/削除出来ます) | color | /set weechat.color.* | 色 | completion | /set weechat.completion.* | 補完オプション | history | /set weechat.history.* | 履歴オプション (コマンドとバッファ) | proxy | <> + /set weechat.proxy.* | プロキシオプション | network | /set weechat.network.* | ネットワーク/SSL オプション // TRANSLATION MISSING | plugin | /set weechat.plugin.* | Options on plugins. // TRANSLATION MISSING | signal | /set weechat.signal.* | Options on signals. | bar | <> + /set weechat.bar.* | バーオプション | layout | <> | レイアウト | notify | <> | バッファに対する通知レベル (オプションをセクションに追加/削除出来ます) | filter | <> | フィルタ | key | <> | デフォルトコンテキストのキー | key_search | <> | 検索コンテキストのキー | key_cursor | <> | カーソルコンテキストのキー | key_mouse | <> | マウスコンテキストのキー |=== オプション: include::includes/autogen_user_options.ja.adoc[tag=weechat_options] [[plugins]] == プラグイン プラグインとは動的ライブラリのことで、C 言語で書かれてコンパイルされています。プラグインは WeeChat によって読み込まれます。GNU/Linux の場合、プラグインファイルは ".so" という拡張子を持ち、Windows の場合、".dll" です。 見つかったプラグインは WeeChat の起動時に自動的に読み込まれます。WeeChat の起動時にプラグインを読み込むか否かは選択可能です。 _プラグイン_ と _スクリプト_ の違いを明らかにすることは重要です: _プラグイン_ とは `/plugin` コマンドで読み込まれるコンパイル済みバイナリファイルです。これに対して、 _スクリプト_ とは `/python` 等のコマンドで _python_ 等のプラグインとともに読み込まれるテキストファイルです。 `/plugin` コマンドを使うことで、プラグインのロード/アンロード、ロード済みプラグインの表示を行うことができます。 // TRANSLATION MISSING When a plugin is unloaded, WeeChat removes: * buffers * configuration options (options are written in files) * all hooks: commands, modifiers, process, etc. * infos and infolists * hdata * bar items. プラグインをロード、アンロード、ロード済みプラグインを表示する例: ---- /plugin load irc /plugin unload irc /plugin list ---- デフォルトプラグインのリスト: [width="100%",cols="1,5",options="header"] |=== | プラグイン | 説明 | alias | コマンドの別名を定義 | buflist | バッファリストを表示するためのバー要素 | charset | バッファの文字コードに従ってデコード/エンコード | exec | WeeChat 内部から外部コマンドを実行 | fifo | 外部から WeeChat にコマンドを送信するための FIFO パイプ | fset | WeeChat とプラグインのオプションを高速設定 | irc | IRC チャットプロトコル | logger | バッファの内容をファイルに保存 | relay | ネットワーク経由でデータを中継 | script | スクリプトマネージャ | python | Python スクリプト API | perl | Perl スクリプト API | ruby | Ruby スクリプト API | lua | Lua スクリプト API | tcl | Tcl スクリプト API | guile | Guile (scheme) スクリプト API | javascript | JavaScript スクリプト API | php | PHP スクリプト API | spell | コマンドラインのスペルチェック | trigger | WeeChat およびプラグインが発生させたイベントに対するテキスト置換とコマンド実行 // TRANSLATION MISSING | typing | Display users currently writing messages. | xfer | ファイル転送とダイレクトチャット |=== API を使ったプラグインやスクリプトの開発についてより詳しく学ぶには link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス]または link:weechat_scripting.ja.html[WeeChat スクリプト作成ガイド]を参照してください。 [[alias_plugin]] === Alias Alias プラグインを使うことで、コマンドの別名を定義できます (WeeChat だけでなく他のプラグインが提供するコマンドの別名を定義することもできます)。 大文字の別名はデフォルトで定義されたものです (標準コマンドと区別するために大文字を使っています); WeeChat はコマンドの大文字小文字を区別しないので、コマンド `/close` は別名である `/CLOSE` を実行します。 デフォルトで定義された別名のリスト: include::includes/autogen_user_default_aliases.ja.adoc[tag=default_aliases] [[alias_commands]] ==== コマンド include::includes/autogen_user_commands.ja.adoc[tag=alias_commands] [[alias_options]] ==== オプション _alias.conf_ ファイル内のセクション: [width="100%",cols="3m,6m,16",options="header"] |=== | セクション | 操作コマンド | 説明 | cmd | <> + /set alias.cmd.* | 別名に割り当てたコマンド | completion | <> + /set alias.completion.* | 別名に割り当てた補完 |=== [[buflist_plugin]] === Buflist Buflist プラグインを使うことで、"buflist" と呼ばれるバー要素の中にバッファリストを表示させることが可能になります (それ以外に "buflist2" と "buflist3" と呼ばれるバー要素も利用可能です)。 + プラグインは開始時にバー要素 "buflist" を持つデフォルトバー "buflist" を作成します。 [[buflist_commands]] ==== コマンド include::includes/autogen_user_commands.ja.adoc[tag=buflist_commands] [[buflist_options]] ==== オプション _buflist.conf_ ファイル内のセクション: [width="100%",cols="3m,6m,16",options="header"] |=== | セクション | 操作コマンド | 説明 | format | /set buflist.format.* | バッファリストの表示書式 | look | /set buflist.look.* | 外観 |=== オプション: include::includes/autogen_user_options.ja.adoc[tag=buflist_options] [[charset_plugin]] === Charset Charset プラグインを使うことで、文字コードに従ってデータのデコードとエンコードができます。 デコード/エンコード用にデフォルトの文字コードが設定されていますが、それぞれのバッファ (バッファグループ) に対して個別に文字コードを設定することもできます。 このプラグインの導入は任意ですが、導入を推奨します: このプラグインがロードされていない場合、WeeChat が読み書きできるデータは UTF-8 データのみになります。 Charset プラグインは WeeChat によって自動的にロードされるべきです。プラグインがロードされていることを確認するには、以下のようにしてください: ---- /charset ---- コマンドが見つからない場合、以下のコマンドでプラグインをロードしてください: ---- /plugin load charset ---- プラグインが見つからない場合、文字コードサポートを有効化した状態で WeeChat を再コンパイルしてください。 Charset プラグインがロードされた場合、端末文字コードと内部文字コードが表示されます。端末文字コードはロケールに依存し、内部文字コードは UTF-8 です。 例: .... charset: terminal: ISO-8859-15, internal: UTF-8 .... [[charset_set]] ==== 文字コードの設定 グローバルデコード文字コードとエンコード文字コードを設定するには、`/set` コマンドを使ってください。 例: ---- /set charset.default.decode ISO-8859-15 /set charset.default.encode ISO-8859-15 ---- グローバルデコード文字コードが設定されていない場合 (例えば Charset プラグインを始めてロードした場合)、これは自動的に端末の文字コードか (UTF-8 でなければ)、デフォルトの _ISO-8859-1_ に設定されます。 デフォルトのエンコード文字コードはありません。従って、内部文字コード (UTF-8) が使われます。 IRC サーバの文字コードを設定するには、サーババッファで `/charset` コマンドを使ってください。文字コードのみを引数として与えた場合、この文字コードがデコードとエンコードに利用されます。 例: ---- /charset ISO-8859-15 ---- これは以下と等価です: ---- /charset decode ISO-8859-15 /charset encode ISO-8859-15 ---- IRC チャンネル (またはプライベートメッセージ) の文字コードを設定するには、サーバの文字コード設定と同様のコマンドをチャンネル (またはプライベートメッセージ) バッファで使ってください。 IRC サーバの全てのチャンネルおよびプライベートバッファに対する文字コードを設定するには: ---- /set charset.encode.irc.libera ISO-8859-15 ---- すべての文字コード設定を確認するには、以下のコマンドを利用してください: ---- /set charset.* ---- [[charset_troubleshooting]] ==== トラブルシューティング 文字コードに関する問題があれば、link:weechat_faq.ja.html#charset[WeeChat FAQ (よくある質問) / いくつかの文字が見えません。どうすれば良いですか。]を参照してください。 [[charset_commands]] ==== コマンド include::includes/autogen_user_commands.ja.adoc[tag=charset_commands] [[charset_options]] ==== オプション _charset.conf_ ファイル内のセクション: [width="100%",cols="3m,6m,16",options="header"] |=== | セクション | 操作コマンド | 説明 | default | /set charset.default.* | デフォルトのデコード/エンコード文字セット | decode | <> + /set charset.decode.* | バッファのデコード文字セット (オプションをセクションに追加/削除出来ます) | encode | <> + /set charset.encode.* | バッファのエンコード文字セット (オプションをセクションに追加/削除出来ます) |=== オプション: include::includes/autogen_user_options.ja.adoc[tag=charset_options] [[exec_plugin]] === Exec `/exec` コマンドを使うことで WeeChat 内部から外部コマンドを実行し、その結果を表示したりバッファに送信することが可能になります。 [[exec_commands]] ==== コマンド include::includes/autogen_user_commands.ja.adoc[tag=exec_commands] [[exec_options]] ==== オプション _exec.conf_ ファイル内のセクション: [width="100%",cols="3m,6m,16",options="header"] |=== | セクション | 操作コマンド | 説明 | command | /set exec.command.* | コマンドに対するオプション | color | /set exec.color.* | 色 |=== オプション: include::includes/autogen_user_options.ja.adoc[tag=exec_options] [[fifo_plugin]] === Fifo 外部から WeeChat を操作するには、FIFO パイプにコマンドやテキストを書き込んでください ("fifo.file.enabled" オプションが有効化されている必要がありますが、デフォルトで有効化されているはずです)。 // TRANSLATION MISSING The FIFO pipe is located in WeeChat runtime directory and is called _weechat_fifo_12345_ by default (where _12345_ is the WeeChat process id). FIFO パイプに書き込むコマンド/テキストの文法は以下の例の一つです: .... plugin.buffer *テキストまたはコマンド *テキストまたはコマンド .... 例: * IRC サーバ libera で使うニックネームを "newnick" に変更する: ---- $ echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_12345 ---- * IRC チャンネル #weechat に対してテキストを送信: ---- $ echo 'irc.libera.#weechat *hello!' >/run/user/1000/weechat/weechat_fifo_12345 ---- * 現在のバッファに対してテキストを送信: ---- $ echo '*hello!' >/run/user/1000/weechat/weechat_fifo_12345 ---- * Python スクリプトのアンロードとロードを行う 2 つのコマンドを送信 (複数のコマンドは "\n" で分割してください): ---- $ printf '%b' '*/python unload\n*/python autoload\n' >/run/user/1000/weechat/weechat_fifo_12345 ---- [[fifo_commands]] ==== コマンド include::includes/autogen_user_commands.ja.adoc[tag=fifo_commands] [[fifo_options]] ==== オプション _fifo.conf_ ファイル内のセクション: [width="100%",cols="3m,6m,16",options="header"] |=== | セクション | 操作コマンド | 説明 | file | /set fifo.file.* | FIFO パイプに関するオプション |=== オプション: include::includes/autogen_user_options.ja.adoc[tag=fifo_options] [[fset_plugin]] === Fset fset (高速設定) プラグインはバッファ内にオプションのリストを表示し、WeeChat とプラグインのオプション設定を支援します。 [[fset_commands]] ==== コマンド include::includes/autogen_user_commands.ja.adoc[tag=fset_commands] [[fset_options]] ==== オプション _fset.conf_ ファイル内のセクション: [width="100%",cols="3m,6m,16",options="header"] |=== | セクション | 操作コマンド | 説明 | color | /set fset.color.* | 色 | format | /set fset.format.* | オプションリストの表示書式 | look | /set fset.look.* | 外観 |=== オプション: include::includes/autogen_user_options.ja.adoc[tag=fset_options] [[irc_plugin]] === IRC IRC プラグインは IRC プロトコルに従って他の人と会話を行うために設計されています。 マルチサーバに対応し、DCC チャットとファイル転送 (xfer プラグインを使います。<>を参照) を含む全ての IRC コマンドをサポートしています。 [[irc_command_line_options]] ==== コマンドラインオプション 以下のように 1 つ以上の IRC サーバに対応する URL を引数として与えることができます: ---- irc[6][s]://[nick[:password]@]irc.example.org[:port][/channel][,channel[...]] ---- _alice_ というニックネームを使って _irc.libera.chat_ ホストのデフォルトポート (6667) で稼働中の IRC サーバ上の _#weechat_ と _#weechat-fr_ チャンネルに参加する例: ---- $ weechat irc://alice@irc.libera.chat/#weechat,#weechat-fr ---- // TRANSLATION MISSING [[irc_servers]] ==== Servers [[irc_servers_add]] ===== Add a server By default no servers are defined. You can add as many servers as you want with the <> command. For example to connect to https://libera.chat/[libera.chat] with SSL (encrypted trafic): ---- /server add libera irc.libera.chat/6697 -ssl ---- You can tell WeeChat to auto-connect to this server on startup: ---- /set irc.server.libera.autoconnect on ---- To authenticate, it is recommended to use SASL (if supported on the server), with the password stored as secured data (see also chapter on <>): ---- /set irc.server.libera.sasl_username "alice" /secure set libera xxxxxxx /set irc.server.libera.sasl_password "${sec.data.libera}" ---- If SASL is not supported, you can use a command to send a message to nickserv: ---- /set irc.server.libera.command "/msg nickserv identify ${sec.data.libera}" ---- [NOTE] By sending a message to nickserv, you may authenticate after joining channels which could be a problem on some channels requiring you to be authenticated to join. In this case, you can set a command delay: `/set irc.server.libera.command_delay 5`. [[irc_servers_options]] ===== Server options Server options are named `irc.server..