= WeeChat Quickstart Anleitung
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: de
:toc: left
:toc-title: Inhaltsverzeichnis
:sectnums:
:docinfo1:


Übersetzer:

* Frank Zacharias <frank_zacharias@web.de>, 2006
* Juergen Descher <jhdl@gmx.net>, 2009
* Nils Görs <weechatter@arcor.de>, 2009-2018


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

----
$ weechat
----

[[help_options]]
== Online-Hilfe / Optionen

Für jeden Befehl bietet WeeChat eine Hilfe an:

----
/help
----

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

----
/help Befehl
----

Um Optionen zu setzen benutzt man:

----
/set config.section.option Wert
----

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

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

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

Hilfe ist für Optionen verfügbar:

----
/help config.section.option
----

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

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

[[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 "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"
----

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

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

[[connect_to_irc_server]]
== Verbinden mit dem IRC-Server und auto-join der Channel

----
/connect freenode
----

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

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

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

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

[[key_bindings]]
== Tastaturbelegung

WeeChat verwendet viele Standardtasten. Alle Tastenbelegungen sind in der
Dokumentation beschrieben. 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)

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 kbd:[Alt+k].

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

Entfernen der Tastenbelegung:

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

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

[[more_doc]]
== 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!
