diff options
| -rw-r--r-- | emacs/init.html | 259 | ||||
| -rw-r--r-- | emacs/init.org | 47 |
2 files changed, 206 insertions, 100 deletions
diff --git a/emacs/init.html b/emacs/init.html index 5f6fb91..c0b52b3 100644 --- a/emacs/init.html +++ b/emacs/init.html @@ -4,7 +4,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>mssola's GNU Emacs configuration</title> -<!-- 2017-04-06 Thu 13:19 --> +<!-- 2017-05-19 Fri 09:26 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="generator" content="Org-mode" /> <meta name="author" content="Miquel Sabaté Solà" /> @@ -278,6 +278,7 @@ on each change, the following function is provided: </div> </div> </div> + <div id="outline-container-sec-2" class="outline-2"> <h2 id="sec-2">Introduction</h2> <div class="outline-text-2" id="text-2"> @@ -392,6 +393,41 @@ Use UTF-8 <b>always</b>. <span class="org-rainbow-delimiters-depth-1">(</span>set-language-environment 'utf-8<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> + +<p> +Some editing tweaks like tabs vs spaces, maximum column width, etc. +</p> + +<div class="org-src-container"> + +<pre class="src src-elisp"><span class="org-comment-delimiter">;; </span><span class="org-comment">Emacs modes typically provide a standard means to change the indentation</span> +<span class="org-comment-delimiter">;; </span><span class="org-comment">width (e.g. c-basic-offset). Moreover, even though I prefer tabs over space,</span> +<span class="org-comment-delimiter">;; </span><span class="org-comment">for most coding conventions this is not the case (e.g. ruby). For this</span> +<span class="org-comment-delimiter">;; </span><span class="org-comment">reason, I will disable them by default and enabled them back for each</span> +<span class="org-comment-delimiter">;; </span><span class="org-comment">specific case (e.g. C). I'm also using the smart-tabs-mode package, see</span> +<span class="org-comment-delimiter">;; </span><span class="org-comment">below in the languages section.</span> +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq-default</span> indent-tabs-mode nil<span class="org-rainbow-delimiters-depth-1">)</span> +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq-default</span> tab-width 4<span class="org-rainbow-delimiters-depth-1">)</span> + +<span class="org-comment-delimiter">;; </span><span class="org-comment">Maximum 80 columns.</span> +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq-default</span> fill-column 80<span class="org-rainbow-delimiters-depth-1">)</span> +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq-default</span> auto-fill-function 'do-auto-fill<span class="org-rainbow-delimiters-depth-1">)</span> + +<span class="org-comment-delimiter">;; </span><span class="org-comment">Do not break lines</span> +<span class="org-rainbow-delimiters-depth-1">(</span>set-default 'truncate-lines t<span class="org-rainbow-delimiters-depth-1">)</span> + +<span class="org-comment-delimiter">;; </span><span class="org-comment">Delete the selection with a keypress.</span> +<span class="org-rainbow-delimiters-depth-1">(</span>delete-selection-mode t<span class="org-rainbow-delimiters-depth-1">)</span> + +<span class="org-comment-delimiter">;; </span><span class="org-comment">Remove whitespaces at the end of line</span> +<span class="org-rainbow-delimiters-depth-1">(</span>add-hook 'before-save-hook 'delete-trailing-whitespace<span class="org-rainbow-delimiters-depth-1">)</span> + +<span class="org-comment-delimiter">;; </span><span class="org-comment">Cursor</span> +<span class="org-rainbow-delimiters-depth-1">(</span>blink-cursor-mode 0<span class="org-rainbow-delimiters-depth-1">)</span> +<span class="org-rainbow-delimiters-depth-1">(</span>global-hl-line-mode -1<span class="org-rainbow-delimiters-depth-1">)</span> +<span class="org-rainbow-delimiters-depth-1">(</span>show-paren-mode 1<span class="org-rainbow-delimiters-depth-1">)</span> +</pre> +</div> </div> </div> @@ -778,7 +814,7 @@ require it here on the very top. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> diminish +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">diminish</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -796,7 +832,7 @@ Ayo silver! <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> ag +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">ag</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -818,12 +854,12 @@ Then, for keeping up with my projects I use the Projectile + Helm combination. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> projectile +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">projectile</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span>projectile-mode 1<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> helm +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">helm</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> projectile-completion-system 'helm<span class="org-rainbow-delimiters-depth-2">)</span> @@ -855,10 +891,10 @@ Then, for keeping up with my projects I use the Projectile + Helm combination. <span class="org-rainbow-delimiters-depth-2">(</span>define-key helm-map <span class="org-rainbow-delimiters-depth-3">(</span>kbd <span class="org-string">"C-j"</span><span class="org-rainbow-delimiters-depth-3">)</span> 'helm-next-line<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span>define-key helm-map <span class="org-rainbow-delimiters-depth-3">(</span>kbd <span class="org-string">"C-k"</span><span class="org-rainbow-delimiters-depth-3">)</span> 'helm-previous-line<span class="org-rainbow-delimiters-depth-2">)</span> - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> helm-ag + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">helm-ag</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> helm-projectile +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">helm-projectile</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span>helm-projectile-on<span class="org-rainbow-delimiters-depth-2">)</span> @@ -971,10 +1007,10 @@ extension. This works with lots of languages with proper glue code. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> let-alist +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">let-alist</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> flycheck +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">flycheck</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:diminish</span> <span class="org-builtin">:config</span> @@ -997,7 +1033,7 @@ with your editor, you have to increase/decrease the fonts. I use the <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> default-text-scale +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">default-text-scale</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span>global-set-key <span class="org-rainbow-delimiters-depth-3">(</span>kbd <span class="org-string">"C-+"</span><span class="org-rainbow-delimiters-depth-3">)</span> 'default-text-scale-increase<span class="org-rainbow-delimiters-depth-2">)</span> @@ -1014,7 +1050,7 @@ supports it). <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> rainbow-delimiters +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">rainbow-delimiters</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -1025,7 +1061,7 @@ I never use the mouse. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> disable-mouse +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">disable-mouse</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span>global-disable-mouse-mode<span class="org-rainbow-delimiters-depth-2">)</span> @@ -1041,7 +1077,7 @@ commands for the current chord as a list. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> which-key +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">which-key</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:diminish</span> which-key-mode <span class="org-builtin">:config</span> @@ -1056,7 +1092,7 @@ this, we have <code>wc-mode</code>. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> wc-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">wc-mode</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -1068,7 +1104,7 @@ that often, but it's cool to have a distraction-free screen from time to time. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> writeroom-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">writeroom-mode</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -1081,7 +1117,7 @@ most of my uses, it's convenient to have this tool anyways. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> expand-region +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">expand-region</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -1133,7 +1169,7 @@ remember some of these snippets, I've mapped <kbd>, h</kbd> to <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> yasnippet +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">yasnippet</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:diminish</span> yas-minor-mode <span class="org-builtin">:init</span> <span class="org-rainbow-delimiters-depth-2">(</span>yas-global-mode<span class="org-rainbow-delimiters-depth-2">)</span> @@ -1293,7 +1329,7 @@ Now make sure that Evil is installed, and call the relevant configuration functi <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -1323,7 +1359,7 @@ Vim into Evil. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-leader +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-leader</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span>global-evil-leader-mode<span class="org-rainbow-delimiters-depth-2">)</span> @@ -1350,7 +1386,7 @@ having double quotes with single quotes in a single command). <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-surround +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-surround</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span>global-evil-surround-mode 1<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> @@ -1366,7 +1402,7 @@ the current line, regardless of the programming language. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-commentary +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-commentary</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span>evil-commentary-mode t<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> @@ -1382,7 +1418,7 @@ respectively. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-args +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-args</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-comment-delimiter">; </span><span class="org-comment">Configuration taken from the documentation of evil-args.</span> @@ -1408,7 +1444,7 @@ into Evil: <kbd>C-a</kbd> for increasing a number, and <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-numbers +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-numbers</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span>define-key evil-normal-state-map <span class="org-rainbow-delimiters-depth-3">(</span>kbd <span class="org-string">"C-a"</span><span class="org-rainbow-delimiters-depth-3">)</span> 'evil-numbers/inc-at-pt<span class="org-rainbow-delimiters-depth-2">)</span> @@ -1428,7 +1464,7 @@ certainly useful for some common tasks (I guess that I still need some learning) <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> magit +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">magit</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> </pre> @@ -1482,7 +1518,7 @@ And repair some key bindings from Evil mode. <pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">with-eval-after-load</span> 'evil-leader <span class="org-rainbow-delimiters-depth-2">(</span>evil-leader/set-key <span class="org-string">"s"</span> 'magit-status<span class="org-rainbow-delimiters-depth-2">)</span> - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> evil-magit + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-magit</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -1830,7 +1866,7 @@ I want desktop notifications when receiving email. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> mu4e-alert +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">mu4e-alert</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -1846,7 +1882,7 @@ I want desktop notifications when receiving email. <span class="org-comment-delimiter">; </span><span class="org-comment">Evil mode in mu4e</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">with-eval-after-load</span> 'evil - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> evil-mu4e + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-mu4e</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -1990,7 +2026,7 @@ blocks to be converted into HTML as well, so we can properly colorize it). <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> htmlize +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">htmlize</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -2192,45 +2228,84 @@ Insert a <kbd></kbd> value in org mode. See this <a href="http://ema <h2 id="sec-14">IRC</h2> <div class="outline-text-2" id="text-14"> <p> -I'm giving ERC a chance. First of all, I'm setting up basic stuff. +I'm using <a href="https://www.gnu.org/software/emacs/manual/html_mono/erc.html">ERC</a> for IRC. </p> <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> erc +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">erc</span> <span class="org-builtin">:config</span> +</pre> +</div> + +<p> +First of all, let's add some basic modules. +</p> + +<div class="org-src-container"> + +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">dolist</span> <span class="org-rainbow-delimiters-depth-2">(</span>mod '<span class="org-rainbow-delimiters-depth-3">(</span>autojoin track truncate<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> + <span class="org-rainbow-delimiters-depth-2">(</span>add-to-list 'erc-modules mod<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> +</pre> +</div> + +<p> +Setting up basic stuff. +</p> + +<div class="org-src-container"> + +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> erc-hide-list '<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"PART"</span><span class="org-rainbow-delimiters-depth-2">)</span> + erc-prompt <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-3">()</span> <span class="org-rainbow-delimiters-depth-3">(</span>concat <span class="org-rainbow-delimiters-depth-4">(</span>buffer-name<span class="org-rainbow-delimiters-depth-4">)</span> <span class="org-string">">"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> + erc-track-exclude-types '<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"JOIN"</span> <span class="org-string">"NICK"</span> <span class="org-string">"PART"</span> <span class="org-string">"QUIT"</span> <span class="org-string">"MODE"</span><span class="org-rainbow-delimiters-depth-2">)</span> + erc-server-coding-system '<span class="org-rainbow-delimiters-depth-2">(</span>utf-8 . utf-8<span class="org-rainbow-delimiters-depth-2">)</span> + erc-kill-buffer-on-part t + erc-kill-queries-on-quit t + erc-kill-server-buffer-on-quit t + erc-fill-column 100 + erc-fill-prefix <span class="org-string">""</span> + erc-timestamp-format <span class="org-string">"[%H:%M] "</span> + erc-insert-timestamp-function 'erc-insert-timestamp-left + erc-insert-away-timestamp-function 'erc-insert-timestamp-left + erc-hide-timestamps nil + erc-whowas-on-nosuchnick t + erc-public-away-p nil + erc-echo-notice-always-hook '<span class="org-rainbow-delimiters-depth-2">(</span>erc-echo-notice-in-minibuffer<span class="org-rainbow-delimiters-depth-2">)</span> + erc-auto-set-away nil + erc-autoaway-message <span class="org-string">"%i seconds out..."</span> + erc-away-nickname <span class="org-string">"msabate"</span> + erc-enable-logging t + erc-query-on-unjoined-chan-privmsg t<span class="org-rainbow-delimiters-depth-1">)</span> +</pre> +</div> + +<p> +Let's log messages whenever I receive/send them. The other option is to only do +that on <code>/quit</code> or <code>/part</code>, but it's better to be safe than sorry. +</p> + +<div class="org-src-container"> + +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">require</span> '<span class="org-constant">erc-log</span><span class="org-rainbow-delimiters-depth-1">)</span> +<span class="org-rainbow-delimiters-depth-1">(</span>erc-log-enable<span class="org-rainbow-delimiters-depth-1">)</span> + +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> erc-log-channels-directory <span class="org-string">"~/.emacs.d/erc"</span> + erc-save-buffer-on-part nil + erc-save-queries-on-quit nil + erc-log-write-after-send t + erc-log-write-after-insert t<span class="org-rainbow-delimiters-depth-1">)</span> +</pre> +</div> + +<p> +Servers and channels to auto-join. +</p> + +<div class="org-src-container"> - <span class="org-rainbow-delimiters-depth-2">(</span>erc-track-mode t<span class="org-rainbow-delimiters-depth-2">)</span> - - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> erc-hide-list '<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-string">"PART"</span><span class="org-rainbow-delimiters-depth-3">)</span> - erc-prompt <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-4">()</span> <span class="org-rainbow-delimiters-depth-4">(</span>concat <span class="org-rainbow-delimiters-depth-5">(</span>buffer-name<span class="org-rainbow-delimiters-depth-5">)</span> <span class="org-string">">"</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span> - erc-track-exclude-types '<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-string">"JOIN"</span> <span class="org-string">"NICK"</span> <span class="org-string">"PART"</span> <span class="org-string">"QUIT"</span> <span class="org-string">"MODE"</span><span class="org-rainbow-delimiters-depth-3">)</span> - erc-server-coding-system '<span class="org-rainbow-delimiters-depth-3">(</span>utf-8 . utf-8<span class="org-rainbow-delimiters-depth-3">)</span> - erc-kill-buffer-on-part t - erc-kill-queries-on-quit t - erc-kill-server-buffer-on-quit t - erc-fill-column 100 - erc-fill-prefix <span class="org-string">""</span> - erc-log-channels t - erc-log-write-after-insert t - erc-log-insert-log-on-open nil - erc-log-channels-directory <span class="org-string">"~/.emacs.d/erc/"</span> - erc-timestamp-format <span class="org-string">"[%H:%M] "</span> - erc-insert-timestamp-function 'erc-insert-timestamp-left - erc-insert-away-timestamp-function 'erc-insert-timestamp-left - erc-hide-timestamps nil - erc-whowas-on-nosuchnick t - erc-public-away-p nil - erc-echo-notice-always-hook '<span class="org-rainbow-delimiters-depth-3">(</span>erc-echo-notice-in-minibuffer<span class="org-rainbow-delimiters-depth-3">)</span> - erc-auto-set-away nil - erc-autoaway-message <span class="org-string">"%i seconds out..."</span> - erc-away-nickname <span class="org-string">"msabate"</span> - erc-enable-logging t - erc-query-on-unjoined-chan-privmsg t<span class="org-rainbow-delimiters-depth-2">)</span> - - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> erc-autojoin-channels-alist - '<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-4">(</span><span class="org-string">"irc.freenode.net"</span> <span class="org-string">"#gnu"</span> <span class="org-string">"#emacs"</span><span class="org-rainbow-delimiters-depth-4">)</span> - <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-string">"irc.suse.de"</span> <span class="org-string">"#suse"</span> <span class="org-string">"#docker"</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> erc-autojoin-channels-alist + '<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-string">"irc.freenode.net"</span> <span class="org-string">"#gnu"</span> <span class="org-string">"#emacs"</span><span class="org-rainbow-delimiters-depth-3">)</span> + <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-string">"irc.suse.de"</span> <span class="org-string">"#suse"</span> <span class="org-string">"#docker"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -2240,7 +2315,7 @@ Use the <code>erc-hl-nicks</code> package, so highlight support for nicknames is <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> erc-hl-nicks +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">erc-hl-nicks</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:init</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">with-eval-after-load</span> 'erc @@ -2278,14 +2353,18 @@ At this point, we can safely update all the loaded ERC modules. </div> <p> -According to the <a href="https://www.emacswiki.org/emacs/ErcFilling">wiki</a>, <code>auto-fill-mode</code> should be disabled if I'm using -<code>erc-fill-mode</code>. +Start some modules which won't do it by default. Moreover, according to the <a href="https://www.emacswiki.org/emacs/ErcFilling">wiki</a> +<code>auto-fill-mode</code> should be disabled if I'm using <code>erc-fill-mode</code>. </p> <div class="org-src-container"> <pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span>add-hook 'erc-mode-hook - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-3">()</span> <span class="org-rainbow-delimiters-depth-3">(</span>auto-fill-mode 0<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> + '<span class="org-rainbow-delimiters-depth-2">(</span>lambda <span class="org-rainbow-delimiters-depth-3">()</span> + <span class="org-rainbow-delimiters-depth-3">(</span>erc-track-mode t<span class="org-rainbow-delimiters-depth-3">)</span> + <span class="org-rainbow-delimiters-depth-3">(</span>auto-fill-mode -1<span class="org-rainbow-delimiters-depth-3">)</span> + <span class="org-rainbow-delimiters-depth-3">(</span>erc-log-mode 1<span class="org-rainbow-delimiters-depth-3">)</span> + <span class="org-rainbow-delimiters-depth-3">(</span>erc-autojoin-mode 1<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -2400,7 +2479,7 @@ CMake for y'all. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> cmake-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">cmake-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -2410,7 +2489,7 @@ CMake for y'all. '<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-rainbow-delimiters-depth-5">(</span><span class="org-string">"\\.cmake\\'"</span> . cmake-mode<span class="org-rainbow-delimiters-depth-5">)</span><span class="org-rainbow-delimiters-depth-4">)</span> auto-mode-alist<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> cmake-font-lock + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">cmake-font-lock</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -2467,18 +2546,18 @@ And now my Go configuration. This includes stuff like the usage of <code>goimpor <span class="org-rainbow-delimiters-depth-2">(</span>flyspell-prog-mode<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-comment-delimiter">; </span><span class="org-comment">eldoc support</span> - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> go-eldoc + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">go-eldoc</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">require</span> '<span class="org-constant">go-eldoc</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> go-add-tags + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">go-add-tags</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-3">(</span>evil-leader/set-key <span class="org-string">"t"</span> 'go-add-tags<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Go</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> go-mode +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">go-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:pin</span> melpa-stable <span class="org-builtin">:config</span> @@ -2500,7 +2579,7 @@ Install <code>rust-mode</code> and add some hooks to make it friendlier. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> rust-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">rust-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -2509,7 +2588,7 @@ Install <code>rust-mode</code> and add some hooks to make it friendlier. <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-keyword">when</span> <span class="org-rainbow-delimiters-depth-5">(</span>eq major-mode 'rust-mode<span class="org-rainbow-delimiters-depth-5">)</span> <span class="org-rainbow-delimiters-depth-5">(</span>rust-format-buffer<span class="org-rainbow-delimiters-depth-5">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> flycheck-rust + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">flycheck-rust</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -2530,7 +2609,7 @@ usings tabs for indentation (C, C++ and Go). <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> smart-tabs-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">smart-tabs-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">smart-tabs-add-language-support</span> golang go-mode-hook @@ -2548,7 +2627,7 @@ usings tabs for indentation (C, C++ and Go). <div class="org-src-container"> <pre class="src src-elisp"><span class="org-comment-delimiter">;; </span><span class="org-comment">Markdown mode with preview mode in the browser.</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> markdown-mode +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">markdown-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -2558,14 +2637,14 @@ usings tabs for indentation (C, C++ and Go). <span class="org-comment-delimiter">; </span><span class="org-comment">Preview mode does its things through websockets, so it's a requirement.</span> <span class="org-comment-delimiter">; </span><span class="org-comment">After that, we can safely require it.</span> - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> websocket + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">websocket</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> - <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">use-package</span> markdown-preview-mode + <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">use-package</span> <span class="org-constant">markdown-preview-mode</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-comment-delimiter">; </span><span class="org-comment">YAML</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> yaml-mode +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">yaml-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -2584,17 +2663,17 @@ Slim and SCSS. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> slim-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">slim-mode</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> scss-mode +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">scss-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> scss-compile-at-save nil<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span>add-hook 'yaml-mode-hook 'warnings-mode-hook<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> coffee-mode +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">coffee-mode</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -2606,10 +2685,10 @@ bundle of features which are interesting for web-related stuff. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> php-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">php-mode</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> web-mode +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">web-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -2628,7 +2707,7 @@ bundle of features which are interesting for web-related stuff. <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-keyword">setq</span> js-indent-level 2<span class="org-rainbow-delimiters-depth-4">)</span> <span class="org-rainbow-delimiters-depth-4">(</span>rainbow-delimiters-mode 1<span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> vue-mode + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">vue-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">setq</span> mmm-submode-decoration-level 0<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> @@ -2655,7 +2734,7 @@ can be frustrating without proper formatting. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> json-reformat +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">json-reformat</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -2671,7 +2750,7 @@ Highlighting for Dockerfiles. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> dockerfile-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">dockerfile-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -2685,20 +2764,20 @@ Stuff from Hashicorp like terraform and HCL. <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> terraform-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">terraform-mode</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> <span class="org-rainbow-delimiters-depth-2">(</span>terraform-format-on-save-mode<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> -<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> hcl-mode +<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">hcl-mode</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> salt-mode +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">salt-mode</span> <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span> </pre> </div> @@ -2774,7 +2853,7 @@ too many things into my leader and these shortcuts look sensible to me). <div class="org-src-container"> -<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> crux +<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">crux</span> <span class="org-builtin">:ensure</span> t <span class="org-builtin">:config</span> @@ -2839,7 +2918,7 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">< </div> <div id="postamble" class="status"> <p class="author">Author: Miquel Sabaté Solà</p> -<p class="date">Created: 2017-04-06 Thu 13:19</p> +<p class="date">Created: 2017-05-19 Fri 09:26</p> <p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.2.1 (<a href="http://orgmode.org">Org</a> mode 8.2.10)</p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> </div> diff --git a/emacs/init.org b/emacs/init.org index 8b9c677..413b258 100644 --- a/emacs/init.org +++ b/emacs/init.org @@ -1550,14 +1550,23 @@ Will work on both org-mode and any mode that accepts plain html." * IRC -I'm giving ERC a chance. First of all, I'm setting up basic stuff. +I'm using [[https://www.gnu.org/software/emacs/manual/html_mono/erc.html][ERC]] for IRC. #+BEGIN_SRC elisp (use-package erc :config +#+END_SRC + +First of all, let's add some basic modules. - (erc-track-mode t) +#+BEGIN_SRC elisp + (dolist (mod '(autojoin track truncate)) + (add-to-list 'erc-modules mod)) +#+END_SRC +Setting up basic stuff. + +#+BEGIN_SRC elisp (setq erc-hide-list '("PART") erc-prompt (lambda () (concat (buffer-name) ">")) erc-track-exclude-types '("JOIN" "NICK" "PART" "QUIT" "MODE") @@ -1567,10 +1576,6 @@ I'm giving ERC a chance. First of all, I'm setting up basic stuff. erc-kill-server-buffer-on-quit t erc-fill-column 100 erc-fill-prefix "" - erc-log-channels t - erc-log-write-after-insert t - erc-log-insert-log-on-open nil - erc-log-channels-directory "~/.emacs.d/erc/" erc-timestamp-format "[%H:%M] " erc-insert-timestamp-function 'erc-insert-timestamp-left erc-insert-away-timestamp-function 'erc-insert-timestamp-left @@ -1583,7 +1588,25 @@ I'm giving ERC a chance. First of all, I'm setting up basic stuff. erc-away-nickname "msabate" erc-enable-logging t erc-query-on-unjoined-chan-privmsg t) +#+END_SRC +Let's log messages whenever I receive/send them. The other option is to only do +that on =/quit= or =/part=, but it's better to be safe than sorry. + +#+BEGIN_SRC elisp + (require 'erc-log) + (erc-log-enable) + + (setq erc-log-channels-directory "~/.emacs.d/erc" + erc-save-buffer-on-part nil + erc-save-queries-on-quit nil + erc-log-write-after-send t + erc-log-write-after-insert t) +#+END_SRC + +Servers and channels to auto-join. + +#+BEGIN_SRC elisp (setq erc-autojoin-channels-alist '(("irc.freenode.net" "#gnu" "#emacs") ("irc.suse.de" "#suse" "#docker"))) @@ -1620,12 +1643,16 @@ At this point, we can safely update all the loaded ERC modules. (lambda (x) (erc-update-modules))) #+END_SRC -According to the [[https://www.emacswiki.org/emacs/ErcFilling][wiki]], =auto-fill-mode= should be disabled if I'm using -=erc-fill-mode=. +Start some modules which won't do it by default. Moreover, according to the [[https://www.emacswiki.org/emacs/ErcFilling][wiki]] +=auto-fill-mode= should be disabled if I'm using =erc-fill-mode=. #+BEGIN_SRC elisp -(add-hook 'erc-mode-hook - (lambda () (auto-fill-mode 0))) + (add-hook 'erc-mode-hook + '(lambda () + (erc-track-mode t) + (auto-fill-mode -1) + (erc-log-mode 1) + (erc-autojoin-mode 1))) #+END_SRC And now define a function to connect to both IRC servers. |
