You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.4 KiB
3.4 KiB
- Editing
- Save/load
- Platform dependant
- Major modes
- Minor modes/misc
- Navigation/autocompletion
- Look and feel
Editing
IEdit mode
(use-package iedit
:bind ("C-;" . iedit-mode))
Spellcheck
(global-set-key (kbd "C-!") 'ispell-buffer)
Undo tree
(use-package undo-tree
:config
(global-undo-tree-mode))
Save/load
Backup/auto-save
(let ((backup-dir "~/.emacs.d/backup")
(auto-save-dir "~/.emacs.d/autosave"))
(if (not (file-directory-p backup-dir))
(make-directory backup-dir))
(if (not (file-directory-p
auto-save-dir))
(make-directory auto-save-dir)))
On save
(add-hook 'before-save-hook 'delete-trailing-whitespace)
Recent files mode
(use-package recentf
:config
(recentf-mode 1))
Platform dependant
Windows
Major modes
Java
JavaScript
Magit
(use-package magit
:bind (("C-x g" . magit-status))
:config
(use-package git-commit
:hook (git-commit-setup . git-commit-turn-on-flyspell)))
Python
Platform specific
(cond
((string-equal system-type "gnu/linux")
"python3")
((string-equal system-type "windows-nt")
"python.exe"))
custom feature
bindings/settings
(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))
SSH config mode
(use-package ssh-config-mode
:mode "~/.ssh/config\\'")
Tramp
Webmode
YAML
(use-package yaml-mode
:mode "\\.yml\\'")
Minor modes/misc
Kill the things
Buffer
(global-set-key (kbd "C-x k") 'kill-this-buffer)
Emacs
(global-set-key (kbd "C-x C-k C-x C-k") 'kill-emacs)
Lispy
(use-package lispy
:hook ((emacs-lisp-mode) . lispy-mode))
Navigation/autocompletion
Ace window
(use-package ace-window
:bind (("M-Q" . ace-window)))
Hippie expand
(use-package hippie-exp
:bind ("M-/" . hippie-expand))
IBuffer mode
(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))))))
Ivy
(use-package ivy
:config
(use-package swiper
:bind ("C-s" . swiper))
(ivy-mode))
Look and feel
Line numbers
(global-display-line-numbers-mode)
Spaceline
(use-package spaceline-config
:config
(spaceline-spacemacs-theme)
(winum-mode))