* Editing ** Hippie expand #+BEGIN_SRC emacs-lisp (use-package hippie-exp :bind ("M-/" . hippie-expand)) #+END_SRC ** IEdit mode #+BEGIN_SRC emacs-lisp (use-package iedit :bind ("C-;" . iedit-mode)) #+END_SRC ** Line numbers #+BEGIN_SRC emacs-lisp (global-display-line-numbers-mode) #+END_SRC * Unix buffer things ** Platform fixes ** Key bindings ** Custom features/Monkey patches * Major modes ** Java ** JavaScript ** Magit #+BEGIN_SRC emacs-lisp (use-package magit :bind (("C-x g" . magit-status)) :config (use-package git-commit :hook (git-commit-setup . git-commit-turn-on-flyspell))) #+END_SRC ** Python *** Platform specific #+BEGIN_SRC emacs-lisp (cond ((string-equal system-type "gnu/linux") "python3") ((string-equal system-type "windows-nt") "python.exe")) #+END_SRC *** custom feature *** bindings/settings #+begin_src emacs-lisp (use-package python :config (use-package elpy :bind (("C-=" . elpy-goto-assignment)) :config (when (require 'flycheck nil t) (setq elpy-modules (delq 'elpy-module-flymake elpy-modules)))) (elpy-enable) (blacken-mode)) #+END_SRC ** SSH config mode #+BEGIN_SRC emacs-lisp (use-package ssh-config-mode :mode "~/.ssh/config\\'") #+END_SRC ** Tramp ** Webmode ** YAML #+BEGIN_SRC emacs-lisp (use-package yaml-mode :mode "\\.yml\\'") #+END_SRC * Minor modes/misc ** IBuffer mode #+BEGIN_SRC emacs-lisp (use-package ibbufer-vc :hook ((ibuffer-mode . ibuffer-vc-set-filter-groups-by-vc-root))) (use-package ibuffer :bind (("C-x C-b" . ibuffer)) :config (define-ibuffer-column size-h ;; Use human readable Size column instead of original one (:name "Size" :inline t) (cond ((> (buffer-size) 1000000) (format "%7.1fM" (/ (buffer-size) 1000000.0))) ((> (buffer-size) 100000) (format "%7.0fk" (/ (buffer-size) 1000.0))) ((> (buffer-size) 1000) (format "%7.1fk" (/ (buffer-size) 1000.0))) (t (format "%8d" (buffer-size)))))) #+END_SRC ** Ivy #+BEGIN_SRC emacs-lisp (use-package ivy-mode :config (use-package swiper :bind ("C-s" . swiper))) #+END_SRC ** Kill the things *** Buffer #+BEGIN_SRC emacs-lisp (global-set-key (kbd "C-x k") 'kill-this-buffer) #+END_SRC *** Emacs #+BEGIN_SRC emacs-lisp (global-set-key (kbd "C-x C-k C-x C-k") 'kill-emacs) #+END_SRC ** Lispy #+BEGIN_SRC emacs-lisp (use-package lispy :hook ((emacs-lisp-mode) . lispy-mode)) #+END_SRC ** Window numbering mode #+BEGIN_SRC emacs-lisp (use-package window-numbering :config (window-numbering-mode)) #+END_SRC