问题描述
我正在使用irssi客户端进行IRC聊天,我想知道如何配置~/.irssi/config
文件,以便我可以输入我的用户名和密码(我在IRC中有一个注册的Nick)。另外我想知道我是否可以将它配置为打开多个终端(如在gnome-terminal窗口中)以连接到不同的通道,如#ubuntu,#ubuntu-in等。或者我应该使用不同的参数对命令进行别名,以便连接到不同终端的不同通道。
最佳解决办法
你在一个问题中提出了很多问题,但我会尽可能多地帮助你。
首先,您需要添加您选择的IRC服务器 – 启动irssi,然后键入以下内容:
/server add -auto -network Freenode irc.freenode.net 6667
这将把Freenode IRC网络添加到您的IRSSI配置中,并在您运行irssi
时自动连接。
/network add -nick <your-nick> Freenode
这会将您的昵称添加到新的Freenode
网络中,并且每当连接到网络时都会自动使用该昵称。
/channel add -auto #ubuntu Freenode
每次运行irssi时,这将使您在Freenode上加入#ubuntu
。
假设您已经注册了您的昵称,您可以执行此操作以自动识别:
/network add -autosendcmd "/msg nickserv identify password ;wait 2000" Freenode
您可以使用Alt
– 2
,Alt
– 3
等在通道之间切换,每个通道为Alt
– Number
如果您有兴趣,这是我的~/.irrsi/config
文件:
servers = (
{ address = "irc.ubuntu.com"; chatnet = "Ubuntu"; port = "8001"; },
#There is actually very little difference between irc.ubuntu.com
# and irc.freenode.net - irc.u.c is just a redirect
{
address = "irc.freenode.net";
chatnet = "Freenode";
port = "6667";
use_ssl = "no";
ssl_verify = "no";
autoconnect = "yes";
}
);
# I'm a freenode user all the way man
chatnets = {
Freenode = {
type = "IRC";
nick = "changeme";
autosendcmd = "/msg nickserv identify <password removed> ;wait 2000";
};
};
# Channels I hang out in a lot. Change these to your own.
channels = (
{ name = "#2buntu"; chatnet = "Freenode"; autojoin = "yes"; },
);
aliases = {
J = "join";
WJOIN = "join -window";
WQUERY = "query -window";
LEAVE = "part";
BYE = "quit";
EXIT = "quit";
SIGNOFF = "quit";
DESCRIBE = "action";
DATE = "time";
HOST = "userhost";
LAST = "lastlog";
SAY = "msg *";
WI = "whois";
WII = "whois $0 $0";
WW = "whowas";
W = "who";
N = "names";
M = "msg";
T = "topic";
C = "clear";
CL = "clear";
K = "kick";
KB = "kickban";
KN = "knockout";
BANS = "ban";
B = "ban";
MUB = "unban *";
UB = "unban";
IG = "ignore";
UNIG = "unignore";
SB = "scrollback";
UMODE = "mode $N";
WC = "window close";
WN = "window new hide";
SV = "say Irssi $J ($V) - http://irssi.org/";
GOTO = "sb goto";
CHAT = "dcc chat";
RUN = "SCRIPT LOAD";
CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
SBAR = "STATUSBAR";
INVITELIST = "mode $C +I";
Q = "QUERY";
"MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
EXEMPTLIST = "mode $C +e";
ATAG = "WINDOW SERVER";
UNSET = "set -clear";
RESET = "set -default";
};
statusbar = {
# formats:
# when using {templates}, the template is shown only if it's argument isn't
# empty unless no argument is given. for example {sb} is printed always,
# but {sb $T} is printed only if $T isn't empty.
items = {
# start/end text in statusbars
barstart = "{sbstart}";
barend = "{sbend}";
topicbarstart = "{topicsbstart}";
topicbarend = "{topicsbend}";
# treated "normally", you could change the time/user name to whatever
time = "{sb $Z}";
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
# treated specially .. window is printed with non-empty windows,
# window_empty is printed with empty windows
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
window_empty = "{sb $winref{sbservertag $tag}}";
prompt = "{prompt $[.15]itemname}";
prompt_empty = "{prompt $winname}";
topic = " $topic";
topic_empty = " Irssi v$J - http://www.irssi.org";
# all of these treated specially, they're only displayed when needed
lag = "{sb Lag: $0-}";
act = "{sb Act: $0-}";
more = "-- more --";
};
# there's two type of statusbars. root statusbars are either at the top
# of the screen or at the bottom of the screen. window statusbars are at
# the top/bottom of each split window in screen.
default = {
# the "default statusbar" to be displayed at the bottom of the window.
# contains all the normal items.
window = {
disabled = "no";
# window, root
type = "window";
# top, bottom
placement = "bottom";
# number
position = "1";
# active, inactive, always
visible = "active";
# list of items in statusbar in the display order
items = {
barstart = { priority = "100"; };
time = { };
user = { };
window = { };
window_empty = { };
lag = { priority = "-1"; };
act = { priority = "10"; };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
# statusbar to use in inactive split windows
window_inact = {
type = "window";
placement = "bottom";
position = "1";
visible = "inactive";
items = {
barstart = { priority = "100"; };
window = { };
window_empty = { };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
# we treat input line as yet another statusbar :) It's possible to
# add other items before or after the input line item.
prompt = {
type = "root";
placement = "bottom";
# we want to be at the bottom always
position = "100";
visible = "always";
items = {
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
# treated specially, this is the real input line.
input = { priority = "10"; };
};
};
# topicbar
topic = {
type = "root";
placement = "top";
position = "1";
visible = "always";
items = {
topicbarstart = { priority = "100"; };
topic = { };
topic_empty = { };
topicbarend = { priority = "100"; alignment = "right"; };
};
};
};
};
settings = {
core = { real_name = "Unknown"; user_name = "<your_user_name>"; nick = "<your_nick>"; };
"fe-text" = { actlist_sort = "refnum"; };
};
如果你是一个喜欢添加各种酷炫功能的人,那么你应该看看irssi scripts site – 那里有各种各样的小 gems 。
次佳解决办法
如果您在Ubuntu中启动irssi
,它会在~/.irssi/config
中创建一个默认配置文件,其中包含从系统获取的数据(缺口和ident设置为您的用户名,realname为您的全名)。
已经设置了与freenode网络的连接,只需写入/connect Ubuntu
,然后写入/join #ubuntu
,并重复其他喜欢的频道。
您可以在Alt
– 2
,Alt
– 3
等频道之间切换。
连接到服务器后,您可以使用/nick nitstorm
更改缺刻,或者全局更改,执行命令/set nick nitstorm
,然后执行/save
以永久修改配置文件。与/set
一样可以更改real_name
和user_name
的方法。
您可以添加autojoin频道
/channel add -auto #ubuntu Ubuntu
(请参阅/帮助渠道获取帮助)。
您也可以手动修改配置文件,但最好执行命令在irssi中修改它,然后保存配置。
您使用/quit
终止会话。