/Emacs-1

My emacs config

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

Requirements

  • Emacs based on the version of Arch linux.

Arch

sudo pacman -S emacs

Ubuntu/Debian

sudo add-apt-repository ppa:kelleyk/emacs

sudo apt-get update

sudo apt-get install emacs26

Fedora

sudo dnf install emacs

Installation

If you have reached here you got emacs installed by now.The only thing you have to do is to run these 3 commands and you will have the whole configuration running.

  1. git clone https://github.com/innerout/Emacs.git
  2. cd Emacs
  3. ./install.sh

install.sh is backing up your .emacs and .emacs.d directory if any of them exists in a tar file in your home directory called oldemacs.tar.gz and is copying emacs to ~/.emacs.

After that you will have a fully working emacs IDE for C/C++/Python projects.

The plugins i have already installed support more languages and with a few additions you could have great support for other languages too.

Installed plugins

  1. aggressive-indent
  2. neotree
  3. helm
  4. smartparens
  5. xcscope
  6. highlight-indent-guides
  7. yasnippet
  8. The theme is spacemacs-theme
  9. Color-identifiers-Mode
  10. hs-minor-mode
  11. Git-Gutter
  12. Markdown-mode(Requires pandoc to run)
  13. Magit
  14. Flycheck
  15. use-package
  16. ethan-wspace
  17. Flycheck-Pos-Tip
  18. company
  19. rainbow-delimiters
  20. dashboard
  21. org-mode
  22. beacon
  23. academic-phrases
  24. org-bullets
  25. ccls-emacs
  26. company-lsp
  27. lsp-ui
  28. helm-themes
  29. lsp-python
  30. all-the-icons
  31. which-key
  32. bug-hunter
  33. mu4e-alert
  34. mu4e-conversation
  35. ivy
  36. pdf-tools
  37. langtool
  38. multiple-cursors
  39. elfeed

Notes

  • I am not adding my custom macros because it is easier to understand if you open emacs config and see them alone. That way you can change them to your liking.
  • Repo will be updated everytime i add a plugin to my configuration.
  • Font adobe-source-code-pro sudo pacman -S adobe-source-code-pro-fonts

HOWTO SETUP PLUGINS

Ccls

REQUIREMENTS = trizen bear-git pip install git+https://github.com/Sarcasm/compdb.git#egg=compdb

Run the root Makefile with bear.

bear make

cd one directory up and run the command below

compdb -p build/ list > compile_commands.json

mv compile_commands.json inside the folder

lsp-python

REQUIREMENTS = sudo pip install 'python-language-server[all]' pyls-mypy pyls-isort

Cscope

REQUIREMENTS = sudo pacman -S cscope

Set initial directory (root folder of project) C-c s a

Create list of file to index C-c s L

Create list and index C-c s I

Markdown-mode

REQUIREMENTS = sudo pacman -S pandoc

All-the-icons

M-x all-the-icons-install-fonts