Bagaimana cara mengkonfigurasi irssi?

62

Saya menggunakan klien irssi untuk IRC chat dan saya ingin tahu cara mengkonfigurasi ~/.irssi/configfile sehingga saya dapat memasukkan nama pengguna dan kata sandi saya (saya memiliki Nick terdaftar di IRC). Saya juga ingin tahu apakah saya bisa mengkonfigurasinya untuk membuka beberapa terminal (seperti pada gnome-terminal windows) untuk terhubung ke saluran yang berbeda seperti #ubuntu , # ubuntu-in dan sebagainya. Atau haruskah saya alias perintah dengan parameter yang berbeda sehingga dapat terhubung ke saluran yang berbeda dari terminal yang berbeda.

Nitin Venkatesh
sumber
1
Lebih disukai jika Anda dapat memposting pertanyaan terpisah daripada menggabungkan pertanyaan Anda menjadi satu. Dengan begitu, ini membantu orang-orang menjawab pertanyaan Anda dan juga orang lain mencari setidaknya satu dari pertanyaan Anda. Terima kasih!
guntbert

Jawaban:

81

Anda telah mengajukan banyak pertanyaan dalam satu, tetapi saya akan membantu Anda dengan sebanyak mungkin dari mereka.

Pertama, Anda perlu menambahkan server IRC pilihan Anda - jalankan irssi, dan ketik berikut ini:

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

Itu akan menambahkan jaringan Freenode IRC ke konfigurasi IRSSI Anda, dan secara otomatis akan terhubung saat Anda menjalankan irssi.

/network add -nick <your-nick> Freenode

Itu akan menambahkan nick Anda ke Freenodejaringan baru , dan secara otomatis akan menggunakan nick itu setiap kali terhubung ke jaringan.

/channel add -auto #ubuntu Freenode

Itu akan membuat Anda bergabung #ubuntudi Freenode setiap kali Anda menjalankan irssi.

Dengan asumsi Anda telah mendaftarkan nick Anda, Anda dapat melakukan ini untuk mengidentifikasi secara otomatis:

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

Anda dapat beralih di antara saluran dengan Alt- 2, Alt- 3, dll, dengan masing-masing saluran menjadi Alt-Number

Jika Anda tertarik, ini ~/.irrsi/configfile saya :

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

Jika Anda seseorang yang suka menambahkan segala macam fungsi keren, maka Anda harus melihat situs skrip irssi - ada banyak jenis permata kecil di sana.

jrg
sumber
Terima kasih atas balasan cepatnya. Jawaban yang luar biasa! Benar-benar berfungsi dan membantu saya memahami perintah irssi dengan lebih baik!
Nitin Venkatesh
@nitstorm Sama-sama! Senang untuk membantu. :)
jrg
Bagaimana kabarmu? Saya tidak bisa menggunakan perintah msg di Irssi :(
streetlight
1
@streetlight Saya baru saja melakukan "/ pesan pesan pengguna", dan membuka tab baru.
jrg
Maaf, ya itu membantu. Belum memahami sistem windows. Terima kasih!
Lampu jalan
7

Jika Anda memulai irssidi Ubuntu, itu membuat file konfigurasi default di yang ~/.irssi/configsudah berisi data Anda yang diambil dari sistem (nick dan ident diatur ke nama pengguna dan nama asli Anda ke Nama Lengkap Anda).

Ada koneksi ke jaringan freenode yang sudah diatur, cukup tulis /connect Ubuntu, lalu /join #ubuntu, dan ulangi untuk saluran favorit lainnya.

Anda dapat beralih antar saluran dengan Alt- 2, Alt- 3, dll.

Anda dapat mengubah nick dengan /nick nitstormsekali terhubung ke server, atau mengubah secara global, menjalankan perintah /set nick nitstorm, lalu /saveuntuk memodifikasi secara permanen file konfigurasi Anda. Cara yang sama Anda bisa berubah real_namedan user_namedengan /set.

Anda dapat menambahkan saluran gabung dengan

/channel add -auto #ubuntu Ubuntu

(lihat /help channelbantuan).

Anda juga dapat memodifikasi file konfigurasi dengan tangan, tetapi lebih baik untuk mengeksekusi perintah untuk memodifikasinya di dalam irssi, lalu menyimpan konfigurasi.

Anda mengakhiri sesi Anda dengan /quit.

enzotib
sumber