nema

Nayuki's EMAcs config

1 week after

+TITLE: NEMA - Nayuki's EMAcs config

+AUTHOR: Nyk Ma [email protected]

  • Description

A not-so-hurt-yet-still-make-kind-of-sense emacs configuration framework, c/w a set of packages.

  • Usage

+BEGIN_SRC sh

cd ~ mv .emacs.d .emacs.d.old git clone https://github.com/nykma/nema.git .emacs.d emacs -nw

+END_SRC

  • Hotkey cheatsheet

| Hotkey | Command | Location | Comment | |---------------+---------------------------------+-------------------+----------------------------------------------------| | =C-c g g= | =magit-status= | =nema-vcs.el= | Magit | | =C-c g b= | =magit-blame= | =nema-vcs.el= | =git blame= current buffer | | C-' | =avy-goto-char-timer= | =nema-basic.el= | Cursor jump to location | | =C->= | =mc/mark-next-like-this-symbol= | =nema-basic.el= | Multi cursor | | =C-c C-p TAB= | =neotree-toggle= | =nema-basic.el= | NeoTree | | =C-TAB= | =origami-show-only-node= | =nema-basic.el= | Code folding | | =M-o= | Common window functions | =nema-hydra.el= | Focus changing, window creation/deletion and so on | | =C-c & w= | =aya-create= | =nema-snippet.el= | Create and use a snippet when editing | | =C-M-o= | =ace-window= | =nema-basic.el= | Window switch |

  • Customize ** =customize-group= There is a customize group called =nema= to give you a few customization options. Remember to restart emacs if anything is changed.

    • =nema-emacs-completion-engine= :: Choose between =ivy=, =helm= and none. Default to =ivy=
    • =nema-use-lsp= :: Use LSP or not. Remember to follow toolchain installation instructions in language layer files. Default to =nil=.
    • =nema-theme= :: Choose one theme from given pre-defined themes list.
    • =nema-theme-style= :: Switch between dark and light mode of your theme (if supported). ** Besides There are many ways to hack this. You can
      1. Write your ELisp in =.emacs.d/my/.el=. They will be loaded after all =nema-= modules are loaded.
        • Your snippets will be saved and loaded in =.emacs.d/my/snippets/*/=. (See =nema-snippet.el=)
        • =.emacs.d/my/*/= is in =.gitignore= list. So you can save sensitive data (e.g. IRC login info or Mail account) or some machine-specific configs (e.g. if you have a HiDPI laptop and a workstation with normal DPI displays) without syncing across with VCS. (See =my-sample/*.el=)
      2. Fork me, then modify the =.emacs.d/nema/*.el= files (since it's yours now).
  • Known issues

    1. If it is run at its first time, make sure not to use =emacs --server=, since it may prompt you of Elisp-enabled themes. Use =emacs= or =emacs -nw= instead, and press =y= if prompted. When =.emacs.d/custom.el= is built, you can use server mode without problem.
    2. Something about LSP mode:
      • Ruby: First time you open a =.rb= file, the LSP server may not be started properly. You can switch to that file buffer and =M-x nema/lsp/restart-server= to make it work.
      • PHP: Same with ruby.
  • TODOs [1/3] ** TODO [2/3] Sample =my/= configs for:

    • [X] EXWM
    • [X] erc
    • [ ] WanderLust DONE =customize-group= CLOSED: [2018-08-13 一 17:04] TODO "Battery Save" mode switch when using LSP
  • Thanks to

  • [[https://github.com/emacs-tw/emacs-101-beginner-survival-guide][emacs-tw/emacs-101-beginner-survival-guide]] who gave me courage to build my very own config from scratch.

  • [[https://github.com/kuanyui/.emacs.d][kuanyui/.emacs.d]] and [[https://github.com/purcell/emacs.d][purcell/emacs.d]] who provided a good project structure for reference.

  • [[https://github.com/bbatsov/prelude][bbatsov/prelude]] who gave me ideas of how to do theme reloading properly.

  • [[https://github.com/seagle0128/.emacs.d/blob/master/lisp/init-lsp.el][seagle0128/.emacs.d]] for almost all of LSP configs.

  • License GPLv3 for

    • Initialization and core files
    • Layer files (=nema-*.el=)
    • =my-sample/*.el=

    See =LICENSE= file

Related Repositories

dcm4che

dcm4che

DICOM Implementation in JAVA ...

pydicom

pydicom

Read, modify and write DICOM files with python code ...

cornerstoneWADOImageLoader

cornerstoneWADOImageLoader

DICOM WADO Image Loader for the cornerstone library ...

dcm4chee-arc

dcm4chee-arc

DICOM archive J2EE application ...

Printer-Kitten

Printer-Kitten

Portable, Accurate, Open Source 3D Printer ...