Skip to content

Latest commit

 

History

History
294 lines (231 loc) · 11.4 KB

README.md

File metadata and controls

294 lines (231 loc) · 11.4 KB

releases issues license built


Prolusion

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.

Prerequisites

$ 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

Installation

$ curl -L https://raw.github.com/jwintz/prolusion/master/prolusion-installer/prolusion-installer.sh | sh

Upgrade

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

Fonts

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

Irony

On MacOSX, it is mandatory to add -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON to the M-x irony-install-server command.

Tern

To get javscript completion, add the following .tern-project that contains at least the following minimal configuration.

{
    "plugins": {
        "node": {
        }
    }
}

Keybindings

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