ฉันจะกำหนดค่า irssi ได้อย่างไร


62

ฉันใช้ไคลเอนต์irssiสำหรับการแชทของ IRC และฉันต้องการทราบวิธีกำหนดค่า~/.irssi/configไฟล์เพื่อให้ฉันสามารถใส่ชื่อผู้ใช้และรหัสผ่านของฉัน (ฉันมี Nick ที่ลงทะเบียนไว้ใน IRC) นอกจากนี้ฉันต้องการทราบว่าฉันสามารถกำหนดค่าให้เปิดหลายเทอร์มินัล (เช่นใน windows gnome-terminal) เพื่อเชื่อมต่อกับช่องต่าง ๆ เช่น#ubuntu , # ubuntu-inเป็นต้น หรือฉันควรนามแฝงคำสั่งด้วยพารามิเตอร์ที่แตกต่างกันเพื่อเชื่อมต่อกับช่องทางที่แตกต่างจากอาคารที่แตกต่าง


1
เป็นที่ต้องการหากคุณสามารถโพสต์คำถามแยกต่างหากแทนที่จะรวมคำถามของคุณเป็นคำถามเดียว ด้วยวิธีนี้จะช่วยให้ผู้คนตอบคำถามของคุณและคนอื่น ๆ ก็ไล่ล่าอย่างน้อยหนึ่งคำถามของคุณ ขอบคุณ!
guntbert

คำตอบ:


81

คุณได้ถามคำถามมากมายในหนึ่งข้อ แต่ฉันจะช่วยคุณได้มากเท่าที่ทำได้

ก่อนอื่นคุณต้องเพิ่มเซิร์ฟเวอร์ IRC ที่คุณเลือก - เปิดไฟ irssi และพิมพ์ต่อไปนี้:

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

ที่จะเพิ่มเครือข่าย IRC Freenode การตั้งค่า irssi irssiของคุณโดยอัตโนมัติและจะเชื่อมต่อเมื่อคุณเรียกใช้

/network add -nick <your-nick> Freenode

ซึ่งจะเพิ่มFreenodeเครือข่ายของคุณไปยังเครือข่ายใหม่และจะใช้เครือข่ายนั้นโดยอัตโนมัติทุกครั้งที่เชื่อมต่อกับเครือข่าย

/channel add -auto #ubuntu Freenode

ที่จะทำให้คุณเข้าร่วม#ubuntuกับ Freenode ทุกครั้งที่คุณเรียกใช้ irssi

สมมติว่าคุณลงทะเบียนนิคคุณสามารถทำสิ่งนี้เพื่อระบุโดยอัตโนมัติ:

/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 - มีทุกประเภทของอัญมณีเล็ก ๆ น้อย ๆ


ขอบคุณสำหรับการตอบกลับอย่างรวดเร็ว คำตอบที่ยอดเยี่ยม! ทำงานโดยสิ้นเชิงและช่วยให้ฉันเข้าใจคำสั่ง irssi ได้ดีขึ้นเช่นกัน!
Nitin Venkatesh

@nitstorm ยินดีต้อนรับ! ดีใจที่ได้ช่วยเหลือ :)
jrg

ผงชูรสคุณเป็นอย่างไร ฉันลาดเท 'ดูเหมือนจะใช้คำสั่ง msg ใน Irssi :(
streetlight

1
@streetlight ฉันเพิ่งทำ "/ msg ชื่อผู้ใช้ข้อความ" และมันจะเปิดแท็บใหม่
jrg

ขออภัยใช่ที่ช่วย ยังไม่ได้รับการแขวนระบบ windows ขอบคุณ!
ไฟถนน

7

หากคุณเริ่มirssiใน Ubuntu มันจะสร้างไฟล์กำหนดค่าเริ่มต้น~/.irssi/configซึ่งมีข้อมูลของคุณที่นำมาจากระบบอยู่แล้ว (ตั้งชื่อเล่นและชื่อผู้ใช้และชื่อจริงเป็นชื่อเต็มของคุณ)

มีการเชื่อมต่อกับเครือข่าย freenode แล้วตั้งค่าเพียงเขียน/connect Ubuntuแล้ว/join #ubuntuและทำซ้ำสำหรับช่องรายการโปรดอื่น ๆ

คุณสามารถสลับระหว่างช่องด้วยAlt- 2, Alt- 3และอื่น ๆ

คุณสามารถเปลี่ยนนิค/nick nitstormเมื่อเชื่อมต่อกับเซิร์ฟเวอร์หรือเปลี่ยนทั่วโลกดำเนินการคำสั่ง/set nick nitstormจากนั้น/saveแก้ไขไฟล์กำหนดค่าของคุณอย่างถาวร เช่นเดียวกับที่คุณสามารถเปลี่ยนreal_nameและมีuser_name/set

คุณสามารถเพิ่มช่องอัตโนมัติด้วย

/channel add -auto #ubuntu Ubuntu

(ดู/help channelเพื่อขอความช่วยเหลือ)

คุณสามารถแก้ไขไฟล์ปรับแต่งด้วยมือได้ แต่จะดีกว่าถ้าใช้คำสั่งเพื่อแก้ไขภายใน irssi จากนั้นบันทึกการกำหนดค่า

คุณยุติ sessione /quitของคุณด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.