Làm cách nào để định cấu hình irssi?


62

Tôi đang sử dụng irssi client để trò chuyện IRC và tôi muốn biết cách định cấu hình ~/.irssi/configtệp để tôi có thể nhập tên người dùng và mật khẩu của mình (tôi có Nick đã đăng ký trong IRC). Ngoài ra, tôi muốn biết liệu tôi có thể định cấu hình nó để mở nhiều thiết bị đầu cuối (như trong cửa sổ gnome-terminal) để kết nối với các kênh khác nhau như #ubfox , # ubfox-in hay không. Hoặc tôi nên bí danh lệnh với các tham số khác nhau để kết nối với các kênh khác nhau từ các thiết bị đầu cuối khác nhau.


1
Nó được ưa thích nếu bạn có thể đăng câu hỏi riêng thay vì kết hợp câu hỏi của bạn thành một. Bằng cách đó, nó giúp mọi người trả lời câu hỏi của bạn và những người khác săn lùng ít nhất một trong những câu hỏi của bạn. Cảm ơn!
guntbert

Câu trả lời:


81

Bạn đã hỏi rất nhiều câu hỏi trong một, nhưng tôi sẽ giúp bạn với càng nhiều câu hỏi càng tốt.

Trước tiên, bạn cần thêm máy chủ IRC mà bạn chọn - kích hoạt irssi và gõ như sau:

/server add -auto -network Freenode irc.freenode.net 6667

Điều đó sẽ thêm mạng IRC Freenode vào cấu hình IRSSI của bạn và sẽ tự động kết nối khi bạn chạy irssi.

/network add -nick <your-nick> Freenode

Điều đó sẽ thêm nick của bạn vào Freenodemạng mới và sẽ tự động sử dụng nick đó bất cứ khi nào kết nối với mạng.

/channel add -auto #ubuntu Freenode

Điều đó sẽ khiến bạn tham gia #ubuntutrên Freenode mỗi khi bạn chạy irssi.

Giả sử bạn đã đăng ký nick, bạn có thể làm điều này để tự động xác định:

/network add -autosendcmd "/msg nickserv identify password ;wait 2000" Freenode

Bạn có thể chuyển đổi giữa các kênh với Alt- 2, Alt- 3, v.v., với mỗi kênh là Alt-Number

Nếu bạn quan tâm, đây là ~/.irrsi/configtập tin của tôi :

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"; };
};

Nếu bạn là người thích thêm tất cả các loại chức năng thú vị, thì bạn nên xem trang web tập lệnh irssi - có tất cả các loại đá quý nhỏ ở đó.


Cảm ơn đã trả lời nhanh chóng. Câu trả lời tuyệt vời! Hoàn toàn làm việc và giúp tôi hiểu các lệnh irssi tốt hơn!
Nitin Venkatesh

@nitstorm Chào mừng bạn! Vui mừng được giúp đỡ. :)
jrg

Làm thế nào để bạn nhắn tin? Tôi không thể' dường như sử dụng lệnh msg trong irssi :(
đèn đường

1
@streetlight Tôi chỉ làm "/ tin nhắn tên người dùng" và nó sẽ mở ra một tab mới.
jrg

Xin lỗi, yeah giúp. Chưa có một hệ thống cửa sổ nào. Cảm ơn!
đèn đường

7

Nếu bạn bắt đầu irssivới Ubuntu, nó sẽ tạo một tệp cấu hình mặc định trong việc ~/.irssi/configchứa dữ liệu của bạn được lấy từ hệ thống (nick và nhận dạng được đặt thành tên người dùng và tên thật của bạn với Tên đầy đủ của bạn).

Có kết nối với mạng freenode đã được thiết lập, chỉ cần viết /connect Ubuntu, sau đó /join #ubuntuvà lặp lại cho các kênh yêu thích khác.

Bạn có thể chuyển đổi giữa các kênh với Alt- 2, Alt- 3, v.v.

Bạn có thể thay đổi nick /nick nitstormkhi đã kết nối với máy chủ hoặc thay đổi toàn cầu, thực thi lệnh /set nick nitstorm, sau đó /savesửa đổi vĩnh viễn tệp cấu hình của bạn. Cùng một cách bạn có thể thay đổi real_nameuser_namevới /set.

Bạn có thể thêm các kênh tự động với

/channel add -auto #ubuntu Ubuntu

(xem /help channelđể được giúp đỡ).

Bạn cũng có thể sửa đổi tệp cấu hình bằng tay, nhưng tốt hơn là thực thi các lệnh để sửa đổi tệp bên trong irssi, sau đó lưu cấu hình.

Bạn chấm dứt sessione của bạn với /quit.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.