
# Table of Contents

1.  [Requirements](#orgcb9390d)
2.  [Installation](#orgf9a7dd2)
3.  [Key bindings and functions](#org4741345)
4.  [Packages](#org62b82b1)
5.  [Information](#orgc744d51)
6.  [Errors](#org27051a8)
    1.  [failed execution of bibtex2html](#orga0059df)

This is an ongoing evolution of Emacs configuration files, inspired by
a bunch of online resources.


<a id="orgcb9390d"></a>

# Requirements

external packages:

    # flyspell-buffer
    yay -S aspell hunspell
    # org-mode latex-mode
    yay -S biber bibtex2html
    # ledger-mode
    yay -S ledger
    # langtool
    yay -S languagetool
    # python-mode
    yay -S python-pylint
    # emacs-application-famework EAF
    yay -S --needed git nodejs aria2 libreoffice wmctrl xdotool jre-openjdk \
    python-pyqt5 python-pyqt5-sip python-pyqtwebengine python-qrcode \
    python-feedparser python-dbus python-pyinotify python-markdown \
    python-grip filebrowser-bin python-epc

Optional package for EAF see in Installation.


<a id="orgf9a7dd2"></a>

# Installation

Install into `~/.config/emacs` (must be empty)

    git clone http://gogs.weseng.de/daniel/emacs.git ~/.config/emacs

or copy all files of this directory into your ~/.config/emacs directory

-   for Emacs version < 27 create symbolic link to the init file
-   `ln -s ~/.config/emacs/init ~/.emacs` (or `~/.emacs.el`,
    `~/.emacs.d/init.el`)

copy/merge the texmf directory into your home directory

optional for EAF

    yay --editmenu -S mupdf python-pymupdf

edit `PGKBUILD` file for `python-pymupdf` to:

    prepare() {
      cd "${_name}-${pkgver}"
      patch --forward --strip=1 --input="${HOME}/.config/emacs/scripts/fix-pymupdf-library-linking-for-arcolinux.patch"
    }


<a id="org4741345"></a>

# Key bindings and functions

<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 1:</span> General</caption>

<colgroup>
<col  class="org-left" />

<col  class="org-left" />

<col  class="org-left" />
</colgroup>
<tbody>
<tr>
<td class="org-left">M-&gt;</td>
<td class="org-left">end-of-buffer</td>
<td class="org-left">&#xa0;</td>
</tr>


<tr>
<td class="org-left">M-&lt;</td>
<td class="org-left">beginning-of-buffer</td>
<td class="org-left">&#xa0;</td>
</tr>


<tr>
<td class="org-left">C-x h</td>
<td class="org-left">mark-whole-buffer</td>
<td class="org-left">mark the whole buffer</td>
</tr>


<tr>
<td class="org-left">C-x TAB</td>
<td class="org-left">indent-rigidly</td>
<td class="org-left">indent selected region</td>
</tr>


<tr>
<td class="org-left">C-x RET f</td>
<td class="org-left">set-buffer-file-coding-system</td>
<td class="org-left">e. g. set to utf-8</td>
</tr>


<tr>
<td class="org-left">&#xa0;</td>
<td class="org-left">decode-coding-region</td>
<td class="org-left">e. g. decode to utf-8 (郭富城Aaron Kwok)</td>
</tr>


<tr>
<td class="org-left">&#xa0;</td>
<td class="org-left">diff-buffer-with-file</td>
<td class="org-left">show a diff between buffer and file</td>
</tr>


<tr>
<td class="org-left">C-h v</td>
<td class="org-left">counsel-describe-variable</td>
<td class="org-left">help text of variable</td>
</tr>


<tr>
<td class="org-left">C-h f</td>
<td class="org-left">counsel-describe-funtion</td>
<td class="org-left">help text of function</td>
</tr>
</tbody>
</table>

<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 2:</span> Org</caption>

<colgroup>
<col  class="org-left" />

<col  class="org-left" />

<col  class="org-left" />
</colgroup>
<tbody>
<tr>
<td class="org-left">C-c &vert;</td>
<td class="org-left">org-table-create-or-convert-from-region</td>
<td class="org-left">convert seperator 1. TAB, 2. comma, 3. space</td>
</tr>


<tr>
<td class="org-left">C-u C-c &vert;</td>
<td class="org-left">org-table-create-or-convert-from-region</td>
<td class="org-left">convert using comma (CSV) seperator</td>
</tr>


<tr>
<td class="org-left">C-u C-u C-c &vert;</td>
<td class="org-left">org-table-create-or-convert-from-region</td>
<td class="org-left">convert using TAB</td>
</tr>


<tr>
<td class="org-left">C-u N C-c &vert;</td>
<td class="org-left">org-table-create-or-convert-from-region</td>
<td class="org-left">convert using N spaces</td>
</tr>


<tr>
<td class="org-left">C-u REGEX C-c &vert;</td>
<td class="org-left">org-table-create-or-convert-from-region</td>
<td class="org-left">convert using regex to match seperator</td>
</tr>


<tr>
<td class="org-left">C-c C-x \</td>
<td class="org-left">org-toggle-pretty-entries</td>
<td class="org-left">e. g. displays <code>\pm</code> as ±</td>
</tr>


<tr>
<td class="org-left">&#xa0;</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">&#xa0;</td>
</tr>


<tr>
<td class="org-left">Org table</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">&#xa0;</td>
</tr>


<tr>
<td class="org-left">S-right</td>
<td class="org-left">org-shiftright</td>
<td class="org-left">move a single cell right</td>
</tr>


<tr>
<td class="org-left">S-left</td>
<td class="org-left">org-shiftleft</td>
<td class="org-left">move a single cell left</td>
</tr>


<tr>
<td class="org-left">C-c SPC</td>
<td class="org-left">org-table-blank-field</td>
<td class="org-left">clear cell</td>
</tr>


<tr>
<td class="org-left">&#xa0;</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">&#xa0;</td>
</tr>


<tr>
<td class="org-left">Org src block</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">&#xa0;</td>
</tr>


<tr>
<td class="org-left">C-c C-v t</td>
<td class="org-left">org-babel-tangle</td>
<td class="org-left">create a file with the content of the block, use in header: :tangle filename</td>
</tr>
</tbody>
</table>

<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 3:</span> Custom and changed keys</caption>

<colgroup>
<col  class="org-left" />

<col  class="org-left" />

<col  class="org-left" />
</colgroup>
<tbody>
<tr>
<td class="org-left">C-r</td>
<td class="org-left">query-replace-regexp</td>
<td class="org-left">replace text. (former isearch-backward)</td>
</tr>


<tr>
<td class="org-left">C-x C-b</td>
<td class="org-left">ibuffer</td>
<td class="org-left">list buffers (former list-buffers)</td>
</tr>


<tr>
<td class="org-left">C-x &vert;</td>
<td class="org-left">toggle-window-split</td>
<td class="org-left">toggle horizontal/vertical 2 window split</td>
</tr>


<tr>
<td class="org-left">M-up</td>
<td class="org-left">move-line-up</td>
<td class="org-left">move current line up</td>
</tr>


<tr>
<td class="org-left">M-down</td>
<td class="org-left">move-line-down</td>
<td class="org-left">move current line down</td>
</tr>


<tr>
<td class="org-left">mouse-6</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">scroll right</td>
</tr>


<tr>
<td class="org-left">mouse-7</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">scroll left</td>
</tr>


<tr>
<td class="org-left">mouse-8</td>
<td class="org-left">previous-buffer</td>
<td class="org-left">&#xa0;</td>
</tr>


<tr>
<td class="org-left">mouse-9</td>
<td class="org-left">next-buffer</td>
<td class="org-left">&#xa0;</td>
</tr>


<tr>
<td class="org-left">f5</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">in org export to html</td>
</tr>


<tr>
<td class="org-left">f6</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">in org export to LaTeX</td>
</tr>
</tbody>
</table>

<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 4:</span> Multiple cursors</caption>

<colgroup>
<col  class="org-left" />

<col  class="org-left" />

<col  class="org-left" />
</colgroup>
<tbody>
<tr>
<td class="org-left">M-m s m a</td>
<td class="org-left">mc/mark-all-dwim</td>
<td class="org-left">try to mark all at point</td>
</tr>


<tr>
<td class="org-left">C-v</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">jump to next cursor</td>
</tr>


<tr>
<td class="org-left">M-v</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">jump to previous cursor</td>
</tr>


<tr>
<td class="org-left">C-&rsquo;</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">hide/unhide lines without a cursor</td>
</tr>
</tbody>
</table>


<a id="org62b82b1"></a>

# Packages

-   **rainbow-mode.el:** <https://elpa.gnu.org/packages/rainbow-mode.html>
    rainbow-mode is a minor mode for Emacs which displays strings representing
    colors with the color they represent as background.


<a id="orgc744d51"></a>

# Information

Interlock symlinks and auto-save files.
Be aware that symbolic links of the form “.#\*” are not auto-save files
but interlocks to prevent the simultaneous editing of the same
file. See [Interlocking](https://www.emacswiki.org/info-ref?find=Interlocking) in the [EmacsManual](https://www.emacswiki.org/emacs/EmacsManual) for details.


<a id="org27051a8"></a>

# Errors


<a id="orga0059df"></a>

## failed execution of bibtex2html

see bib2htmlxxxxxx.blg for errors, e.g.

-   I couldn&rsquo;t open style file acmu.bst

copy/merge the texmf directory into your home directory.

