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.

93 lines
2.2 KiB

  1. * Editing
  2. ** IEdit mode
  3. #+BEGIN_SRC emacs-lisp
  4. (use-package iedit
  5. :bind ("C-;" . iedit-mode))
  6. #+END_SRC
  7. ** Hippie expand
  8. #+BEGIN_SRC emacs-lisp
  9. (use-package hippie-exp
  10. :bind ("M-/" . hippie-expand))
  11. #+END_SRC
  12. * Unix buffer things
  13. ** Platform fixes
  14. ** Key bindings
  15. ** Custom features/Monkey patches
  16. * Major modes
  17. ** Java
  18. ** JavaScript
  19. ** Magit
  20. #+BEGIN_SRC emacs-lisp
  21. (use-package magit
  22. :bind (("C-x g" . magit-status))
  23. :config
  24. (use-package git-commit
  25. :hook (git-commit-setup . git-commit-turn-on-flyspell)))
  26. #+END_SRC
  27. ** Python
  28. *** Platform specific
  29. #+BEGIN_SRC emacs-lisp
  30. (cond
  31. ((string-equal system-type "gnu/linux")
  32. "python3")
  33. ((string-equal system-type "windows-nt")
  34. "python.exe"))
  35. #+END_SRC
  36. *** custom feature
  37. *** bindings/settings
  38. #+begin_src emacs-lisp
  39. (use-package blacken
  40. :hook python-mode)
  41. (use-package elpy
  42. :bind (("C-=" . elpy-goto-assignment))
  43. :config
  44. (when (require 'flycheck nil t)
  45. (setq elpy-modules (delq 'elpy-module-flymake elpy-modules)))
  46. )
  47. (use-package python
  48. :config
  49. (elpy-enable))
  50. ** SSH config mode
  51. #+BEGIN_SRC emacs-lisp
  52. (use-package ssh-config-mode
  53. :mode "~/.ssh/config\\'")
  54. #+END_SRC
  55. ** Tramp
  56. ** Webmode
  57. ** YAML
  58. #+BEGIN_SRC emacs-lisp
  59. (use-package yaml-mode
  60. :mode "\\.yml\\'")
  61. #+END_SRC
  62. * Minor modes/misc
  63. ** IBuffer mode
  64. #+BEGIN_SRC emacs-lisp
  65. (use-package ibbufer-vc
  66. :hook ((ibuffer-mode . ibuffer-vc-set-filter-groups-by-vc-root)))
  67. (use-package ibuffer
  68. :bind (("C-x C-b" . ibuffer))
  69. :config
  70. (define-ibuffer-column size-h
  71. ;; Use human readable Size column instead of original one
  72. (:name "Size" :inline t)
  73. (cond ((> (buffer-size) 1000000)
  74. (format "%7.1fM" (/ (buffer-size) 1000000.0)))
  75. ((> (buffer-size) 100000)
  76. (format "%7.0fk" (/ (buffer-size) 1000.0)))
  77. ((> (buffer-size) 1000)
  78. (format "%7.1fk" (/ (buffer-size) 1000.0)))
  79. (t
  80. (format "%8d" (buffer-size))))))
  81. #+END_SRC
  82. ** Lispy
  83. #+BEGIN_SRC emacs-lisp
  84. (use-package lispy
  85. :hook ((emacs-lisp-mode) . lispy-mode))
  86. #+END_SRC
  87. ** Window numbering mode
  88. #+BEGIN_SRC emacs-lisp
  89. (use-package window-numbering
  90. :config
  91. (window-numbering-mode))
  92. #+END_SRC