Tip
Unlock unparalleled productivity with my exclusive “EmacsBoost” course!*
Are you ready to supercharge your productivity and become an unstoppable Emacs ninja? This is the opportunity you’ve been waiting for!
What you’ll learn:
- Expertly master Emacs from the ground up to advanced techniques that set you apart.
- Maximize your editing efficiency and elevate your workflow to new heights.
- Personalize Emacs to perfectly fit your unique style and needs.
- And much more tips and tricks!
Who should join:
This course is designed for everyone passionate about Emacs – from curious beginners to seasoned users looking to refine their skills.
Why choose my course?
- Learn from an expert instructor with over 26 years of Emacs mastery.
- Engage in dynamic hands-on exercises that reinforce and enhance your learning journey.
- Enjoy exclusive networking opportunities with fellow Emacs enthusiasts who share your passion.
- Experience personalized guidance tailored just for you.
Seize this exceptional opportunity to elevate your Emacs skills to new levels!
Visit https://emacsboost.com/en/ for more details, course dates and locations, and to secure your place today.
Looking for an Emacs configuration file with numerous pre-enabled packages and a more user-friendly default setup? Look no further! This resource will spare you countless hours of manual configuration.
Introducing the ”Emacs Leuven” configuration file, packaged as an Emacs Lisp library and ready for your use. It’s finely tuned for a swift Emacs startup time – typically around 2 seconds!
Adding the Emacs Leuven library to your Emacs environment is straightforward:
- Download or clone the Emacs-Leuven repository from GitHub.
- Integrate Emacs-Leuven into your Emacs configuration file:
;; Ensure that `emacs-leuven' libraries are included in your Emacs ;; `load-path'. (add-to-list 'load-path "/PATH/TO/emacs-leuven/lisp") ;; Load Emacs-Leuven and its associated modules. (require 'emacs-leuven) (require 'emacs-leuven-org) (require 'emacs-leuven-bbdb) (require 'emacs-leuven-ess) (require 'emacs-leuven-ledger) ;; Customize your settings here, which can override the defaults provided by ;; Emacs-Leuven.
- Restart Emacs to apply the changes.
To effortlessly install all the additional packages referenced below without prompts, insert the following line before requiring Emacs-Leuven:
;; Install all extra Emacs packages without asking for confirmation.
(setq leuven-install-all-missing-elpa-packages t)| Subject | Package | Description |
|---|---|---|
| Basic editing commands | undo-tree | |
| Help | info+ | |
| The mark and the region | goto-chg | |
| expand-region | ||
| multiple-cursors | ||
| ace-jump-mode | ||
| ace-link | ||
| Controlling the display | pager | |
| fancy-narrow | ||
| highlight-symbol | ||
| color-identifiers-mode | ||
| diff-hl | ||
| ws-butler | ||
| powerline | ||
| interaction-log | ||
| Searching and replacement | fuzzy | |
| anzu | ||
| Commands for fixing typos | dictionary | |
| Files Handling | helm | |
| helm-swoop | ||
| Major and minor modes | csv-mode | |
| helm-descbinds | ||
| Indentation | indent-guide | |
| Commands for human languages | key-chord | |
| boxquote | ||
| SGML and HTML modes | tidy | |
| Editing Programs | imenu-anywhere | |
| hideshowvis | ||
| flycheck | ||
| Maintaining programs | litable | |
| git-timemachine | ||
| git-messenger | ||
| Abbrevs | yasnippet | |
| auto-complete | ||
| company | ||
| company-quickhelp | ||
| Gnus | bbdb | |
| Document viewing | pdf-tools | |
| Running shell commands from Emacs | multi-term | |
| cygwin-mount | ||
| google-translate | ||
| Customization | guide-key | |
| ace-window | ||
| auctex | ||
| bookmark+ | ||
| circe | ||
| diminish | ||
| dired+ | ||
| dired-single | ||
| ess | ||
| fill-column-indicator | ||
| flycheck | ||
| flycheck-ledger | ||
| git-commit-mode | ||
| graphviz-dot-mode | ||
| htmlize | ||
| idle-require | ||
| ledger-mode | ||
| leuven-theme | ||
| rainbow-mode | ||
| unbound |
To prevent specific packages from being installed or suggested by Emacs Leuven, incorporate a configuration snippet like the following into your Emacs configuration file:
(setq leuven-excluded-packages '(some-useless-package
...
other-annoying-package))Unlock time-saving techniques and enhance your productivity using the Emacs Leuven keyboard shortcuts. Experience a streamlined workflow that puts you in control.
See Emacs key binding conventions.
Global key bindings.
| Shortcut | What it runs |
|---|---|
| <f2> | save-buffer |
| <S-f2> | org-save-buffer-and-do-related |
| <C-f2> | (for interaction-log mode) |
| <f3> | find-file (or helm-for-files) |
| <f4> | helm-semantic-or-imenu |
| <M-f4> | save-buffers-kill-terminal |
| <f7> | leuven-babel-translate |
| <f8> | call-last-kbd-macro |
| <S-f8> | leuven-toggle-kbd-macro-recording-on/off |
| <C-f8> | name-last-kbd-macro |
| <C-f9> | leuven-vc-jump |
| <C-f11> | bbdb |
| <f12> | bury-buffer |
| <S-f12> | leuven-kill-this-buffer-without-query |
| <C-f12> | leuven-revert-buffer-without-query |
| Shortcut | What it runs |
|---|---|
| <f1> | info |
| <S-f1> | man-follow |
| <C-f1> | info-lookup-symbol |
| Shortcut | What it runs |
|---|---|
| <f11> | undo |
| C-S-z | redo |
| <S-f11> | redo |
| Shortcut | What it runs |
|---|---|
| <f5> | delete-other-windows |
| <f6> | other-window |
| <C-f6> | balance-windows |
| C-= | compare-windows |
| C-c ~ | leuven-swap-windows |
| C-c | | leuven-toggle-window-split |
| Shortcut | What it runs |
|---|---|
| <next> | pager-page-down |
| <prior> | pager-page-up |
| M-ù | backward-paragraph |
| M-* | forward-paragraph |
| Shortcut | What it runs |
|---|---|
| <return> | newline-and-indent |
| C-c ^ | sort-lines |
| M-G | what-line |
| <C-S-down> | leuven-move-line-down |
| <C-S-up> | leuven-move-line-up |
| Shortcut | What it runs |
|---|
| Shortcut | What it runs |
|---|---|
| C-c o | helm-occur |
| C-o | leuven–isearch-occur |
| C-o | occur |
| Shortcut | What it runs |
|---|---|
| C-$ | flyspell-buffer |
| C-M-$ | leuven-flyspell-toggle-dictionary |
| Shortcut | What it runs |
|---|---|
| <f9> | recompile |
| <S-f9> | make-clean |
| <f10> | next-error |
| <S-f10> | previous-error |
| <C-f10> | first-error |
| Shortcut | What it runs |
|---|---|
| <C-f2> | bmkp-toggle-autonamed-bookmark-set/delete |
| <S-f2> | bmkp-next-bookmark-this-file/buffer-repeat |
| <C-S-f2> | bmkp-delete-all-autonamed-for-this-buffer) |
| C-x r b | helm-bookmark-ext |
| C-x r l | helm-bookmarks |
| Shortcut | What it runs |
|---|---|
| <S-f2> | org-save-buffer-and-do-related |
| <C-f3> | leuven-org-todo-list-current-dir |
| <f4> | helm-org-headlines |
| <M-f6> | visible-mode |
| C-M-] | org-cycle-global ;; <S-tab> |
| M-] | org-cycle-local |
| C-c l | org-store-link |
| C-c c | org-capture |
| C-c b | org-switchb |
| C-c a | org-agenda |
| C-c L | org-insert-link-global |
| C-c o | org-open-at-point-global |
| C-c C-b | org-switch-to-agenda |
| \C-\M-n | outline-next-visible-heading |
| \C-\M-p | outline-previous-visible-heading |
| \C-\M-u | outline-up-heading |
| C-c C-x f | org-footnote-action |
| C-c C-x C-i | org-clock-in |
| C-c C-x C-j | org-clock-goto |
| C-c C-x C-o | org-clock-out |
| C-c C-x C-q | leuven-org-clock-in-interrupted-task |
| ( | leuven-org-agenda-toggle-tasks-details |
| C-c C-e | org-export-dispatch |
| M-P | htmlize-buffer |
| C-c C-e h o | htmlize-view-buffer |
| M-; | leuven-org-comment-dwim |
| C-M-\ | leuven-org-indent-region |
| C-c C-v C-d | org-babel-demarcate-block |
| C-c m | org-mime-subtree |
| C-c m | leuven-mail-subtree |
| N | leuven-org-agenda-new |
| Z | leuven-org-agenda-mark-done-and-add-followup |
| Shortcut | What it runs |
|---|---|
| <return> | dired-single-buffer |
| <mouse-1> | dired-single-buffer-mouse |
| ^ | (anonymous function) |
| e | browse-url-of-dired-file |
| E | w32-dired-open-files-externally |
| C-c f 1 | find-name-dired |
| C-c f 2 | find-grep-dired |
| C-c f 3 | rgrep |
I still have to sort them out, by mode (when applicable).
| Shortcut | What it runs |
|---|---|
| C-c SPC | ace-jump |
| C-) | match-paren |
| x | leuven-vc-dir-hide-up-to-date-and-unregistered |
| E | vc-ediff |
| = | lvn-vc-diff-buffer-file |
| M-? | etags-select-find-tag-at-point |
| C-c e | ecb-minor-mode |
| M-/ | hippie-expand |
| <tab> | ac-expand |
| < | scroll-calendar-right |
| > | scroll-calendar-left |
| <C-down> | comint-next-matching-input-from-input |
| <C-up> | comint-previous-matching-input-from-input |
| <down> | comint-next-input |
| <up> | comint-previous-input |
| <C-backspace> | backward-kill-word |
| <left> | speedbar-contract-line |
| <right> | speedbar-expand-line |
| <S-return> | leuven-ess-eval |
| M– | ess-smart-underscore |
| C-* | leuven-hlt-highlight-current-word |
| C-c ! | shell |
| C-c . | leuven-insert-current-date |
| C-c C-c | tidy-buffer |
| C-c C-x nil | XXX |
| C-c b | boxquote-region |
| C-c d l | dictionary-lookup-definition |
| C-c d m | dictionary-match-words |
| C-c d s | dictionary-search |
| C-c g g | leuven-google-search |
| C-c g r | leuven-google-search-region |
| C-c g s | |
| C-c g w | leuven-google-search-word-at-point |
| C-c n | |
| C-c s | yas-insert-snippet |
| C-c t | toggle-truncate-lines |
| C-c T | multi-term |
| C-c z | toggle-full-screen |
| C-h A | apropos-variable |
| C-h E | elisp-index-search |
| C-S-n | hlt-next-highlight |
| C-S-p | hlt-previous-highlight |
| C-x b | helm-buffers-list |
| C-x C-b | electric-buffer-list |
| C-x C-b | helm-mini |
| C-x p | proced |
| M-o | |
| M-p | ps-print-buffer-with-faces |
| M-x | helm-M-x |
Found a bug or have an idea for a new feature? Share your thoughts on the GitHub issue tracker.
Contributions of any kind are welcome! Feel free to submit patches to help improve the project.
If the emacs-leuven project has enhanced your Emacs experience and simplified your workflow, consider showing your appreciation! Help fuel future development by making a donation through PayPal. Your support is invaluable – thank you!
Remember, regardless of donations, emacs-leuven will always remain freely accessible, both as in Belgian beer and as in speech.
Copyright (C) 1999-2025 Free Software Foundation, Inc.
Author: Fabrice Niessen
Keywords: emacs configuration file
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.