Author: Sébastien Helleu

# WeeChat Quickstart Anleitung

Sébastien Helleu
flashcode@flashtux.org
version 4.9.5

## 1. Start von WeeChat

Die bevorzugte Terminal-Emulation für X (aber nicht obligatorisch) ist rxvt-unicode: rxvt verfügt über eine gute UTF-8 Unterstützung und hat keine Probleme mit der Standard Tastaturbelegung.

Programmstart aus deiner Shell:

    weechat

## 2. Online-Hilfe

Für jeden Befehl bietet WeeChat eine Hilfe an:

    /help

Um sich eine Hilfe für einen bestimmten Befehl anzeigen zu lassen:

    /help Befehl

Für Optionen kann man ebenso eine Hilfe anfordern:

    /help config.section.option

(dabei ist config der Konfigurationsname (weechat für den Kern von weechat, oder der Name einer Erweiterung), section ein Abschnitt dieser Konfiguration und option der Name der entsprechenden Option).

## 3. Optionen verändern

Um Optionen zu setzen benutzt man:

    /set config.section.option Wert

WeeChat verwendet umgehend einen neu eingestellten Wert (WeeChat muss also zu keinem Zeitpunkt neu gestartet werden, nachdem die Konfiguration verändert wurde).

Beim Beenden von WeeChat werden alle Einstellungen gespeichert (mittels des Befehls `/save` kann das Sichern der Optionen manuell durchgeführt werden).

Wichtig | Es wird nicht empfohlen die Konfigurationsdateien manuell zu editieren, da WeeChat diese Dateien zu jeder Zeit überschreiben kann (zum Beispiel: `/quit`). Außerdem muß eine veränderte Datei manuell mit dem Befehl `/reload` neu geladen werden (mit dem Risiko von Datenverlust da Optionen kommentarlos überschrieben werden, bevor man diese ggf. gesichert hat `/save`). Aus diesen Gründen sollte immer der `/set` Befehl genutzt werden, da zusätzlich auch die Eingabe auf Plausibilität geprüft wird und Änderungen sofort wirksam werden.

Mit der fset Erweiterung kann man sehr einfach Optionen finden und diese den eigenen Bedürfnissen anpassen.

Um zum Beispiel alle WeeChat Optionen anzuzeigen:

    /fset weechat.*

zeigt alle IRC Optionen an:

    /fset irc.*

Der `/fset` Befehl hat eine teilweise Vervollständigung von Optionsnamen, wenn man also `/fset hot` eingibt und `Tab` drückt, wird die Eingabe durch `/fset hotlist` vervollständigt. Wenn man nun `Enter` drückt, werden alle hotlist Optionen angezeigt.

Um weitere Informationen zum `/fset` Befehl und seine Tastenbefehle zu behalten, siehe `/help fset`.

## 4. Kern (Core) vs. Erweiterungen

Der Kern (core) von WeeChat dient ausschließlich der Ausgabe von Daten auf dem Bildschirm und der Interaktion mit dem Benutzer. WeeChat - also der WeeChat-Kern - ist somit ohne jedwede Erweiterung eigentlich™ unbrauchbar für die Nutzung als Kommunikationswerkzeug im Internet. Alle Netzwerkprotokolle (z.B. IRC) werden als separate Erweiterung bereitgestellt.

(an die treuen User: IRC war Teil des Kerns in den Versionen ≤ 0.2.6)

Benutze den Befehl `/plugin` um alle Erweiterungen aufzulisten, "irc" sowie andere Erweiterungen sollten aufgelistet werden.

## 5. Einen IRC-Server erstellen

Um eine Verbindung zu einem IRC Server herzustellen, wird der `/server` Befehl verwendet. Beispiel:

    /server add libera irc.libera.chat/6697 -tls

In diesem Beispiel ist `libera` der interne, von Weechat genutzte Servername. Mit dem Befehl `/connect libera` kann jetzt die Verbindung zu diesem Libera-IRC-Server aufgebaut werden. Alle für den Server relevanten Optionen sind unter irc.server.libera.xxx zu finden.

Verwende die Hilfe, falls noch Fragen offen sind:

    /help server

## 6. Setzen eigener IRC-Server Optionen

WeeChat verwendet Vorgabewerte für alle Server (so genannte "fall backs"), sofern keine individuellen Werte für die entsprechenden Server-Optionen gesetzt worden sind. Die Vorgabewerte sind in den Optionen irc.server_default.xxx hinterlegt.

Für jede Server-Option benutzt WeeChat den individuellen Wert - falls einer definiert ist (nicht "null"). Andernfalls verwendet WeeChat die Vorgabewerte (irc.server_default.xxx).

Beispielsweise werden Standard Nicks verwendet (basierend auf dem Un*x Login). Sollen speziell für den libera-Server andere Nicks genutzt werden, können diese mit folgendem Befehl angepasst werden:

    /set irc.server.libera.nicks "meinNick,meinNick2,meinNick3,meinNick4,meinNick5"

Benutzernamen und wirklichen Namen (realname) anpassen:

    /set irc.server.libera.username "Mein Benutzername"
    /set irc.server.libera.realname "Mein wirklicher Name"

Beim Start von WeeChat automatisch die Verbindung zu einem Server herstellen:

    /set irc.server.libera.autoconnect on

Wenn der Server SASL unterstützt, kann die Authentifizierung des Benutzers schon beim Aufbau der IRC-Session stattfinden. Der Benutzer wird auf diese Weise gegenüber dem IRC-Server identifiziert, noch bevor Server-Befehle übermittelt oder Cannels (Chaträume) betreten werden können.

    /set irc.server.libera.sasl_username "mynick"
    /set irc.server.libera.sasl_password "xxxxxxx"

Wenn der Server keine SASL-Authentifizierung unterstützt, muss der Benutzer sich nach dem Verbindungsaufbau bei "nickserv" identifizieren. Der dafür notwendige IRC-Server-Befehl kann auch automatisch übermittelt werden:

    /set irc.server.libera.command "/msg nickserv identify xxxxxxx"

Anmerkung | Mehrere Befehle in der Option command können durch ein `;` (Semikolon) voneinander getrennt werden.

Sollen Passwörter nicht als Klartext in der Konfiguration sichtbar sein, kann die Erweiterung /secure genutzt werden.

Zuerst sollte die Passphrase gesetzt werden:

    /secure passphrase Dies ist meine geheime Passphrase

Jetzt wird das Passwort (`xxxxxx`) für den Zugang zum Libera-Server verschlüsselt und mit dem Bezeichner `libera_password` verknüpft:

    /secure set libera_password xxxxxx

Das geschützte Libera-Passwort kann nun in anderen Optionen genutzt werden. Dazu wird anstelle des Klartext-Passwortes die Variable `${sec.data.libera_password}` eingesetzt:

    /set irc.server.libera.sasl_password "${sec.data.libera_password}"

Das automatische Betreten (auto-join) von Channels (Chaträume) direkt nach dem Verbindungsaufbau zum IRC-Server kann durch den Eintrag der gewünschten Channels in folgender Option erreicht werden:

    /set irc.server.libera.autojoin "#channel1,#channel2"

Mit dem `/autojoin` Befehl können die autojoin Optionen einfach konfiguriert werden. (siehe `/help autojoin`).

WeeChat kann auch konfigurieren werden, dass die autojoin Optionen automatisch aktualisiert werden sobald man Kanäle betritt oder verlässt:

    /set irc.server_default.autojoin_dynamic on

Mit dem Befehl `/unset` können Server-Optionen zurückgesetzt werden. Ist eine Server-Option zurückgesetzt, wirkt der entsprechende Vorgabewert aus dem fall-back-Bereich `irc.server_default.xxx`. So nimmt, beispielsweise nach dem Rücksetzen der Libera-Nicks, diese Server-Option automatisch den Wert der entsprechenden fall-back-Option `irc.server_default.nicks` an:

    /unset irc.server.libera.nicks

Andere Optionen: Werte anderer Server-Optionen (`xxx`) können festgelegt werden mit:

    /set irc.server.libera.xxx Wert

Hinweis | Mittels der `Tab` Taste kann man sehr einfach Namen und Werte von Optionen vervollständigen und mittels `Shift`+`Tab` kann eine teilweise Vervollständigung durchgeführt werden (was bei langen Wörtern, wie z.B. dem Namen einer Option, nützlich sein kann).

## 7. Verbinden mit dem IRC-Server

    /connect libera

Mittels obigem Befehl stellt WeeChat eine Verbindung zum libera Server her und betritt automatisch die Kanäle die in der "autojoin" Server-Option aufgeführt sind.

Anmerkung | Dieser Befehl kann dazu benutzt werden um einen neuen Server zu erstellen und sich mit diesem zu verbinden, ohne den Befehl `/server` zu benutzen (siehe `/help connect`).

Alle Server-Buffer und der WeeChat Kernbuffer, der sogenannte -core-Buffer-, werden standardmäßig zusammengelegt. Um zwischen dem core-Buffer und den Server-Buffern zu wechseln, kannst Du `Ctrl`+`x` benutzen.

Es ist möglich das automatische Zusammenlegen der Server-Buffer zu deaktivieren, um dadurch separate Server-Buffer zu erhalten:

    /set irc.look.server_buffer independent

## 8. Betreten/verlassen der IRC-Channel

Einen Channel (Chatraum) betreten:

    /join #channel

Einen Channel verlassen (der Buffer bleibt dabei geöffnet):

    /part [Verlassen-Nachricht]

Einen Buffer schließen (Server, Channel, privater Buffer); `/close` ist dabei ein Alias für `/buffer close`:

    /close

Achtung | Wird ein Server-Buffer geschlossen, schließt WeeChat ebenfalls alle zum Server gehörenden Channels und privaten Buffer.

Die Abmeldung von einem Server erfolgt im entsprechenden Server-Buffer mit Hilfe des Befehls:

    /disconnect

## 9. IRC private Nachrichten

Schicke eine Nachricht an einen bestimmten Benutzer (hier: foo) und öffne einen privaten Buffer (Nachrichten in diesem Buffer sehen nur der andere Benutzer und ich):

    /query foo Dies ist eine Nachricht

Schließe den privaten Buffer:

    /close

## 10. Buffer/Fenster Verwaltung

Ein Buffer ist einer Erweiterung zugeordnet und besitzt sowohl eine Buffer-Nummer als auch einen Buffer-Namen. Die innerhalb eines Fensters dargestellten Zeilen/Zeichen werden aus dem Inhalt des Buffers generiert.

Ein Fenster ist der Ausschnitt der Programmoberfläche, den WeeChat für einen bestimmten Buffer bereitstellt. Standardmäßig nutzt WeeChat genau ein Fenster pro darzustellendem Buffer. Wird der Bildschirm in mehrere Fenster aufgeteilt, können, entsprechend der Anzahl der Fenster, die gleiche Anzahl an Buffern angezeigt werden.

Befehle zum Verwalten von Buffern und Fenstern:

    /buffer
    /window

Beispiel: Um den Bildschirm vertikal in ein kleineres Fenster (1/3 Bildschirmbreite) und ein größeres Fenster (2/3 Bildschirmbreite) aufzuteilen:

    /window splitv 33

Um die Teilung des Bildschirms rückgängig zu machen:

    /window merge

## 11. Tastaturbelegung

WeeChat verwendet viele Standardtasten. Alle Tastenbelegungen sind in der Dokumentation beschrieben (Benutzerhandbuch / Tastenbelegungen ↗). Im Folgenden werden die wichtigsten Tastenbelegungen kurz erläutert:

- `Alt`+`←` / `Alt`+`→` oder `F5` / `F6`: Wechsel zum vorherigen/nächsten Buffer

- `F1` / `F2`: scrollt die Liste mit Buffern ("buflist")

- `F7` / `F8`: Wechsel zum vorherigen/nächsten Fenster (falls der Bildschirm aufgeteilt ist)

- `F9` / `F10`: scrollt die Titelleiste

- `F11` / `F12`: scrollt die Liste mit den Nicks

- `Tab`: komplettiert den Text in der Eingabezeile, ähnlich Deiner shell

- `PgUp` / `PgDn`: scrollt den Text im aktiven Buffer

- `Alt`+`a`: springt zum Buffer mit Aktivität (aus der Hotlist)

Die Tastenbelegung WeeChat’s kann sowohl an deine persönlichen Vorlieben als auch an die Besonderheiten deiner Tastatur angepasst werden. Mit Hilfe des Befehls `/key` wird einer bestimmten Taste oder Tastenkombination ein WeeChat-Befehl zugeordnet.

In diesem Zusammenhang ist die Standard-Tastenkombination `Alt`+`k` besonders hervorzuheben. Sie ermittelt (auf magische Weise) beliebige Tastaturcodes.

Beispiel: Belege die Tastenkombination `Alt`+`!` mit dem Befehl `/buffer close`:

    /key bind (drücke alt-k) (drücke alt-!) /buffer close

Du wirst folgende Befehlszeile erhalten:

    /key bind meta-! /buffer close

Entferne die Tastenbelegung `Alt`+`!`:

    /key unbind meta-!

## 12. Erweiterungen/Skripten

Bei einigen Distributionen (z.B. Debian), sind die WeeChat-Erweiterungen über separate Pakete erhältlich (z.B. weechat-plugins). Erweiterungen werden, insofern sie beim Start von WeeChat gefunden wurden, automatisch geladen (Bitte beachte die Dokumentation zum Installieren und Entfernen von Erweiterungen und/oder Skripten).

Viele externe Skripten (von Drittprogrammierern) sind für WeeChat verfügbar. Diese Skripten können mit Hilfe des `/script`-Befehls heruntergeladen und installiert werden:

    /script install go.py

Zeige weitere Informationen:

    /help script

Zeige eine liste aller verfügbaren Skripten:

    /script

Eine Liste von Skripten ist in WeeChat mittels `/script` oder auf this page ↗ verfügbar.

## 13. Weitere Dokumentation

WeeChat kann nun verwendet werden und lesen Sie FAQ/documentation ↗ falls Sie weitere Fragen haben.

Viel Spass mit WeeChat!