Skip to content

Emacs configuration with packages enabled and a more pleasant set of defaults

License

Notifications You must be signed in to change notification settings

AtomicNess123/emacs-leuven

 
 

Repository files navigation

Yes, you can get Emacs preset to be more productive!

:license-gpl-blue.svg btn_donate_LG.gif

Looking for an Emacs configuration file with many packages already enabled and a more pleasant set of defaults? Here’s the place to find one! That will save you hours (and hours) of configuration…

The “Emacs Leuven” configuration file is packaged as an Emacs Lisp library, and ready to be used by you.

And it is optimized to keep the Emacs startup time fast (around 2 seconds)!

Download

Get the full Git repository at https://github.com/fniessen/emacs-leuven using the following command:

git clone git://github.com/fniessen/emacs-leuven.git

Installation

Using the Emacs Leuven library is very easy: you just need to…

  • Download and install emacs-leuven.
    ;; Make sure `emacs-leuven.el' is in your `load-path'.
    (add-to-list 'load-path "/path/to/emacs-leuven")
    
    ;; Require it as normal.
    (require 'emacs-leuven)
    
    ;; Place your settings here, which can override the settings of Emacs-Leuven.
        
  • Restart Emacs.

Some better defaults

  • Unnecessary spaces at the end of the lines are indicated by yellow blocks.

Packages

SubjectPackageDescription
Basic editing commandsundo-tree
Helpinfo+
The mark and the regiongoto-chg
expand-region
multiple-cursors
ace-jump-mode
ace-link
Controlling the displaypager
fancy-narrow
highlight-symbol
color-identifiers-mode
diff-hl
ws-butler
powerline
interaction-log
Searching and replacementfuzzy
anzu
Commands for fixing typosdictionary
Files Handlinghelm
helm-swoop
Major and minor modescsv-mode
helm-descbinds
Indentationindent-guide
Commands for human languageskey-chord
boxquote
SGML and HTML modestidy
Editing Programsimenu-anywhere
hideshowvis
flycheck
Maintaining programslitable
git-timemachine
git-messenger
Abbrevsyasnippet
auto-complete
company
company-quickhelp
Gnusbbdb
Document viewingpdf-tools
Running shell commands from Emacsmulti-term
cygwin-mount
Hyperlinking and navigation featuresgoogle-this
google-translate
Customizationguide-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 list packages which should NOT be installed by Emacs Leuven (neither proposed for installation), add something like this into your configuration file:

(setq leuven-excluded-packages
      '(useless-package
        other-annoying-package))

Keyboard shortcuts

Save time and boost your productivity with Emacs Leuven keyboard shortcuts.

Key binding conventions: http://www.gnu.org/software/emacs/manual/html_node/elisp/Key-Binding-Conventions.html

General

Global key bindings.

ShortcutWhat 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

Help

ShortcutWhat it runs
<f1>info
<S-f1>man-follow
<C-f1>info-lookup-symbol

Edit

ShortcutWhat it runs
<f11>undo
C-S-zredo
<S-f11>redo

Windows

ShortcutWhat 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

Text

ShortcutWhat it runs
<next>pager-page-down
<prior>pager-page-up

Lines

ShortcutWhat it runs
<return>newline-and-indent
C-c ^sort-lines
M-Gwhat-line
<C-S-down>leuven-move-line-down
<C-S-up>leuven-move-line-up

Code folding

ShortcutWhat it runs

Search / Find / Replace

ShortcutWhat it runs
C-c ohelm-occur
C-oleuven–isearch-occur
C-ooccur

Spelling

ShortcutWhat it runs
C-$flyspell-buffer
C-M-$leuven-flyspell-toggle-dictionary

Build

ShortcutWhat it runs
<f9>recompile
<S-f9>make-clean
<f10>next-error
<S-f10>previous-error
<C-f10>first-error

Bookmarks

ShortcutWhat 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 bhelm-bookmark-ext
C-x r lhelm-bookmarks

Org mode

ShortcutWhat 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 lorg-store-link
C-c corg-capture
C-c borg-switchb
C-c aorg-agenda
C-c Lorg-insert-link-global
C-c oorg-open-at-point-global
C-c C-borg-switch-to-agenda
\C-\M-noutline-next-visible-heading
\C-\M-poutline-previous-visible-heading
\C-\M-uoutline-up-heading
C-c C-x forg-footnote-action
C-c C-x C-iorg-clock-in
C-c C-x C-jorg-clock-goto
C-c C-x C-oorg-clock-out
C-c C-x C-qleuven-org-clock-in-interrupted-task
(leuven-org-agenda-toggle-tasks-details
C-c C-eorg-export-dispatch
M-Phtmlize-buffer
C-c C-e h ohtmlize-view-buffer
M-;leuven-org-comment-dwim
C-M-\leuven-org-indent-region
C-c C-v C-dorg-babel-demarcate-block
C-c morg-mime-subtree
C-c mleuven-mail-subtree
Nleuven-org-agenda-new
Zleuven-org-agenda-mark-done-and-add-followup

Dired

ShortcutWhat it runs
<return>dired-single-buffer
<mouse-1>dired-single-buffer-mouse
^(anonymous function)
ebrowse-url-of-dired-file
Ew32-dired-open-files-externally
C-c 1find-name-dired
C-c 2find-grep-dired
C-c 3rgrep

Other shortcuts

ShortcutWhat it runs
C-c SPCace-jump
C-)match-paren
xleuven-vc-dir-hide-up-to-date-and-unregistered
Evc-ediff
=leuven-vc-diff
M-?etags-select-find-tag-at-point
C-c eecb-minor-mode
M-/hippie-expand
<tab>ac-expand

Other shortcuts

I still have to sort them out, by mode (when applicable).

ShortcutWhat it runs
<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-ctidy-buffer
C-c C-x nil
C-c d ldictionary-lookup-definition
C-c d mdictionary-match-words
C-c d sdictionary-search
C-c g gleuven-google-search
C-c g rleuven-google-search-region
C-c g sgoogle
C-c g wleuven-google-search-word-at-point
C-c n
C-c qboxquote-region
C-c syas-insert-snippet
C-c ttoggle-truncate-lines
C-c Tmulti-term
C-c ztoggle-full-screen
C-h Aapropos-variable
C-h Eelisp-index-search
C-S-nhlt-next-highlight
C-S-phlt-previous-highlight
C-x bhelm-buffers-list
C-x C-belectric-buffer-list
C-x C-bibuffer
C-x pproced
M-o
M-pps-print-buffer-with-faces
M-xhelm-M-x

Contributing

Issues

Report issues and suggest features and improvements on the GitHub issue tracker.

Patches

I love contributions! Patches under any form are always welcome!

Donations

If you like the emacs-leuven project and feel it is making your life better and easier, you can show your appreciation and help support future development by making a donation through PayPal. Thank you!

Regardless of the donations, emacs-leuven will always be free both as in beer and as in speech.

License

Copyright (C) 1999-2019 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/.

About

Emacs configuration with packages enabled and a more pleasant set of defaults

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Emacs Lisp 99.6%
  • JavaScript 0.2%
  • Java 0.1%
  • HTML 0.1%
  • C 0.0%
  • TeX 0.0%