Skip to content

Commit

Permalink
Setup para o Doom Emacs.
Browse files Browse the repository at this point in the history
  • Loading branch information
mdssjc committed Jan 8, 2019
1 parent 6dab5c7 commit 52a046c
Show file tree
Hide file tree
Showing 11 changed files with 442,514 additions and 0 deletions.
102 changes: 102 additions & 0 deletions emacs-doom/+bindings.el
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
;;; +bindings.el -*- lexical-binding: t; -*-


(map! "C-'" #'imenu
"M-SPC" #'cycle-spacing

"C-M-<up>" #'mc/mark-previous-like-this
"C-M-<down>" #'mc/mark-next-like-this
"C-M-<left>" #'mc/mark-previous-like-this-symbol
"C-M-<right>" #'mc/mark-next-like-this-symbol
"C-M-<" #'mc/mark-all-dwim
"C-M->" #'mc/mark-all-in-region-regexp

"s-\\ \\" #'align-regexp
"s-\\ SPC" #'ialign
:n "g \\ \\" #'align-regexp
:n "g \\ SPC" #'ialign

;; Org-mode
"<f9> SPC" #'mds/gtd
"<f9> 1" #'mds/gtd-projects
"<f9> b" #'org-switchb
"<f9> g" #'org-clock-goto
"<f9> l" #'org-store-link

(:mode prog-mode
"M-<up>" #'md/move-lines-up
"M-<down>" #'md/move-lines-down
"S-M-<up>" #'md/duplicate-up
"S-M-<down>" #'md/duplicate-down)

(:map evil-window-map
"<up>" #'evil-window-up
"<down>" #'evil-window-down
"<left>" #'evil-window-left
"<right>" #'evil-window-right)

(:after evil-easymotion
:map evilem-map
"<up>" #'evilem-motion-previous-line
"<down>" #'evilem-motion-next-line
"<left>" #'evilem-motion-backward-word-begin
"<right>" #'evilem-motion-forward-word-begin))


;; (map! :leader
;; (:desc "search" :prefix "/"
;; (:desc "Rg" :prefix "r"
;; :desc "rg-dwim" :n "d" #'rg-dwim
;; :desc "rg-kill-saved-searches" :n "k" #'rg-kill-saved-searches
; :desc "rg-list-searches" :n "l" #'rg-list-searches
; ; :desc "rg-project" :n "p" #'rg-project
; ; :desc "rg" :n "r" #'rg
; :desc "rg-save-search" :n "s" #'rg-save-search
; :desc "rg-save-search-as-name" :n "S" #'rg-save-search-as-name
; :desc "rg-list-searches" :n "t" #'rg-literal)
; :desc "Ripgrep" :n "SPC" #'ripgrep-regexp
; :desc "Counsel-Rg" :n "." #'counsel-rg
; :desc "Deadgrep" :n "t" #'deadgrep)
; (:desc "macro" :prefix "0"
; :desc "Universal Argument" #'universal-argument
; :desc "Start Macro" #'kmacro-start-macro
; :desc "End Macro" #'kmacro-end-macro
; :desc "End And Call Macro" #'kmacro-end-and-call-macro
;; :desc "Kmacro Bind To Key" #'kmacro-bind-to-key
; :desc "Name Last Macro" #'kmacro-name-last-macro
; :desc "Insert Macro" #'insert-kbd-macro)
; (:desc "syntactic" :prefix "1"
;;; :desc "cleanup" :n "c" #'whitespace-cleanup
; (:desc "Ispell" :prefix "s"
; :desc "pt-br" :n "p" #'ispell-pt-br
; :desc "en-us" :n "e" #'ispell-en-us
; :desc "en-gb" :n "g" #'ispell-en-gb))
; (:desc "semantic" :prefix "2"
; (:desc "Language Tool" :prefix "l"
; :desc "check" :n "c" #'langtool-check
; :desc "check-done" :n "d" #'langtool-check-done
; :desc "correct-buffer" :n "b" #'langtool-correct-buffer
; :desc "switch-default-language" :n "s" #'langtool-switch-default-language
; :desc "show-message-at-point" :n "." #'langtool-show-message-at-point)
; (:desc "Google-This" :prefix "g"
; :desc "this-search" :n "RET" #'google-this-search
; :desc "this-region" :n "SPC" #'google-this-region
; :desc "this" :n "t" #'google-this
; :desc "this-noconfirm" :n "n" #'google-this-noconfirm
; :desc "this-lucky-search" :n "g" #'google-this-lucky-search
; :desc "this-lucky-and-insert-url" :n "i" #'google-this-lucky-and-insert-url
; :desc "this-word" :n "w" #'google-this-word
; :desc "this-symbol" :n "s" #'google-this-symbol
; :desc "this-line" :n "l" #'google-this-line
; :desc "this-error" :n "e" #'google-this-error
; :desc "this-forecast" :n "f" #'google-this-forecast
; :desc "this-cpp-reference" :n "r" #'google-this-cpp-reference
; :desc "this-maps" :n "m" #'google-this-maps
; :desc "this-ray" :n "a" #'google-this-ray
; :desc "maps" :n "m" #'google-maps
; :desc "this-translate-query-or-region" :n "c" #'google-this-translate-query-or-region)
; (:desc "Google-Translate" :prefix "t"
; :desc "translate-at-point" :n "." #'google-translate-at-point
; :desc "translate-smooth-translate" :n "RET" #'google-translate-smooth-translate
; :desc "translate-query-translate" :n "SPC" #'google-translate-query-translate)))
;;;
59 changes: 59 additions & 0 deletions emacs-doom/autoload/mdssjc.el
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
;;; autoload/mdssjc.el -*- lexical-binding: t; -*-


;;;###autoload
(defun mds/gtd ()
"Internal function."
(interactive "")
(find-file "~/Documents/GTD/dashboard.org"))

;;;###autoload
(defun mds/gtd-projects ()
"Internal function."
(interactive "")
(find-file "~/Documents/GTD/projects.org"))



(defun ispell-dict (lang)
(setq ispell-complete-word-dict (concat (expand-file-name user-emacs-directory) "modules/~\.config/doom/mdssjcsjc/dict/" lang ".dic"))
(ispell-change-dictionary lang))

;;;###autoload
(defun ispell-pt-br ()
(interactive)
(ispell-dict "pt_BR"))

;;;###autoload
(defun ispell-en-us ()
(interactive)
(ispell-dict "en_US"))

;;;###autoload
(defun ispell-en-gb ()
(interactive)
(ispell-dict "en_GB"))



;; TODO: avaliar a remoção, pois está sem uso.
(defun avy-goto-char-in-line-side (char p1 p2 )
(avy-with avy-goto-char
(avy--generic-jump
(regexp-quote (string char))
avy-all-windows
avy-style
p1
p2)))

;;;###autoload
(defun avy-goto-char-in-line-right (char)
"Jump to the currently visible CHAR in the current line."
(interactive (list (read-char "char: " t)))
(avy-goto-char-in-line-side char (point) (line-end-position)))

;;;###autoload
(defun avy-goto-char-in-line-left (char)
"Jump to the currently visible CHAR in the current line."
(interactive (list (read-char "char: " t)))
(avy-goto-char-in-line-side char (line-beginning-position) (point)))
126 changes: 126 additions & 0 deletions emacs-doom/config.el
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
;;; config.el -*- lexical-binding: t; -*-


;;
;; Plugins
;;

(def-package! avy
:commands (avy-goto-char-2
avy-goto-line
avy-goto-char-timer
avy-goto-line-above
avy-goto-line-below
avy-goto-char-in-line
avy-goto-char-in-line-left
avy-goto-char-in-line-right)
:config
(setq avy-all-windows nil
avy-background t))

(def-package! rg
:commands (rg-dwim rg-kill-saved-searches rg-list-searches rg-project
rg rg-save-search rg-save-search-as-name rg-literal)
:config
(setq rg-group-result t
rg-show-columns t))

(def-package! ripgrep
:commands ripgrep-regexp)

(def-package! multiple-cursors
:commands (multiple-cursors-mode
mc/mark-next-like-this
mc/mark-previous-like-this
mc/mark-next-like-this-symbol
mc/mark-previous-like-this-symbol
mc/mark-all-dwim
mc/mark-all-in-region-regexp)
:config
(multiple-cursors-mode))

(def-package! ialign
:commands ialign)

(def-package! move-dup
:commands md/move-lines-up md/move-lines-down md/duplicate-up md/duplicate-down)



;;
;; Config
;;

(load! "+bindings")


(after! company
(setq company-minimum-prefix-length 1
company-show-numbers t
company-selection-wrap-around t))

(after! magit
(setq magit-diff-refine-hunk 'all))

(after! markdown-mode
(remove-hook 'markdown-mode-hook #'auto-fill-mode))



;;
;; ORG - GTD
;;

(after! org
(setq org-todo-keywords '((sequence "TODO(t)" "DOING(d)" "BLOCKED(b)" "REVIEW(r)"
"|" "DONE(e)" "ARCHIVED(a)" "CANCELED(c)"))
org-todo-keyword-faces '(("TODO" . org-warning)
("DOING" . "yellow")
("BLOCKED" . "red")
("REVIEW" . "orange")
("DONE" . "green")
("ARCHIVED" . "blue")
("CANCELED" . "red1"))
org-pretty-entities t
org-hide-emphasis-markers t
org-tags-column -77
;; Agenda
org-agenda-files '("~/Documents/GTD/someday-maybe.org"
"~/Documents/GTD/calendar.org"
"~/Documents/GTD/projects.org")
org-agenda-custom-commands '(("W" "Weekly Review"
((agenda "" ((org-agenda-ndays 7)))
(stuck "")
(todo "DOING")
(org-agenda-entry-types '(:deadline))
(org-deadline-warning-days 30))))
;; Refile
org-refile-use-outline-path 'file
org-outline-path-complete-in-steps nil
org-refile-allow-creating-parent-nodes 'confirm
completing-read-function 'ivy-completing-read
org-refile-targets '(("~/Documents/GTD/trash.org" :maxlevel . 1)
("~/Documents/GTD/someday-maybe.org" :maxlevel . 1)
("~/Documents/GTD/reference.org" :maxlevel . 1)
("~/Documents/GTD/projects.org" :maxlevel . 3)
("~/Documents/GTD/next-action.org" :maxlevel . 2)
("~/Documents/GTD/waiting-for.org" :maxlevel . 1))
;; Templates - Capture
org-capture-templates '(("n" "Notes" entry
(file+headline +org-default-notes-file "Notes")
"* %i%?"
:prepend t :kill-buffer t)
("t" "Inbox" entry
(file+headline "~/Documents/GTD/inbox.org" "Things")
"* %i%?\nCreate in %U"
:prepend t :kill-buffer t)))
;; Encrypt all entries before saving
;; (org-crypt-use-before-save-magic)
;; (setq org-tags-exclude-from-inheritance '("crypt"))
;; (let ((secrets-path "~/.config/doom/modules/private/mdssjc/secrets/secrets.el"))
;; (if (file-exists-p secrets-path)
;; (progn (load secrets-path)
;; ;; GPG key to use for encryption
;; (setq org-crypt-key user-password))
;; (message "Use mds-secrets-template.el as the basis for the secrets.el file.")))
)
Loading

0 comments on commit 52a046c

Please sign in to comment.