# WeeChat Quickstart Anleitung

Sébastien Helleu
flashcode@flashtux.org
version 2.6

Übersetzer:

- Frank Zacharias <frank_zacharias@web.de>, 2006

- Juergen Descher <jhdl@gmx.net>, 2009

- Nils Görs <weechatter@arcor.de>, 2009-2018

## 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, nach dem 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).

| 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 dazu um Daten auf dem Bildschirm auszugeben und um mit dem Benutzer zu interagieren. Dies bedeutet das WeeChat, -also der WeeChat core-, ohne jedwede Erweiterung, unbrauchbar ist. (an die treuen User: IRC war Teil des Kerns in den Versionen ≤ 0.2.6)

Alle Netzwerkprotokolle, z.B. IRC, werden als separate Erweiterung bereit gestellt.

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 freenode chat.freenode.net

In dieser Zeile ist `freenode` der interne Servername der von WeeChat genutzt wird: Damit ist es möglich sich mit dem Server zu verbinden `/connect freenode` und um die Server relevanten Optionen anzupassen irc.server.freenode.xxx.

Falls noch Fragen offen sein sollten, einfach die Hilfe verwenden:

    /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 "irc.server_default.*" 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). Um dies nun für den freenode-Server anzupassen, kann folgender Befehl genutzt werden:

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

Um den User- und realen Namen anzupassen:

    /set irc.server.freenode.username "Mein User-Name"
    /set irc.server.freenode.realname "Mein wirklicher Name"

Um beim Start von WeeChat automatisch eine Verbindung zu einem Server herzustellen:

    /set irc.server.freenode.autoconnect on

Um eine SSL Verbindung herzustellen:

    /set irc.server.freenode.addresses "chat.freenode.net/7000"
    /set irc.server.freenode.ssl on

Sollte der Server SASL unterstützen, kann man sich damit automatisch Authentifizieren (dadurch identifiziert man sich beim Server, bevor man Channels (Chaträume) betritt):

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

Unterstützt der Server keine SASL Authentifizierung, muss man sich bei "nickserv" identifizieren:

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

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

Möchte man seine Passwörter nicht als Klartext in der Konfiguration sichern, kann man die Erweiterung /secure nutzen.

Zuerst sollte eine Passphrase gesetzt werden:

    /secure passphrase Dies ist meine geheime Passphrase

Dann kann man zum Beispiel für Freenode ein geheimes Passwort setzen:

    /secure set freenode_password xxxxxxx

Um nun das geschützte Freenode-Passwort in einer Option zu nutzen setzt man eine Variable anstelle des Passworts, `${sec.data.freenode_password}`:

    /set irc.server.freenode.sasl_password "${sec.data.freenode_password}"

Um ein auto-join (automatisches betreten) von Channels (Räumen) nach der Verbindung zum Server durchzuführen, müssen die entsprechenden Channels in eine Liste eingetragen werden:

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

| 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. der Name einer Option, nützlich sein kann).

Um einen Wert der Server-Optionen zu entfernen und stattdessen wieder den Vorgabewert zu nutzen, z.B. Nutzen der vorgegebenen Nicknamen (irc.server_default.nicks):

    /unset irc.server.freenode.nicks

Andere Optionen: Du kannst andere Optionen mit folgendem Befehl festlegen ("xxx" ist der Optionsname):

    /set irc.server.freenode.xxx Wert

## 7. Verbinden mit dem IRC-Server und auto-join der Channel

    /connect freenode

| 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 betreten:

    /join #channel

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

    /part [quit message]

Schließt einen Server, Channel oder privaten Buffer (`/close` ist ein Alias für `/buffer close`):

    /close

| Wird ein Server-Buffer geschlossen, werden automatisch die Channel/privaten Buffer geschlossen.

Um sich bei einem Server abzumelden, führt man im entsprechenden Server-Buffer folgenden Befehl aus:

    /disconnect

## 9. IRC private Nachrichten

Öffnet einen Buffer und schickt eine Nachricht an einen User (Nick foo):

    /query foo Dies ist eine Nachricht

Schließt einen privaten Buffer:

    /close

## 10. Buffer/Fenster Verwaltung

Ein Buffer ist einer Erweiterung zugeordnet und besitzt eine Buffer-Nummer, einen Buffer-Namen und beinhaltet die auf dem Bildschirm dargestellten Zeilen.

Ein Fenster ist die Ansicht eines Buffers. Standardmäßig nutzt WeeChat ein Fenster, in welchem ein Buffer darstellt wird. Wird der Bildschirm in mehrere Fenster aufgeteilt, kann man sich entsprechend der Anzahl der geteilten Fenster einen Buffer pro Fenster anzeigen lassen.

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

Gemäß Deiner Tastatur und/oder Deinen Bedürfnissen kann jede Taste mit Hilfe des `/key` Befehls durch jedweden Befehl neu belegt werden. Eine nützliche Tastenkombination um Tastencodes zu ermitteln ist `Alt`+`k`.

Beispiel: Belegung von `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

Entfernen der Tastenbelegung:

    /key unbind meta-!

## 12. Erweiterungen/Skripten

Bei einigen Distributionen wie z.B. Debian, sind die Erweiterungen über separate Pakete erhältlich (z.B. weechat-plugins). Erweiterungen werden -sofern welche gefunden worden sind- automatisch geladen (Bitte beachte die Dokumentation zum installieren/entfernen von Erweiterungen und/oder Skripten).

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

    /script install go.py

siehe `/help script` für weitere Informationen.

Eine Liste aller verfügbaren Skripten kann man sich in WeeChat mittels `/script` anzeigen lassen oder man besucht folgende Webseite: https://weechat.org/scripts

## 13. Weitere Dokumentation

Nun kannst Du WeeChat nutzen, für weitere Fragen lese die FAQ und/oder Dokumentation: https://weechat.org/doc

Viel Spass mit WeeChat!