shosei

.emacs erc settings

Feb 23rd, 2012
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 2.95 KB | None | 0 0
  1.     (add-hook 'erc-after-connect '(lambda (SERVER NICK)
  2.                (erc-message "PRIVMSG" "NickServ identify mypassword")))
  3.  
  4.        ;; ******** DO NOT USE BOTH! ********
  5.  
  6.     (add-hook 'erc-after-connect
  7.           '(lambda (SERVER NICK)
  8.              (cond
  9.               ((string-match "freenode\\.net" SERVER)
  10.                (erc-message "PRIVMSG" "NickServ identify password1"))
  11.    
  12.               ((string-match "oftc\\.net" SERVER)
  13.                (erc-message "PRIVMSG" "NickServ identify password2"))
  14.    
  15.               ((string-match "jin\\.tekken" SERVER)
  16.                (erc-message "PRIVMSG" "#bitlbee identify password3")))))
  17.    
  18.  
  19. (require 'erc-join)
  20. (erc-autojoin-mode 1)
  21. (setq erc-autojoin-channels-alist
  22.           '(("freenode.net" "#emacs" "#" "#" "#"
  23.                  "#" "#" "#" "#" "#e" "#"
  24.                  "#" "#")
  25.             ("" "#")))
  26.  
  27.  
  28. (require 'erc-match)
  29. (setq erc-keywords '("jj"))
  30. (erc-match-mode)
  31.  
  32. (require 'erc-track)
  33. (erc-track-mode t) ; was (erc-track-modified-channels-mode t)
  34.                    
  35. (add-hook 'erc-mode-hook
  36.           '(lambda ()
  37.              (require 'erc-pcomplete)
  38.              (pcomplete-erc-setup)
  39.              (erc-completion-mode 1)))
  40.  
  41. (require 'erc-fill)
  42. (erc-fill-mode t)
  43.  
  44. (require 'erc-ring)
  45. (erc-ring-mode t)
  46.  
  47. (require 'erc-netsplit)
  48. (erc-netsplit-mode t)
  49.  
  50. (erc-timestamp-mode t)
  51. (setq erc-timestamp-format "[%R-%m/%d]")
  52.  
  53. (erc-button-mode nil) ;slow
  54.  
  55. (setq erc-user-full-name "jj")
  56. (setq erc-email-userid "#")
  57.  
  58. ;; logging:
  59. (setq erc-log-insert-log-on-open nil)
  60. (setq erc-log-channels t)
  61. (setq erc-log-channels-directory "~/.irclog/")
  62. (setq erc-save-buffer-on-part t)
  63. (setq erc-hide-timestamps nil)
  64.  
  65. (defadvice save-buffers-kill-emacs (before save-logs (arg) activate)
  66.   (save-some-buffers t (lambda () (when (and (eq major-mode 'erc-mode)
  67.                                              (not (null buffer-file-name)))))))
  68.  
  69. (add-hook 'erc-insert-post-hook 'erc-save-buffer-in-logs)
  70. (add-hook 'erc-mode-hook '(lambda () (when (not (featurep 'xemacs))
  71.                                        (set (make-variable-buffer-local
  72.                                              'coding-system-for-write)
  73.                                             'emacs-mule))))
  74. ;; end logging
  75.  
  76. ;; Truncate buffers for NO HOG.
  77. (setq erc-max-buffer-size 20000)
  78. (defvar erc-insert-post-hook)
  79. (add-hook 'erc-insert-post-hook 'erc-truncate-buffer)
  80. (setq erc-truncate-buffer-on-save t)
  81.  
  82.  
  83. ;; When ChanServ restarts
  84. (defun reset-erc-track-mode ()
  85.   (interactive)
  86.   (setq erc-modified-channels-alist nil)
  87.   (erc-modified-channels-update))
  88. (global-set-key (kbd "C-c r") 'reset-erc-track-mode)
  89.  
  90.  
  91. ;;; Connect to networks.
  92. (defun irc-maybe ()
  93.   "Connect to IRC."
  94.   (interactive)
  95.   (when (y-or-n-p "IRC? ")
  96.     (erc :server "irc.freenode.net" :port 6667
  97.                 :nick "" :full-name "jj")
  98.     (erc :server "irc..net" :port 6667
  99.                 :nick "" :full-name "jj")
  100.     (erc :server "localhost" :port 6667 :nick "#")))
Advertisement
Add Comment
Please, Sign In to add comment