From Latin prolusio(n- ), from prolus- ‘practised beforehand’, from the verb proludere, from pro ‘before’ + ludere ‘to play’.
Prolusion is meant to be as light a possible, and is completely tweaked towards my own use of emacs. For those who are looking for a more polished configuration kit, I can only recommand Prelude or Spacemacs.
Prolusion is organized as a set of layers, each of which is organized as follows: requirements, setup, functions, hooks, modeline and keybindings.
$ brew tap d12frosted/emacs-plus
$ brew install emacs-plus --HEAD --with-natural-title-bar
$ brew install global --with-pygments --with-ctags
$ brew install cmake
$ brew install llvm --with-clang
$ brew install ack
$ brew install the_silver_searcher
$ brew install mu --with-emacs --HEAD
$ brew install isync
$ brew install msmtp
$ brew install nodejs npm
$ npm install -g tern tern-lint
$ npm install -g eslint babel-eslint eslint-plugin-react
$ ln -s $/.prolusion.d/prolusion/shell/eslintrc ~/.eslintrc
$ curl -L https://raw.github.com/jwintz/prolusion/master/prolusion-installer/prolusion-installer.sh | sh
Emacs
$ brew install emacs-plus --HEAD --with-natural-title-bar # if emacs is not installed
$ brew reinstall emacs-plus --HEAD --with-natural-title-bar # if emacs is installed
Emacs prolusion
M-x prolusion/upgrade
Emacs prolusion packages
M-x prolusion/upgrade-packages
Take care to install all the fonts provided in .prolusion/prolusion-fonts
.
Should you be on Linux, use:
$ install -m 0644 -D ~/.emacs.d/prolusion-fonts/*.ttf -t ~/.local/share/fonts/
or:
M-x all-the-icons-install-fonts
On MacOSX, it is mandatory to add -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON
to the M-x irony-install-server
command.
To get javscript completion, add the following .tern-project
that contains at least the following minimal configuration.
{
"plugins": {
"node": {
}
}
}
prolusion-packages
Keybinding | Function |
---|---|
C-c u u |
prolusion/upgrade |
C-c u p |
prolusion/upgrade-packages |
prolusion-behavior
Keybinding | Function |
---|---|
C-x o |
other-window |
C-x O |
other-window -1 |
Keybinding | Function |
---|---|
C-+ |
text-scale-increase |
C-- |
text-scale-decrease |
C-x C-0 |
text-scale-adjust |
Keybinding | Function |
---|---|
C-x ( |
start-kbd-macro |
C-x ) |
end-kbd-macro |
C-x e |
call-last-kbd-macro |
Keybinding | Function |
---|---|
C-M-f |
forward-sexp |
C-M-b |
backward-sexp |
Keybinding | Function |
---|---|
C-x n n |
narrow-to-region |
C-x n w |
widen |
Keybinding | Function |
---|---|
M-SPC |
just-one-space |
Keybinding | Function |
---|---|
M-x resize-window n | resize-window--enlarge-down |
M-x resize-window p | resize-window--enlarge-up |
M-x resize-window f | resize-window--enlarge-horizontally |
M-x resize-window b | resize-window--shrink-horizontally |
M-x resize-window r | resize-window--reset-windows |
M-x resize-window w | resize-window--cycle-window-positive |
M-x resize-window W | resize-window--cycle-window-negative |
Keybinding | Function |
---|---|
F7 |
neotree-toggle |
F8 |
nlinum-mode |
prolusion-builtins
Keybinding | Function |
---|---|
C-c b c |
clear-rectangle |
C-c b d |
delete-rectangle |
C-c b k |
kill-rectangle |
C-c b o |
open-rectangle |
C-c b t |
string-rectangle |
C-c b y |
yank-rectangle |
C-c b w |
wdired-change-to-wdired-mode |
C-c b s |
bookmark-set |
C-c b j |
bookmark-jump |
C-c b l |
bookmark-bmenu-list |
C-h k |
describe-key |
C-h f |
describe-function |
C-h v |
describe-variable |
C-h b |
describe-bindings |
C-h a |
apropos-command |
M-u |
upcase-word |
M-l |
downcase-word |
M-c |
capitalize-word |
prolusion-eshell
Keybinding | Function |
---|---|
C-c l l |
mutli-eshell |
C-c l o |
mutli-eshell-switch |
C-c l 0 |
mutli-eshell-go-back |
C-c l c |
prolusion/eshell-clear-buffer |
prolusion-editor
Keybinding | Function |
---|---|
C-c e s |
ff-find-other-file |
C-c e m |
make-header |
C-c e c |
make-box-comment |
C-c e d |
make-divider |
C-c e r |
make-revision |
C-c e g |
update-file-header |
C-c e l |
prolusion/duplicate-line |
C-c e e |
iedit-mode |
C-c e f |
helm-mini |
C-c e b |
helm-buffers-list |
C-c e k |
helm-show-kill-ring |
prolusion-modes
Keybinding | Function |
---|---|
C-c m p a |
conda-env-activate |
C-c m p d |
conda-env-deactivate |
C-c m p l |
conda-env-list |
C-c m r a |
global-rbenv-mode |
prolusion-snippets
Keybinding | Function |
---|---|
C-c y n |
yas-new-snippet |
C-c y s |
yas-insert-snippet |
C-c y v |
yas-visit-snippet-file |
prolusion-vc
Keybinding | Function |
---|---|
C-c v m |
magit-status |
prolusion-projectile
Keybinding | Function |
---|---|
C-c p h | helm-projectile |
C-c p a | helm-projectile-find-other-file |
C-c p f | helm-projectile-find-file |
C-c p F | helm-projectile-find-file-in-known-projects |
C-c p g | helm-projectile-find-file-dwim |
C-c p d | helm-projectile-find-dir |
C-c p p | helm-projectile-switch-project |
C-c p e | helm-projectile-recentf |
C-c p b | helm-projectile-switch-to-buffer |
C-c p R | projectile-regenerate-tags |
C-c p j | projectile-projectile-find-tag |
C-c p s g | helm-projectile-grep |
C-c p s a | helm-projectile-ack |
C-c p s s | helm-projectile-ag |
prolusion-completion
Keybinding | Function |
---|---|
C-c c c | anaconda-mode-complete |
C-c c d | anaconda-mode-find-definitions |
C-c c a | anaconda-mode-find-assignments |
C-c c r | anaconda-mode-find-references |
C-c c b | anaconda-mode-go-back |
C-c c s | anaconda-mode-show-doc |
prolusion-checking
Keybinding | Function |
---|---|
C-c ! l | flycheck-list-errors |
C-c ! n | flycheck-next-error |
C-c ! p | flycheck-previous-error |
C-c ! s | flycheck-select-checker |
C-c ! x | flycheck-disable-checker |
prolusion-workspaces
Keybinding | Function |
---|---|
C-c w n | persp-next |
C-c w p | persp-prev |
C-c w s | persp-frame-switch |
C-c w S | persp-window-switch |
C-c w r | persp-rename |
C-c w c | persp-kill |
C-c w a | persp-add-buffer |
C-c w t | persp-temporarily-display-buffer |
C-c w i | persp-import-buffers |
C-c w k | persp-remove-buffer |
C-c w K | persp-kill-buffer |
C-c w w | persp-save-state-to-file |
C-c w l | persp-load-state-from-file |
prolusion-neotree
In neotree
buffer:
Keybinding | Function |
---|---|
n | neotree-next-line |
p | neotree-prev-line |
g | neotree-refresh |
H | neotree-hidden-file-toggle |
C-c C-n | neotree-create-node |
C-c C-d | neotree-delete-node |
C-c C-r | neotree-rename-node |
C-c C-c | neotree-change-root |