Advertisement
froleyks

config.org

Dec 21st, 2020
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.35 KB | None | 0 0
  1. #+TITLE: doom
  2. * Personal Information
  3. ** Set full name
  4. #+begin_src elisp
  5. (setq user-full-name "Nils Froleyks")
  6. #+end_src
  7. ** Set email address
  8. #+begin_src elisp
  9. (setq user-mail-address "nfroleyks@gmail.com")
  10. #+end_src
  11. * Visual
  12. ** Font
  13. #+begin_src elisp
  14. (setq doom-font (font-spec :family "Source Code Pro" :size 18 :weight 'semi-light)
  15. ;; doom-variable-pitch-font (font-spec :family "sans" :size 20)
  16. )
  17. #+end_src
  18. ** line numbers
  19. #+begin_src elisp
  20. (setq display-line-numbers-type 'visual)
  21. #+end_src
  22. * Keybindings
  23. ** Delete last word
  24. #+begin_src elisp
  25. (map! :map 'ivy-minibuffer-map "M-v" 'backward-kill-word)
  26. (map! :nivr "M-v" 'backward-kill-word)
  27. #+end_src
  28. ** global help
  29. #+begin_src elisp
  30. (map! [C-f1] 'helpful-key)
  31. #+end_src
  32. ** goto mark
  33. #+begin_src elisp
  34. (map! :n "j" 'evil-goto-mark)
  35. #+end_src
  36. ** window
  37. #+begin_src elisp
  38. (map! :after evil-commands :leader
  39. "wl" 'evil-window-up
  40. "wa" 'evil-window-down
  41. "wi" 'evil-window-left
  42. "we" 'evil-window-right
  43. )
  44. #+end_src
  45. ** gedankenstrich move up
  46. #+begin_src elisp
  47. (map! :after evil-commands :n "−" 'evil-previous-line-first-non-blank)
  48. #+end_src
  49. ** last macro
  50. #+begin_src elisp
  51. (map! :n "Q" (kbd"@@"))
  52. #+end_src
  53. ** undo
  54. #+begin_src elisp
  55. (map! :after evil-commands
  56. :n "U" 'evil-redo
  57. :nivr "C-n" 'undo-fu-only-undo
  58. )
  59. #+end_src
  60. ** open frame other buffer
  61. #+begin_src elisp
  62. (map! :leader "bo" 'display-buffer-other-frame)
  63. #+end_src
  64. * General
  65. ** hippie expand :deactivated:
  66. #+begin_src elisp :tangle no
  67. (map! :nivr
  68. "C-e" 'hippie-expand
  69. "C-S-e" 'hippie-expand-lines
  70. )
  71. (use-package! hippie-expand
  72. :defer t
  73. :custom
  74. (hippie-expand-ignore-buffers "^ \\*.*\\*$")
  75. :config
  76. (defun hippie-expand-lines ()
  77. (interactive)
  78. (let ((hippie-expand-try-functions-list '(try-expand-line)))
  79. (call-interactively 'hippie-expand)))
  80. )
  81. #+end_src
  82. ** Narrow to an indirect buffer
  83. #+begin_src elisp
  84. (after! evil-commands
  85. (map! :nv "h" 'evil-narrow-op)
  86. (evil-define-operator evil-narrow-op (beg end type)
  87. "Evil indirect *narrow* operator."
  88. (interactive "<R>")
  89. (deactivate-mark)
  90. (let ((buf (clone-indirect-buffer nil nil)))
  91. (with-current-buffer buf
  92. (narrow-to-region beg end))
  93. (switch-to-buffer buf))))
  94. #+end_src
  95. ** ivy
  96. #+begin_src elisp
  97. (use-package! ivy
  98. :bind (:map ivy-minibuffer-map
  99. ("C-e" . ivy-unmark)
  100. ("M-e" . ivy-mark)
  101. ("M-n" . ivy-absolute-path)
  102. ("M-r" . ivy-relative-path)
  103. ("(" . ivy-dispatching-call)
  104. )
  105. :config
  106. (defun ivy-relative-path ()
  107. (interactive)
  108. (ivy-exit-with-action
  109. (lambda (path) (with-ivy-window (insert (file-relative-name path default-directory))))
  110. ))
  111. (defun ivy-absolute-path ()
  112. (interactive)
  113. (ivy-exit-with-action
  114. (lambda (path) (with-ivy-window (insert path)))
  115. ))
  116. )
  117. #+end_src
  118. ** dired
  119. *** create parent
  120. #+begin_src elisp
  121. (use-package dired-aux
  122.  
  123. )
  124. #+end_src
  125. * Utility
  126. ** rotate text
  127. #+begin_src elisp
  128. (map! :n
  129. "ö" 'froleyks-search-rotate-backward
  130. "ä" 'froleyks-search-rotate
  131. )
  132. (use-package! rotate-text
  133. :defer t
  134. :commands (froleyks-search-rotate froleyks-search-rotate-backward)
  135. :init
  136. :config
  137. (defun froleyks-search-rotate()
  138. (interactive)
  139. (search-forward-regexp "\\(\\+\\|-\\)?[0-9]+\\(\\.[0-9]+\\)?\\|true\\|false\\|first\\|second\\|yes\\|no" nil t)
  140. (call-interactively 'rotate-text)
  141. (evil-backward-WORD-begin)
  142. )
  143.  
  144. (defun froleyks-search-rotate-backward()
  145. (interactive)
  146. (search-forward-regexp "\\(\\+\\|-\\)?[0-9]+\\(\\.[0-9]+\\)?\\|true\\|false\\|first\\|second\\|yes\\|no" nil t)
  147. (call-interactively 'rotate-text-backward)
  148. (evil-backward-WORD-begin)
  149. )
  150.  
  151. ;; override function to keep width
  152. (defun rotate-text-increment-number (original arg &optional minimum)
  153. (let ((l (length original)))
  154. (format (concat "%0" (number-to-string l) "d" )(max (+ (string-to-number original) arg)
  155. (or minimum most-negative-fixnum)))))
  156.  
  157. (setq rotate-text-words (append rotate-text-words '(
  158. ("True" "False")
  159. ("nil" "t")
  160. ("true" "false")
  161. ("first" "second")
  162. ("yes" "no")
  163. ))))
  164. #+end_src
  165. ** temp files
  166. #+begin_src elisp
  167. (after! counsel
  168. (map! :leader "d" 'open-temp-file)
  169. (defun open-temp-file()
  170. (interactive)
  171. (counsel-find-file "~/temp/temp.")
  172. ))
  173. #+end_src
  174. ** escape saves and exits
  175. #+begin_src elisp
  176. (defadvice! save-on-escape (&rest _)
  177. :before #'evil-force-normal-state
  178. (when (or
  179. (buffer-narrowed-p)
  180. (buffer-file-name)
  181. (string-match-p (regexp-quote "Org Src") (buffer-name))
  182. )
  183. (save-buffer))
  184. (when (buffer-narrowed-p)
  185. (kill-current-buffer))
  186. )
  187. #+end_src
  188. ** evil snipe
  189. #+begin_src elisp
  190. (use-package! evil-snipe
  191. :defer t
  192. :init
  193. (setq evil-snipe-override-evil-repeat-keys nil)
  194. :custom
  195. (evil-snipe-scope 'buffer)
  196. :config
  197. (evil-snipe-mode -1)
  198. (map! :n "," 'evil-snipe-repeat
  199. :n "–" 'evil-snipe-repeat-reverse
  200. :n "l" 'evil-snipe-s
  201. :n "L" 'evil-snipe-S
  202. (:map evil-snipe-parent-transient-map
  203. "," 'evil-snipe-repeat
  204. "–" 'evil-snipe-repeat-reverse
  205. )))
  206. #+end_src
  207. ** create body
  208. #+begin_src elisp
  209. (map! "M-o" 'create-body)
  210. (defun create-body()
  211. (interactive)
  212. (end-of-line)
  213. (backward-char)
  214. (newline-and-indent)
  215. (evil-open-above 1)
  216. )
  217. #+end_src
  218. ** Line manipulation
  219. #+begin_src elisp
  220.  
  221. (use-package! replace
  222. :commands (flush-empty-lines remove-dubplicate-lines)
  223. :config
  224. (map! :leader
  225. "L" '(:ignore t :which-key "Line manipulation")
  226. (:prefix "L"
  227. "e" 'flush-empty-lines
  228. "f" 'flush-lines
  229. "k" 'keep-lines
  230. "d" 'remove-dubplicate-lines
  231. ))
  232. (defun flush-empty-lines ()
  233. "removes empty lines from files"
  234. (interactive)
  235. (flush-lines "^$")
  236. )
  237. (defun remove-dubplicate-lines ()
  238. "removes duplicate lines form file"
  239. (interactive)
  240. (replace-regexp "\\([^\n]+\n\\)\\1+" "\\1")
  241. )
  242. )
  243. #+end_src
  244. ** Search Engine
  245. #+begin_src elisp
  246. (map! :leader
  247. "sg" 'engine/search-google
  248. "sh" 'engine/search-scholar
  249. "sc" 'engine/search-cpp
  250. "se" 'engine/search-linguee
  251. "sE" 'engine/search-deepl
  252. "sG" 'engine/search-github
  253. )
  254.  
  255. (use-package! engine-mode
  256. :defer t
  257. :commands (engine/search-google
  258. engine/search-scholar
  259. engine/search-cpp
  260. engine/search-linguee
  261. engine/search-deepl
  262. engine/search-github
  263. )
  264. :config
  265. (defengine google
  266. "https://www.google.com/search?q=%s")
  267. (defengine scholar
  268. "https://scholar.google.de/scholar?hl=de&q=%s&btnG=&lr=")
  269. (defengine cpp
  270. "https://en.cppreference.com/mwiki/index.php?title=Special%%3ASearch&search=%s")
  271. (defengine linguee
  272. "http://www.linguee.de/deutsch-englisch/search?source=auto&query=%s")
  273. (defengine deepl
  274. "https://www.deepl.com/en/translator#de/en/%s")
  275. (defengine github
  276. "https://github.com/search?utf8=✓&q=%s&ref=simplesearch")
  277. )
  278. #+end_src
  279. ** pastebin
  280. #+begin_src elisp
  281. (map! :leader
  282. "BB" 'pastebin-new
  283. "BL" 'pastebin-list-buffer-refresh
  284. )
  285.  
  286. (use-package! neopastebin
  287. :defer t
  288. :commands
  289. pastebin-new
  290. pastebin-list-buffer-refresh
  291. :init
  292. :config
  293. (pastebin-create-login :dev-key "b05fe24db6a4bca168b463b3fa777bfa"
  294. :username "froleyks"
  295. :password "shinigami"
  296. ))
  297. #+END_SRC
  298. #+end_src
  299. ** spelling
  300. #+begin_src elisp
  301. (map! :map 'flyspell-mode-map
  302. :nvir "M-n" 'flyspell-auto-correct-previous-word
  303. :nvir "M-C-n" 'flyspell-correct-previous
  304. )
  305. (use-package! ispell :defer t :config
  306. (setenv "LANG" "en_US")
  307. (setq ispell-program-name "hunspell")
  308. (setq ispell-dictionary "de_DE,en_US")
  309. (add-to-list 'ispell-dictionary-alist '("de_DE,en_US"))
  310. (ispell-set-spellchecker-params)
  311. (ispell-hunspell-add-multi-dic "de_DE,en_US")
  312. (setq ispell-personal-dictionary "~/emacs/dictionary")
  313. (unless (file-exists-p ispell-personal-dictionary)
  314. (write-region "" nil ispell-personal-dictionary nil 0))
  315. )
  316. #+end_src
  317. * Mode
  318. ** Org
  319. *** Visual
  320. #+begin_src elisp
  321. (use-package! org
  322. :defer t
  323. :custom
  324. (org-startup-folded t)
  325. (org-ellipsis " ▾")
  326. (org-superstar-headline-bullets-list '("◉" "○" "●" "○" "●" "○" "●"))
  327. (org-superstar-item-bullet-alist
  328. '((?+ . ?+)
  329. (?* . ?⏭)
  330. (?- . ?•)))
  331. )
  332. #+end_src
  333.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement