mirror of
https://github.com/SqrtMinusOne/sqrtminusone.github.io.git
synced 2025-12-11 00:03:02 +03:00
deploy: 0a89f65091
This commit is contained in:
parent
f20aedd81f
commit
ac28b162a0
5 changed files with 48 additions and 28 deletions
|
|
@ -537,6 +537,7 @@
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#666">2</span> <span style="color:#666">.</span> <span style="color:#ba2121">"browser"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#666">3</span> <span style="color:#666">.</span> <span style="color:#ba2121">"comms"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#666">4</span> <span style="color:#666">.</span> <span style="color:#ba2121">"dev"</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">perspective-exwm-cycle-max-message-length</span> <span style="color:#666">180</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'perspective-map</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"e"</span> <span style="color:#00f">#'</span><span style="color:#19177c">perspective-exwm-move-to-workspace</span>
|
||||
|
|
|
|||
|
|
@ -524,10 +524,14 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"-"</span> <span style="color:#800">nil</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"--"</span> <span style="color:#00f">#'</span><span style="color:#19177c">avy-goto-char-2</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"-="</span> <span style="color:#00f">#'</span><span style="color:#19177c">avy-goto-symbol-1</span>))
|
||||
</span></span></code></pre></div><p><a href="https://github.com/abo-abo/ace-link">ace-link</a> is a package to jump to links with avy.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">ace-link</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:commands</span> (<span style="color:#19177c">ace-link-info</span> <span style="color:#19177c">ace-link-help</span> <span style="color:#19177c">ace-link-woman</span> <span style="color:#19177c">ace-link-eww</span>))
|
||||
</span></span></code></pre></div><h4 id="my-keybindings">My keybindings</h4>
|
||||
<p>Various keybinding settings that I can’t put anywhere else.</p>
|
||||
<h5 id="escape-key">Escape key</h5>
|
||||
<p>Use the escape key instead of <code>C-g</code> whenever possible.</p>
|
||||
<p><del>Use the escape key instead of <code>C-g</code> whenever possible</del> No, not really after 2 years… But I’ll keep this fragment.</p>
|
||||
<p>I must have copied it from somewhere, but as I googled to find out the source, I discovered quite a number of variations of the following code over time. I wonder if Richard Dawkins was inspired by something like this a few decades ago.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">minibuffer-keyboard-quit</span> ()
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"Abort recursive edit.
|
||||
|
|
@ -984,10 +988,10 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
<p>A minor mode to remember recently edited files.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#19177c">recentf-mode</span> <span style="color:#666">1</span>)
|
||||
</span></span></code></pre></div><p>Save the last place visited in the file.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#19177c">save-place-mode</span> <span style="color:#666">1</span>)
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#19177c">save-place-mode</span> <span style="color:#800">nil</span>)
|
||||
</span></span></code></pre></div><h4 id="deadgrep">Deadgrep</h4>
|
||||
<p><a href="https://github.com/Wilfred/deadgrep">deadgrep</a> is a nice Emacs for <a href="https://github.com/BurntSushi/ripgrep">ripgrep</a>. Running <code>ivy-occur</code> in <code>counsel-rg</code> does something a bit similar, but the deadgrep is much more full-featured.</p>
|
||||
<p>Somehow I couldn’t hook <code>toogle-truncate-lines</code> into the existing hooks, so I add advice.</p>
|
||||
<p><a href="https://github.com/Wilfred/deadgrep">deadgrep</a> is a nice Emacs interface for <a href="https://github.com/BurntSushi/ripgrep">ripgrep</a>. Running <code>ivy-occur</code> in <code>counsel-rg</code> does something a bit similar, but the deadgrep is more full-featured.</p>
|
||||
<p>Somehow I couldn’t hook <code>toogle-truncate-lines</code> into the existing hooks, so here goes advice.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/deadgrep-fix-buffer-advice</span> (<span style="color:#19177c">fun</span> <span style="color:#008000">&rest</span> <span style="color:#19177c">args</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">buf</span> (<span style="color:#00f">apply</span> <span style="color:#19177c">fun</span> <span style="color:#19177c">args</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">with-current-buffer</span> <span style="color:#19177c">buf</span>
|
||||
|
|
@ -1251,7 +1255,7 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">word-wrap</span> <span style="color:#666">1</span>)
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">global-visual-line-mode</span> <span style="color:#666">1</span>)
|
||||
</span></span></code></pre></div><h4 id="custom-frame-format">Custom frame format</h4>
|
||||
<p>Title format, which looks something like <code>emacs:project@hostname</code>.</p>
|
||||
<p>Title format, which used to look something like <code>emacs:project@hostname</code>. Now it’s just <code>emacs</code>.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">setq-default</span> <span style="color:#19177c">frame-title-format</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">'</span>(<span style="color:#ba2121">""</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"emacs"</span>
|
||||
|
|
@ -1424,7 +1428,10 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">set-frame-font</span> <span style="color:#ba2121">"JetBrainsMono Nerd Font 10"</span> <span style="color:#800">nil</span> <span style="color:#800">t</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">message</span> <span style="color:#ba2121">"Install JetBrainsMono Nerd Font!"</span>)))
|
||||
</span></span></code></pre></div><p>To make the icons work (e.g. in the Doom Modeline), run <code>M-x all-the-icons-install-fonts</code>. The package definition is somewhere later in the config.</p>
|
||||
<h4 id="ligatures">Ligatures</h4>
|
||||
<h4 id="other-fonts">Other fonts</h4>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">when</span> (<span style="color:#19177c">display-graphic-p</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">set-face-attribute</span> <span style="color:#19177c">'variable-pitch</span> <span style="color:#800">nil</span> <span style="color:#008000">:family</span> <span style="color:#ba2121">"Cantarell"</span> <span style="color:#008000">:height</span> <span style="color:#666">120</span>))
|
||||
</span></span></code></pre></div><h4 id="ligatures">Ligatures</h4>
|
||||
<p>Ligature setup for the JetBrainsMono font.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">ligature</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> (<span style="color:#008000">:host</span> <span style="color:#19177c">github</span> <span style="color:#008000">:repo</span> <span style="color:#ba2121">"mickeynp/ligature.el"</span>)
|
||||
|
|
@ -1513,9 +1520,9 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">doom-modeline-buffer-state-icon</span> <span style="color:#800">nil</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">doom-modeline-mode</span> <span style="color:#666">1</span>))
|
||||
</span></span></code></pre></div><h3 id="perspective-dot-el">perspective.el</h3>
|
||||
<p><a href="https://github.com/nex3/perspective-el">perspective.el</a> is a package that provides gives Emacs capacities to group buffers into “perspectives”, which are like workspaces in tiling WMs.</p>
|
||||
<p>An advantage over <code>tab-bar.el</code> is that <code>perspective.el</code> has better capacities for managing buffers, e.g. gives an ibuffer-like interface inside a perspective.</p>
|
||||
<p>However, I don’t like that list of workspaces is displayed inside the modeline rather than in an actual bar on the top of the frame. I may look into that later.</p>
|
||||
<p><a href="https://github.com/nex3/perspective-el">perspective.el</a> is a package that groups buffers in “perspectives”.</p>
|
||||
<p><code>tab-bar.el</code> can be configured to behave in a similar way, but I’m too invested in this package already.</p>
|
||||
<p>One thing I don’t like is that the list perspectives is displayed in the modeline, but I’ll probably look how to move them to the bar at the top of the frame at some point.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">perspective</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:init</span>
|
||||
|
|
@ -1572,8 +1579,8 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"m"</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/persp-move-window-and-switch</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"f"</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/persp-copy-window-and-switch</span>))
|
||||
</span></span></code></pre></div><h4 id="automating-perspectives">Automating perspectives</h4>
|
||||
<p>One thing I don’t like about <code>perspective.el</code> is that it doesn’t feature much (or any) capacity for automation. So out-of-the-box we’re supposed to manually assign buffers to perspectives we want.</p>
|
||||
<p>But we can cook some automation ourselves. First, let’s define a variable with “rules”:</p>
|
||||
<p>Out-of-the-box, <code>perspective.el</code> doesn’t feature much (or any) capacity for automation. We’re supposed to manually assign buffers to perspectives, which kinda makes sense… But I still want automation.</p>
|
||||
<p>First, let’s define a variable with “rules”:</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">my/perspective-assign-alist</span> <span style="color:#666">'</span>())
|
||||
</span></span></code></pre></div><p>One rule looks as follows:</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>(major-mode workspace-index persp-name)
|
||||
|
|
@ -1595,7 +1602,7 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">with-perspective</span> <span style="color:#19177c">persp-name</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">persp-set-buffer</span> <span style="color:#19177c">buffer</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">persp-switch-to-buffer</span> <span style="color:#19177c">buffer</span>)))))
|
||||
</span></span></code></pre></div><p>If EXWM is available, then so is mine <code>perspective-exwm</code> package that features a convenient procedure called <code>perspective-exwm-assign-window</code>. If not, we just work with perspectives.</p>
|
||||
</span></span></code></pre></div><p>If EXWM is available, then so is mine <code>perspective-exwm</code> package, which features a convenient procedure called <code>perspective-exwm-assign-window</code>. Otherwise, we just work with perspectives.</p>
|
||||
<p>Now, we have to put this function somewhere, and <code>after-change-major-mode-hook</code> seems like a perfect place for it.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#19177c">add-hook</span> <span style="color:#19177c">'after-change-major-mode-hook</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/perspective-assign</span>)
|
||||
</span></span></code></pre></div><p>And here is a simple macro to add rules to the list.</p>
|
||||
|
|
@ -1614,7 +1621,7 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">result</span>)))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">`</span>(<span style="color:#008000">progn</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">,@</span><span style="color:#19177c">result</span>)))
|
||||
</span></span></code></pre></div><p>Also, the logic above works only for cases when the buffer is created. Occasionally, the packages themselves run <code>switch-to-buffer</code>, which screws both EXWM workspaces and perspectives; to work around that, I define a macro that runs a command in a given perspective and workspace.</p>
|
||||
</span></span></code></pre></div><p>Also, the logic above works only for cases when the buffer is created. Occasionally, packages run <code>switch-to-buffer</code>, which screws both EXWM workspaces and perspectives; to work around that, I define a macro that runs a command in the context of a given perspective and workspace.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defmacro</span> <span style="color:#19177c">my/command-in-persp</span> (<span style="color:#19177c">command-name</span> <span style="color:#19177c">persp-name</span> <span style="color:#19177c">workspace-index</span> <span style="color:#008000">&rest</span> <span style="color:#19177c">args</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">`'</span>((<span style="color:#008000">lambda</span> ()
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
|
||||
|
|
@ -2519,7 +2526,7 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">yas-define-snippets</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">'latex-mode</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">my/latex-section-snippets</span>)
|
||||
</span></span></code></pre></div><h3 id="other-markup-and-natural-languages">Other markup & natural languages</h3>
|
||||
</span></span></code></pre></div><h3 id="markup-and-natural-languages">Markup & natural languages</h3>
|
||||
<h4 id="markdown">Markdown</h4>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">markdown-mode</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
|
||||
|
|
@ -2597,7 +2604,6 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:after</span> (<span style="color:#19177c">lsp</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:init</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">lsp-ltex-version</span> <span style="color:#ba2121">"15.2.0"</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">lsp-ltex-check-frequency</span> <span style="color:#ba2121">"save"</span>))
|
||||
</span></span></code></pre></div><p>A function to switch the current language.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/ltex-lang</span> ()
|
||||
|
|
@ -2683,6 +2689,12 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
|
|||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#19177c">add-hook</span> <span style="color:#19177c">'emacs-lisp-mode-hook</span> <span style="color:#00f">#'</span><span style="color:#19177c">aggressive-indent-mode</span>)
|
||||
</span></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic">;; (add-hook 'emacs-lisp-mode-hook #'smartparens-strict-mode)</span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">add-hook</span> <span style="color:#19177c">'emacs-lisp-mode-hook</span> <span style="color:#00f">#'</span><span style="color:#19177c">lispy-mode</span>)
|
||||
</span></span></code></pre></div><h5 id="helper-functions-1">Helper functions</h5>
|
||||
<p>Remove all advice from function. Source: <a href="https://emacs.stackexchange.com/questions/24657/unadvise-a-function-remove-all-advice-from-it">https://emacs.stackexchange.com/questions/24657/unadvise-a-function-remove-all-advice-from-it</a></p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">advice-unadvice</span> (<span style="color:#19177c">sym</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"Remove all advices from symbol SYM."</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span> <span style="color:#ba2121">"aFunction symbol: "</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-mapc</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">advice</span> <span style="color:#19177c">_props</span>) (<span style="color:#19177c">advice-remove</span> <span style="color:#19177c">sym</span> <span style="color:#19177c">advice</span>)) <span style="color:#19177c">sym</span>))
|
||||
</span></span></code></pre></div><h4 id="common-lisp">Common lisp</h4>
|
||||
<h5 id="slime">SLIME</h5>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">slime</span>
|
||||
|
|
@ -5072,7 +5084,7 @@ Didn’t work out as I expected, so I’ve made <code>org-journal-tags</
|
|||
</span></span></code></pre></div><p>I have added this line to yadm’s <code>post_alt</code> hook, so tangle is run after <code>yadm alt</code></p>
|
||||
<h2 id="applications">Applications</h2>
|
||||
<h3 id="dired-1">Dired</h3>
|
||||
<p>Dired is a built-in file manager. It’s so good that it’s strange that, to my knowledge, no one tried to replicate it outside of Emacs.</p>
|
||||
<p>Dired is the built-in Emacs file manager. It’s so good that it’s strange that, to my knowledge, no one tried to replicate it outside of Emacs.</p>
|
||||
<p>I currently use it as my primary file manager.</p>
|
||||
<h4 id="basic-config-and-keybindings">Basic config & keybindings</h4>
|
||||
<p>My config mostly follows ranger’s and vifm’s keybindings which I’m used to.</p>
|
||||
|
|
@ -5617,11 +5629,11 @@ Didn’t work out as I expected, so I’ve made <code>org-journal-tags</
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">elfeed-db-directory</span> <span style="color:#ba2121">"~/.elfeed"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">elfeed-enclosure-default-dir</span> (<span style="color:#00f">expand-file-name</span> <span style="color:#ba2121">"~/Downloads"</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-add</span> <span style="color:#00f">#'</span><span style="color:#19177c">elfeed-insert-html</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:around</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">fun</span> <span style="color:#008000">&rest</span> <span style="color:#19177c">r</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">shr-use-fonts</span> <span style="color:#800">nil</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">apply</span> <span style="color:#19177c">fun</span> <span style="color:#19177c">r</span>))))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">;; (advice-add #'elfeed-insert-html</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">;; :around</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">;; (lambda (fun &rest r)</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">;; (let ((shr-use-fonts nil))</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">;; (apply fun r))))</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">'</span>(<span style="color:#19177c">normal</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'elfeed-search-mode-map</span>
|
||||
|
|
@ -6782,11 +6794,16 @@ Didn’t work out as I expected, so I’ve made <code>org-journal-tags</
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq-local</span> <span style="color:#19177c">shr-use-fonts</span> (<span style="color:#19177c">not</span> <span style="color:#19177c">shr-use-fonts</span>)))
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">"aw"</span> <span style="color:#19177c">'eww</span>)
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">my/persp-add-rule</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">eww-mode</span> <span style="color:#666">2</span> <span style="color:#ba2121">"browser"</span>)
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'eww-mode-map</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"+"</span> <span style="color:#19177c">'text-scale-increase</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"-"</span> <span style="color:#19177c">'text-scale-decrease</span>)
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">'eww</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#666">'</span>(<span style="color:#19177c">eww-mode-map</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">'</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">emacs</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"f"</span> <span style="color:#00f">#'</span><span style="color:#19177c">ace-link-eww</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"+"</span> <span style="color:#19177c">'text-scale-increase</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"-"</span> <span style="color:#19177c">'text-scale-decrease</span>))
|
||||
</span></span></code></pre></div><h4 id="erc">ERC</h4>
|
||||
<p>ERC is a built-it Emacs IRC client.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">erc</span>
|
||||
|
|
@ -7009,7 +7026,8 @@ Didn’t work out as I expected, so I’ve made <code>org-journal-tags</
|
|||
</span></span></code></pre></div><h4 id="man-and-info">man & info</h4>
|
||||
<p>Of course, Emacs can also display man and info pages.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">Man-width-max</span> <span style="color:#666">180</span>)
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">"hM"</span> <span style="color:#19177c">'man</span>)
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">"hM"</span> <span style="color:#19177c">'woman</span>)
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">woman-fill-column</span> <span style="color:#666">90</span>)
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">'</span>(<span style="color:#19177c">normal</span>)
|
||||
|
|
@ -7103,7 +7121,7 @@ Didn’t work out as I expected, so I’ve made <code>org-journal-tags</
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">"ak"</span> <span style="color:#00f">#'</span><span style="color:#19177c">pass</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">pass-show-keybindings</span> <span style="color:#800">nil</span>))
|
||||
</span></span></code></pre></div><p>Also I use <code>password-store-get</code> in a few places in my config, and by default it returns <code>nil</code> if I make an error in the password, which is not too convinient. So:</p>
|
||||
</span></span></code></pre></div><p>Also I use <code>password-store-get</code> in a few places in my config, and by default it returns <code>nil</code> if I make an error in the password, which inconvinient if I want to run the command in <code>setq</code>. So:</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/password-store-get</span> (<span style="color:#19177c">entry</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">if-let</span> ((<span style="color:#19177c">res</span> (<span style="color:#19177c">password-store-get</span> <span style="color:#19177c">entry</span>)))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">res</span>
|
||||
|
|
@ -7730,6 +7748,7 @@ I’ve seen a couple of cases where people would swap their username and ema
|
|||
<li><a href="#fonts">Fonts</a>
|
||||
<ul>
|
||||
<li><a href="#frame-font">Frame font</a></li>
|
||||
<li><a href="#other-fonts">Other fonts</a></li>
|
||||
<li><a href="#ligatures">Ligatures</a></li>
|
||||
<li><a href="#icons">Icons</a></li>
|
||||
</ul>
|
||||
|
|
@ -7777,7 +7796,7 @@ I’ve seen a couple of cases where people would swap their username and ema
|
|||
<li><a href="#snippets-1">Snippets</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#other-markup-and-natural-languages">Other markup & natural languages</a>
|
||||
<li><a href="#markup-and-natural-languages">Markup & natural languages</a>
|
||||
<ul>
|
||||
<li><a href="#markdown">Markdown</a></li>
|
||||
<li><a href="#plantuml">PlantUML</a></li>
|
||||
|
|
|
|||
BIN
stats/all.png
BIN
stats/all.png
Binary file not shown.
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Loading…
Add table
Reference in a new issue