// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
// SPDX-FileCopyrightText: 2006 Frank Zacharias <frank_zacharias@web.de>
// SPDX-FileCopyrightText: 2009 Juergen Descher <jhdl@gmx.net>
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
//
// SPDX-License-Identifier: GPL-3.0-or-later

= WeeChat Quickstart Anleitung
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: de
include::includes/attributes-de.adoc[]

[[start]]
== 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:

[source,shell]
----
weechat
----

[[help]]
== 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).

[[options]]
== 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).

[IMPORTANT]
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 kbd:[Tab] drückt, wird die Eingabe durch
`/fset hotlist` vervollständigt. Wenn man nun kbd:[Enter] drückt, werden alle
hotlist Optionen angezeigt.

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

[[core_vs_plugins]]
== 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.

[[create_irc_server]]
== 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
----

[[irc_server_options]]
== 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"
----

[NOTE]
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
----

[TIP]
Mittels der kbd:[Tab] Taste kann man sehr einfach Namen und Werte von Optionen
vervollständigen und mittels kbd:[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).

[[connect_to_irc_server]]
== 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.

[NOTE]
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 kbd:[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
----

[[join_part_irc_channels]]
== 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
----

[CAUTION]
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
----

[[irc_private_messages]]
== 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
----

[[buffer_window]]
== 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
----

[[key_bindings]]
== Tastaturbelegung

WeeChat verwendet viele Standardtasten.
Alle Tastenbelegungen sind in der Dokumentation beschrieben
(link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Tastenbelegungen ^↗^^]).
Im Folgenden werden die wichtigsten Tastenbelegungen kurz erläutert:

- kbd:[Alt+←] / kbd:[Alt+→] oder kbd:[F5] / kbd:[F6]: Wechsel zum
  vorherigen/nächsten Buffer
- kbd:[F1] / kbd:[F2]: scrollt die Liste mit Buffern ("buflist")
- kbd:[F7] / kbd:[F8]: Wechsel zum vorherigen/nächsten Fenster (falls der
  Bildschirm aufgeteilt ist)
- kbd:[F9] / kbd:[F10]: scrollt die Titelleiste
- kbd:[F11] / kbd:[F12]: scrollt die Liste mit den Nicks
- kbd:[Tab]: komplettiert den Text in der Eingabezeile, ähnlich Deiner shell
- kbd:[PgUp] / kbd:[PgDn]: scrollt den Text im aktiven Buffer
- kbd:[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 kbd:[Alt+k] besonders
hervorzuheben. Sie ermittelt (auf magische Weise) beliebige Tastaturcodes.

Beispiel:
Belege die Tastenkombination kbd:[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 kbd:[Alt+!]:

----
/key unbind meta-!
----

[[plugins_scripts]]
== 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
https://weechat.org/scripts/[this page ^↗^^] verfügbar.

[[more_doc]]
== Weitere Dokumentation

WeeChat kann nun verwendet werden und lesen Sie
https://weechat.org/doc/[FAQ/documentation ^↗^^]
falls Sie weitere Fragen haben.

Viel Spass mit WeeChat!
