Personal emacs config
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.

122 lines
2.9 KiB

6 years ago
6 years ago
  1. * Editing
  2. ** Backup/auto-save
  3. #+BEGIN_SRC emacs-lisp
  4. (let ((backup-dir "~/.emacs.d/backup")
  5. (auto-save-dir "~/.emacs.d/autosave"))
  6. (if (not (file-directory-p backup-dir))
  7. (make-directory backup-dir))
  8. (if (not (file-directory-p
  9. auto-save-dir))
  10. (make-directory auto-save-dir)))
  11. #+END_SRC
  12. ** Hippie expand
  13. #+BEGIN_SRC emacs-lisp
  14. (use-package hippie-exp
  15. :bind ("M-/" . hippie-expand))
  16. #+END_SRC
  17. ** IEdit mode
  18. #+BEGIN_SRC emacs-lisp
  19. (use-package iedit
  20. :bind ("C-;" . iedit-mode))
  21. #+END_SRC
  22. ** Line numbers
  23. #+BEGIN_SRC emacs-lisp
  24. (global-display-line-numbers-mode)
  25. #+END_SRC
  26. * Unix buffer things
  27. ** Platform fixes
  28. ** Key bindings
  29. ** Custom features/Monkey patches
  30. * Major modes
  31. ** Java
  32. ** JavaScript
  33. ** Magit
  34. #+BEGIN_SRC emacs-lisp
  35. (use-package magit
  36. :bind (("C-x g" . magit-status))
  37. :config
  38. (use-package git-commit
  39. :hook (git-commit-setup . git-commit-turn-on-flyspell)))
  40. #+END_SRC
  41. ** Python
  42. *** Platform specific
  43. #+BEGIN_SRC emacs-lisp
  44. (cond
  45. ((string-equal system-type "gnu/linux")
  46. "python3")
  47. ((string-equal system-type "windows-nt")
  48. "python.exe"))
  49. #+END_SRC
  50. *** custom feature
  51. *** bindings/settings
  52. #+begin_src emacs-lisp
  53. (use-package python
  54. :config
  55. (use-package elpy
  56. :bind (("C-=" . elpy-goto-assignment))
  57. :config (when (require 'flycheck nil t)
  58. (setq elpy-modules (delq 'elpy-module-flymake elpy-modules))))
  59. (elpy-enable)
  60. (blacken-mode))
  61. #+END_SRC
  62. ** SSH config mode
  63. #+BEGIN_SRC emacs-lisp
  64. (use-package ssh-config-mode
  65. :mode "~/.ssh/config\\'")
  66. #+END_SRC
  67. ** Tramp
  68. ** Webmode
  69. ** YAML
  70. #+BEGIN_SRC emacs-lisp
  71. (use-package yaml-mode
  72. :mode "\\.yml\\'")
  73. #+END_SRC
  74. * Minor modes/misc
  75. ** IBuffer mode
  76. #+BEGIN_SRC emacs-lisp
  77. (use-package ibbufer-vc
  78. :hook ((ibuffer-mode . ibuffer-vc-set-filter-groups-by-vc-root)))
  79. (use-package ibuffer
  80. :bind (("C-x C-b" . ibuffer))
  81. :config
  82. (define-ibuffer-column size-h
  83. ;; Use human readable Size column instead of original one
  84. (:name "Size" :inline t)
  85. (cond ((> (buffer-size) 1000000)
  86. (format "%7.1fM" (/ (buffer-size) 1000000.0)))
  87. ((> (buffer-size) 100000)
  88. (format "%7.0fk" (/ (buffer-size) 1000.0)))
  89. ((> (buffer-size) 1000)
  90. (format "%7.1fk" (/ (buffer-size) 1000.0)))
  91. (t
  92. (format "%8d" (buffer-size))))))
  93. #+END_SRC
  94. ** Ivy
  95. #+BEGIN_SRC emacs-lisp
  96. (use-package ivy
  97. :config
  98. (use-package swiper
  99. :bind ("C-s" . swiper))
  100. (ivy-mode))
  101. #+END_SRC
  102. ** Kill the things
  103. *** Buffer
  104. #+BEGIN_SRC emacs-lisp
  105. (global-set-key (kbd "C-x k") 'kill-this-buffer)
  106. #+END_SRC
  107. *** Emacs
  108. #+BEGIN_SRC emacs-lisp
  109. (global-set-key (kbd "C-x C-k C-x C-k") 'kill-emacs)
  110. #+END_SRC
  111. ** Lispy
  112. #+BEGIN_SRC emacs-lisp
  113. (use-package lispy
  114. :hook ((emacs-lisp-mode) . lispy-mode))
  115. #+END_SRC
  116. ** Window numbering mode
  117. #+BEGIN_SRC emacs-lisp
  118. (use-package window-numbering
  119. :config
  120. (window-numbering-mode))
  121. #+END_SRC