acorbe / my-emacs-configuration

My emacs configuration - essential for my research work (python, C, C++, latex, gnuplot and more)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

my-emacs-configuration

This is my current emacs configuration, updated as it goes. I use emacs for nearly everything in my work as a reasearcher, which entails a lot of software development :).

Tested in CI to run on all emacs versions between 24.4 and 26.3 (how to install latest emacs: linux, macos).

tests

Installation

  • run link_this_config.sh or replace your ~/.emacs file with the file in this repo (in this case, make sure your ~/.emacs.d is empty).
  • All the packages will install by themselves. :)
  • Finalize by:
    • M-x all-the-icons-install-fonts
    • M-x company-tabnine-install-binary
  • For elpy to work properly:
    • pip install jedi rope autopep8 yapf black flake8 `

Comes with

  • IDE: treemacs, icons, centaur tabs (all enabled by default in display-graphic)
  • default themes: gui/display-graphic: doom-one, terminal: zenburn
  • modeline: doom
  • company, (company-tabnine)
  • swiper for anything + avy-posframe
  • avy
  • Editing: autopair, undo-tree, highlight-parentheses
  • Python: elpy, ein, company enabled
  • CEDET support, cmake, cmake-font-lock
  • Latex: auctex, latex-preview-pane, gscholar-bibtex
  • Other modes: gnuplot-mode, yaml-mode, markdown-mode

Some keybindings

  • M-x: swiper-m-x
  • C-o: occur
  • f5: compile
  • f7/C-f7: winner-undo/winner-redo
  • C-S-arrows: resize window
  • C-x t: opens or moves to terminal
  • M-": avy-goto-char-2
  • f8: treemacs
  • S-f8: centaur-tabs
  • C-=/C-M-=: previous-multiframe-window (cycles between both frames and windows)
  • more...

Screenshots

gui_mode

About

My emacs configuration - essential for my research work (python, C, C++, latex, gnuplot and more)


Languages

Language:Emacs Lisp 92.2%Language:Shell 5.7%Language:Makefile 1.2%Language:Dockerfile 0.9%