Opinionated Emacs distro for minimalists.
| Writing-mode | Programming-mode |
|---|---|
| Centered writing layout, spell correction, dictionary and pronounciation shortcuts in markdown modes | Dark color scheme, LSP mode enabled for programing |
![]() |
![]() |
Table of Contents
Setup miso-emacs:
$ git clone [email protected]:azer/miso-emacs.git ~/.miso-emacs
$ ln -s .miso-emacs/.emacs .emacsDependencies:
For faster LSP-mode, make sure LSP booster is available as executable.
Install icon fonts;
M-x all-the-icons-install-fonts
M-x nerd-icons-install-fonts
Install ispell:
$ brew install ispell
Editing:
| Key | Command |
|---|---|
| C-z | Undo |
| C-shift-z | Redo |
Navigation:
| Key | Command |
|---|---|
| S-Up | Jump N lines up |
| S-Down | Jump N lines down |
| M-Left | Switch to left window |
| M-Right | Switch to right window |
| M-Down | Switch to window below (or minibuffer) |
| M-Up | Switch to window above |
| M-o | Switch windows w/ ace-window |
| M-s | Search buffer w/ swiper |
Programming:
| Key | Command |
|---|---|
| M-i e | List errors (LSP) |
| M-i d | Toggle debugging mode |
| M-i r | Rename (LSP) |
| M-i a | Execute code action suggested by LSP |
| M-i j | Jump to a symbol in the buffer |
| M-i i | Re-organize imports |
| M-i g | Go-to-imlementation |
| M-i t | Go to type definition |
| M-i d | Find references |
| M-i f | Format buffer |
| M-i l | Go to last change |
| M-i - | Revert buffer |
| M-</kbd> | Yasnippet |
| M-RET | Trigger + Complete Copilot |
| M-y | Trigger + Complete Copilot |
| M-</kbd> | Yasnippet |
| M-</kbd> | Yasnippet menu |
| M-i y | Yasnippet menu |
Copilot:
| Key | Command |
|---|---|
| M-y | Complete or accept |
| C-Ret | Accept by line |
| M-Ret | Accept by word |
Writing:
| Key | Command |
|---|---|
| M-i d | Define word at point |
| M-i t | Generate ToC for Markdown |
| M-i j | Jump to a title |
| M-i w | Create and switch to a new scratch buffer |
| M-i t | Google translate at point |
| M-i p | Pronounce at point |
| M-i = | Reset sizing |
Project(ile):
| Key | Command |
|---|---|
| M-p f | Find file in the project |
| M-p p | Switch projects |
| M-p b | Switch to buffer |
| M-p s | Search project |
| M-p r | Search & replace project |
Git:
| Key | Command |
|---|---|
| M-g s | Git status |
| M-g c | Create commit |
| M-g d | Git diff for working tree |
| M-g f | Git diff for the active buffer |
| M-i up | Push local branch to remote |
| M-i down | Pull from remote branch |
Others:
| Key | Command |
|---|---|
| M-Backspace | Delete backwards |
| C-w | Kill region |
| C-r | Query & replace regexp in the buffer |
| C-M-r | Query replace at cursor thing |
| M-; | Comment/uncomment region |
| M-c | Capitalize the word |
Create a private folder under .miso-emacs and have an init.el file to execute custom Elisp.
- LSP-mode fails to initialize with JSON parsing errors:
Clean up all packages and start Emacs with env variable below:
export LSP_USE_PLISTS=trueSource: https://emacs-lsp.github.io/lsp-mode/page/performance/#use-plists-for-deserialization

