diff --git a/.gitignore b/.gitignore index 8d27c1c1455d343487a9459e933dc7118c782121..a9e876a36004affa48466f15a90d912d940b5378 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /recentf auto-save-list +myinit.el *~ \#* *.elc \ No newline at end of file diff --git a/init.el b/init.el index 1b0d979f36c3de972f1c4b700d44984f19ff923e..700315f696aa2366ef89fda4c9d5d2270d02f388 100644 --- a/init.el +++ b/init.el @@ -43,8 +43,8 @@ '(org-startup-indented t) '(package-selected-packages (quote - (alect-theme zero-dark-theme autumn-light-theme solarized-dark-theme misterioso misterioso-theme zenburn sourcerer-theme flycheck-pos-tip flycheck-clojure ox-reveal posframe processing-snippets processing-mode rg deadgrep flycheck-rust cargo racer yasnippet-classic-snippets rustic lsp-rust lsp-java company-lsp lsp-ui lsp-mode lsp yasnippet-snippets counsel-spotify exec-path-from-shell easy-kill auto-yasnippet org-pdfview pdf-tools atomic-chrome mingus simple-mpc pcre2el ag wgrep-ag wgrep haskell-mode aggressive-indent treemacs-projectile treemacs prodigy origami dumb-jump cider ggtags circe-notifications circe org-gcal mu4e-alert git-timemachine git-gutter magit hydra default-text-scale smartparens projectile auctex tern-auto-complete tern js2-refactor ac-js2 js2-mode emmet-mode web-mode iedit expand-region multiple-cursors hungry-delete beacon undo-tree virtualenvwrapper elpy flycheck doom-modeline doom-themes tao-theme poet-theme faff-theme zerodark-theme alect-themes moe-theme base16-theme zenburn-theme color-theme-modern company-jedi irony-eldoc company-irony company counsel ace-window htmlize noflet org-bullets which-key try use-package))) - '(sp-escape-quotes-after-insert nil t)) + (rainbow-delimiters alect-theme zero-dark-theme autumn-light-theme solarized-dark-theme misterioso misterioso-theme zenburn sourcerer-theme flycheck-pos-tip flycheck-clojure ox-reveal posframe processing-snippets processing-mode rg deadgrep flycheck-rust cargo racer yasnippet-classic-snippets rustic lsp-rust lsp-java company-lsp lsp-ui lsp-mode lsp yasnippet-snippets counsel-spotify exec-path-from-shell easy-kill auto-yasnippet org-pdfview pdf-tools atomic-chrome mingus simple-mpc pcre2el ag wgrep-ag wgrep haskell-mode aggressive-indent treemacs-projectile treemacs prodigy origami dumb-jump cider ggtags circe-notifications circe org-gcal mu4e-alert git-timemachine git-gutter magit hydra default-text-scale smartparens projectile auctex tern-auto-complete tern js2-refactor ac-js2 js2-mode emmet-mode web-mode iedit expand-region multiple-cursors hungry-delete beacon undo-tree virtualenvwrapper elpy flycheck doom-modeline doom-themes tao-theme poet-theme faff-theme zerodark-theme alect-themes moe-theme base16-theme zenburn-theme color-theme-modern company-jedi irony-eldoc company-irony company counsel ace-window htmlize noflet org-bullets which-key try use-package))) + '(sp-escape-quotes-after-insert nil)) (setq max-lisp-eval-depth 10000) (setq max-specpdl-size 10000) (require 'package) diff --git a/myinit.el b/myinit.el deleted file mode 100644 index e1fc29c152909e8f2627fe3f9715bd40b3edea66..0000000000000000000000000000000000000000 --- a/myinit.el +++ /dev/null @@ -1,1020 +0,0 @@ -;; [[file:~/.emacs.d/myinit.org::*repos][repos:1]] -(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) -;; repos:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*interface%20tweaks][interface tweaks:1]] -(setq inhibit-startup-message t) -(tool-bar-mode -1) -(fset 'yes-or-no-p 'y-or-n-p) -(global-set-key (kbd "<f5>") 'revert-buffer) -;; interface tweaks:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*try][try:1]] -(use-package try - :ensure t) -;; try:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*posframe][posframe:1]] -(use-package posframe :ensure t) -;; posframe:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*which%20key][which key:1]] -(use-package which-key - :ensure t - :config - (which-key-mode)) -;; which key:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Org%20mode][Org mode:1]] -(use-package org - :ensure t - :pin org) - - (setenv "BROWSER" "firefox") - (use-package org-bullets - :ensure t - :config - (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))) - (custom-set-variables - '(org-directory "~/Sync/orgfiles") - '(org-default-notes-file (concat org-directory "/notes.org")) - '(org-export-html-postamble nil) - '(org-hide-leading-stars t) - '(org-startup-folded (quote overview)) - '(org-startup-indented t) - '(org-confirm-babel-evaluate nil) - '(org-src-fontify-natively t) - ) - - (setq org-file-apps - (append '( - ("\\.pdf\\'" . "evince %s") - ("\\.x?html?\\'" . "/usr/bin/firefox %s") - ) org-file-apps )) - - (global-set-key "\C-ca" 'org-agenda) - (setq org-agenda-start-on-weekday nil) - (setq org-agenda-custom-commands - '(("c" "Simple agenda view" - ((agenda "") - (alltodo ""))))) - - (global-set-key (kbd "C-c c") 'org-capture) - - (setq org-agenda-files (list "~/Sync/orgfiles/gcal.org" - "~/Sync/orgfiles/soe-cal.org" - "~/Sync/orgfiles/i.org" - "~/Sync/orgfiles/schedule.org")) - (setq org-capture-templates - '(("a" "Appointment" entry (file "~/Sync/orgfiles/gcal.org" ) - "* %?\n\n%^T\n\n:PROPERTIES:\n\n:END:\n\n") - ("l" "Link" entry (file+headline "~/Sync/orgfiles/links.org" "Links") - "* %? %^L %^g \n%T" :prepend t) - ("b" "Blog idea" entry (file+headline "~/Sync/orgfiles/i.org" "Blog Topics:") - "* %?\n%T" :prepend t) - ("t" "To Do Item" entry (file+headline "~/Sync/orgfiles/i.org" "To Do and Notes") - "* TODO %?\n%u" :prepend t) - ("m" "Mail To Do" entry (file+headline "~/Sync/orgfiles/i.org" "To Do and Notes") - "* TODO %a\n %?" :prepend t) - ("g" "GMail To Do" entry (file+headline "~/Sync/orgfiles/i.org" "To Do and Notes") - "* TODO %^L\n %?" :prepend t) - ("n" "Note" entry (file+headline "~/Sync/orgfiles/i.org" "Notes") - "* %u %? " :prepend t) - )) - - - (defadvice org-capture-finalize - (after delete-capture-frame activate) - "Advise capture-finalize to close the frame" - (if (equal "capture" (frame-parameter nil 'name)) - (delete-frame))) - - (defadvice org-capture-destroy - (after delete-capture-frame activate) - "Advise capture-destroy to close the frame" - (if (equal "capture" (frame-parameter nil 'name)) - (delete-frame))) - -;; (use-package noflet -;; :ensure t ) - (defun make-capture-frame () - "Create a new frame and run org-capture." - (interactive) - (make-frame '((name . "capture"))) - (select-frame-by-name "capture") - (delete-other-windows) - (noflet ((switch-to-buffer-other-window (buf) (switch-to-buffer buf))) - (org-capture))) -;; (require 'ox-beamer) -;; for inserting inactive dates - (define-key org-mode-map (kbd "C-c >") (lambda () (interactive (org-time-stamp-inactive)))) - - (use-package htmlize :ensure t) - - (setq org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar") -;; Org mode:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Ace%20windows%20for%20easy%20window%20switching][Ace windows for easy window switching:1]] -(use-package ace-window -:ensure t -:init -(progn -(setq aw-scope 'global) ;; was frame -(global-set-key (kbd "C-x O") 'other-frame) - (global-set-key [remap other-window] 'ace-window) - (custom-set-faces - '(aw-leading-char-face - ((t (:inherit ace-jump-face-foreground :height 3.0))))) - )) -;; Ace windows for easy window switching:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Swiper%20/%20Ivy%20/%20Counsel][Swiper / Ivy / Counsel:1]] -(use-package counsel -:ensure t - :bind - (("M-y" . counsel-yank-pop) - :map ivy-minibuffer-map - ("M-y" . ivy-next-line))) - - - - - (use-package ivy - :ensure t - :diminish (ivy-mode) - :bind (("C-x b" . ivy-switch-buffer)) - :config - (ivy-mode 1) - (setq ivy-use-virtual-buffers t) - (setq ivy-count-format "%d/%d ") - (setq ivy-display-style 'fancy)) - - - (use-package swiper - :ensure t - :bind (("C-s" . swiper-isearch) - ("C-r" . swiper-isearch) - ("C-c C-r" . ivy-resume) - ("M-x" . counsel-M-x) - ("C-x C-f" . counsel-find-file)) - :config - (progn - (ivy-mode 1) - (setq ivy-use-virtual-buffers t) - (setq ivy-display-style 'fancy) - (define-key read-expression-map (kbd "C-r") 'counsel-expression-history) - )) -;; Swiper / Ivy / Counsel:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Avy%20-%20navigate%20by%20searching%20for%20a%20letter%20on%20the%20screen%20and%20jumping%20to%20it][Avy - navigate by searching for a letter on the screen and jumping to it:1]] -(use-package avy -:ensure t -:bind ("M-s" . avy-goto-word-1)) ;; changed from char as per jcs -;; Avy - navigate by searching for a letter on the screen and jumping to it:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Company][Company:1]] -(use-package company -:ensure t -:config -(setq company-idle-delay 0) -(setq company-minimum-prefix-length 3) - -(global-company-mode t) -) - - -(defun my/python-mode-hook () - (add-to-list 'company-backends 'company-jedi)) - -(add-hook 'python-mode-hook 'my/python-mode-hook) -(use-package company-jedi - :ensure t - :config - (add-hook 'python-mode-hook 'jedi:setup) - ) - -(defun my/python-mode-hook () - (add-to-list 'company-backends 'company-jedi)) - -(add-hook 'python-mode-hook 'my/python-mode-hook) - -;; company box mode -;(use-package company-box -;:ensure t -; :hook (company-mode . company-box-mode)) -;; Company:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*C++][C++:1]] -(use-package company-irony -:ensure t -:config -(add-to-list 'company-backends 'company-irony) - -) - -(use-package irony -:ensure t -:config -(add-hook 'c++-mode-hook 'irony-mode) -(add-hook 'c-mode-hook 'irony-mode) -(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options) -) - -(use-package irony-eldoc -:ensure t -:config -(add-hook 'irony-mode-hook #'irony-eldoc)) - -;; sets clang-format region -(use-package clang-format - :ensure t - :bind (("C-c C-f" . clang-format-region)) - ) - -;; sets clang-format to be used instead of emacs indentation -(defun clang-format-c-mode-common-hook () - (fset 'c-indent-region 'clang-format-region) - (define-key c-mode-base-map (kbd "<tab>") 'clang-format-region) - ) -(add-hook 'c-mode-common-hook 'clang-format-c-mode-common-hook) - -;; sets clang-format to be run on save for the whole file -(defun clang-format-buffer-on-save () - "Add auto-save hook for clang-format-buffer-smart." - (add-hook 'before-save-hook 'clang-format-buffer nil t)) -(add-hook 'c-mode-common-hook 'clang-format-buffer-on-save) - -;; Modern C++ code highlighting -(use-package modern-cpp-font-lock - :ensure t - :init - (eval-when-compile - ;; Silence missing function warnings - (declare-function modern-c++-font-lock-global-mode - "modern-cpp-font-lock.el")) - :config - (modern-c++-font-lock-global-mode t) - ) -;; C++:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Themes%20and%20modeline][Themes and modeline:1]] -;; (use-package autumn-light-theme -;; :ensure t -;; :config -;; (load-theme 'autumn-light t)) -;; (use-package zerodark-theme -;; :ensure t -;; :config -;; (load-theme 'zerodark t)) -;; (use-package poet-theme -;; :ensure t -;; :config -;; (load-theme 'poet t)) -(use-package sourcerer-theme - :ensure t - :config - (load-theme 'sourcerer t)) -;; Themes and modeline:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Flycheck][Flycheck:1]] -(use-package flycheck - :ensure t - :init - (global-flycheck-mode t)) -;; Flycheck:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Misc%20packages][Misc packages:1]] -; Highlights the current cursor line -(global-hl-line-mode t) - - ; flashes the cursor's line when you scroll -(use-package beacon - :ensure t - :config - (beacon-mode 1) - ; (setq beacon-color "#666600") - ) - -;; ; deletes all the whitespace when you hit backspace or delete -;; (use-package hungry-delete -;; :ensure t -;; :config -;; (global-hungry-delete-mode)) - - -(use-package multiple-cursors - :ensure t) - - ; expand the marked region in semantic increments (negative prefix to reduce region) -(use-package expand-region - :ensure t - :config - (global-set-key (kbd "C-=") 'er/expand-region)) - -(setq save-interprogram-paste-before-kill t) - - -(global-auto-revert-mode 1) ;; you might not want this -(setq auto-revert-verbose nil) ;; or this -(global-set-key (kbd "<f5>") 'revert-buffer) -(global-set-key (kbd "<f6>") 'revert-buffer) -;; Misc packages:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*iedit%20and%20narrow%20/%20widen%20dwim][iedit and narrow / widen dwim:1]] -; mark and edit all copies of the marked region simultaniously. -(use-package iedit -:ensure t) - -; if you're windened, narrow to the region, if you're narrowed, widen -; bound to C-x n -(defun narrow-or-widen-dwim (p) -"If the buffer is narrowed, it widens. Otherwise, it narrows intelligently. -Intelligently means: region, org-src-block, org-subtree, or defun, -whichever applies first. -Narrowing to org-src-block actually calls `org-edit-src-code'. - -With prefix P, don't widen, just narrow even if buffer is already -narrowed." -(interactive "P") -(declare (interactive-only)) -(cond ((and (buffer-narrowed-p) (not p)) (widen)) -((region-active-p) -(narrow-to-region (region-beginning) (region-end))) -((derived-mode-p 'org-mode) -;; `org-edit-src-code' is not a real narrowing command. -;; Remove this first conditional if you don't want it. -(cond ((ignore-errors (org-edit-src-code)) -(delete-other-windows)) -((org-at-block-p) -(org-narrow-to-block)) -(t (org-narrow-to-subtree)))) -(t (narrow-to-defun)))) - -;; (define-key endless/toggle-map "n" #'narrow-or-widen-dwim) -;; This line actually replaces Emacs' entire narrowing keymap, that's -;; how much I like this command. Only copy it if that's what you want. -(define-key ctl-x-map "n" #'narrow-or-widen-dwim) -;; iedit and narrow / widen dwim:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Web%20Mode][Web Mode:1]] -(use-package web-mode - :ensure t - :config - (add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode)) - (add-to-list 'auto-mode-alist '("\\.vue?\\'" . web-mode)) - (setq web-mode-engines-alist - '(("django" . "\\.html\\'"))) - (setq web-mode-ac-sources-alist - '(("css" . (ac-source-css-property)) - ("vue" . (ac-source-words-in-buffer ac-source-abbrev)) - ("html" . (ac-source-words-in-buffer ac-source-abbrev)))) -(setq web-mode-enable-auto-closing t)) -(setq web-mode-enable-auto-quoting t) ; this fixes the quote problem I mentioned -;; Web Mode:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Emmet%20mode][Emmet mode:1]] -(use-package emmet-mode -:ensure t -:config -(add-hook 'sgml-mode-hook 'emmet-mode) ;; Auto-start on any markup modes -(add-hook 'web-mode-hook 'emmet-mode) ;; Auto-start on any markup modes -(add-hook 'css-mode-hook 'emmet-mode) ;; enable Emmet's css abbreviation. -) -;; Emmet mode:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Javascript][Javascript:1]] -(use-package js2-mode -:ensure t -:ensure ac-js2 -:init -(progn -(add-hook 'js-mode-hook 'js2-minor-mode) -(add-hook 'js2-mode-hook 'ac-js2-mode) -)) - -(use-package js2-refactor -:ensure t -:config -(progn -(js2r-add-keybindings-with-prefix "C-c C-m") -;; eg. extract function with `C-c C-m ef`. -(add-hook 'js2-mode-hook #'js2-refactor-mode))) -(use-package tern -:ensure tern -:ensure tern-auto-complete -:config -(progn -(add-hook 'js-mode-hook (lambda () (tern-mode t))) -(add-hook 'js2-mode-hook (lambda () (tern-mode t))) -(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) -;;(tern-ac-setup) -)) - -;;(use-package jade -;;:ensure t -;;) - -;; use web-mode for .jsx files -(add-to-list 'auto-mode-alist '("\\.jsx$" . web-mode)) - - -;; turn on flychecking globally -(add-hook 'after-init-hook #'global-flycheck-mode) - -;; disable jshint since we prefer eslint checking -(setq-default flycheck-disabled-checkers - (append flycheck-disabled-checkers - '(javascript-jshint))) - -;; use eslint with web-mode for jsx files -(flycheck-add-mode 'javascript-eslint 'web-mode) - -;; customize flycheck temp file prefix -(setq-default flycheck-temp-prefix ".flycheck") - -;; disable json-jsonlist checking for json files -(setq-default flycheck-disabled-checkers - (append flycheck-disabled-checkers - '(json-jsonlist))) - -;; adjust indents for web-mode to 2 spaces -(defun my-web-mode-hook () - "Hooks for Web mode. Adjust indents" - ;;; http://web-mode.org/ - (setq web-mode-markup-indent-offset 2) - (setq web-mode-css-indent-offset 2) - (setq web-mode-code-indent-offset 2)) -(add-hook 'web-mode-hook 'my-web-mode-hook) -;; Javascript:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*DIRED][DIRED:1]] -; wiki melpa problem -;(use-package dired+ -; :ensure t -; :config (require 'dired+) -; ) - -(setq dired-dwim-target t) - -(use-package dired-narrow -:ensure t -:config -(bind-key "C-c C-n" #'dired-narrow) -(bind-key "C-c C-f" #'dired-narrow-fuzzy) -(bind-key "C-x C-N" #'dired-narrow-regexp) -) - -(use-package dired-subtree :ensure t - :after dired - :config - (bind-key "<tab>" #'dired-subtree-toggle dired-mode-map) - (bind-key "<backtab>" #'dired-subtree-cycle dired-mode-map)) -;; DIRED:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Stuff%20to%20refile%20as%20I%20do%20more%20Screencasts][Stuff to refile as I do more Screencasts:1]] -;;-------------------------------------------------------------------------- - ;; latex - (use-package tex - :ensure auctex) - - (defun tex-view () - (interactive) - (tex-send-command "evince" (tex-append tex-print-file ".pdf"))) - ;; babel stuff - - (org-babel-do-load-languages - 'org-babel-load-languages - '((python . t) - (emacs-lisp . t) -(shell . t) - (C . t) - (js . t) - (ditaa . t) - (dot . t) - (org . t) - (latex . t ) - )) - ;; projectile - (use-package projectile - :ensure t - :bind ("C-c p" . projectile-command-map) - :config - (projectile-global-mode) - (setq projectile-completion-system 'ivy)) - - ;; (use-package counsel-projectile - ;; :ensure t - ;; :config - ;; (counsel-projectile-on)q) - -(use-package smartparens -:ensure t - :hook (prog-mode . smartparens-mode) - :custom - (sp-escape-quotes-after-insert nil) - :config - (require 'smartparens-config)) - -(show-paren-mode t) - ;;-------------------------------------------- - - - - - ;; font scaling - (use-package default-text-scale - :ensure t - :config - (global-set-key (kbd "C-M-=") 'default-text-scale-increase) - (global-set-key (kbd "C-M--") 'default-text-scale-decrease)) - - - ;; (use-package frame-cmds :ensure t) - ;; (load-file "/home/zamansky/Dropbox/shared/zoom-frm.el") - ;; (define-key ctl-x-map [(control ?+)] 'zoom-in/out) - ;; (define-key ctl-x-map [(control ?-)] 'zoom-in/out) - ;; (define-key ctl-x-map [(control ?=)] 'zoom-in/out) - (define-key ctl-x-map [(control ?0)] 'zoom-in/out) -;; Stuff to refile as I do more Screencasts:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Hydra][Hydra:1]] -(use-package hydra - :ensure hydra - :init - (global-set-key - (kbd "C-x t") - (defhydra toggle (:color blue) - "toggle" - ("a" abbrev-mode "abbrev") - ("s" flyspell-mode "flyspell") - ("d" toggle-debug-on-error "debug") - ("c" fci-mode "fCi") - ("f" auto-fill-mode "fill") - ("t" toggle-truncate-lines "truncate") - ("w" whitespace-mode "whitespace") - ("q" nil "cancel"))) - (global-set-key - (kbd "C-x j") - (defhydra gotoline - ( :pre (linum-mode 1) - :post (linum-mode -1)) - "goto" - ("t" (lambda () (interactive)(move-to-window-line-top-bottom 0)) "top") - ("b" (lambda () (interactive)(move-to-window-line-top-bottom -1)) "bottom") - ("m" (lambda () (interactive)(move-to-window-line-top-bottom)) "middle") - ("e" (lambda () (interactive)(end-of-buffer)) "end") - ("c" recenter-top-bottom "recenter") - ("n" next-line "down") - ("p" (lambda () (interactive) (forward-line -1)) "up") - ("g" goto-line "goto-line") - )) - (global-set-key - (kbd "C-c t") - (defhydra hydra-global-org (:color blue) - "Org" - ("t" org-timer-start "Start Timer") - ("s" org-timer-stop "Stop Timer") - ("r" org-timer-set-timer "Set Timer") ; This one requires you be in an orgmode doc, as it sets the timer for the header - ("p" org-timer "Print Timer") ; output timer value to buffer - ("w" (org-clock-in '(4)) "Clock-In") ; used with (org-clock-persistence-insinuate) (setq org-clock-persist t) - ("o" org-clock-out "Clock-Out") ; you might also want (setq org-log-note-clock-out t) - ("j" org-clock-goto "Clock Goto") ; global visit the clocked task - ("c" org-capture "Capture") ; Don't forget to define the captures you want http://orgmode.org/manual/Capture.html - ("l" (or )rg-capture-goto-last-stored "Last Capture")) - - )) - -(defhydra hydra-multiple-cursors (:hint nil) - " - Up^^ Down^^ Miscellaneous % 2(mc/num-cursors) cursor%s(if (> (mc/num-cursors) 1) \"s\" \"\") ------------------------------------------------------------------- - [_p_] Next [_n_] Next [_l_] Edit lines [_0_] Insert numbers - [_P_] Skip [_N_] Skip [_a_] Mark all [_A_] Insert letters - [_M-p_] Unmark [_M-n_] Unmark [_s_] Search - [Click] Cursor at point [_q_] Quit" - ("l" mc/edit-lines :exit t) - ("a" mc/mark-all-like-this :exit t) - ("n" mc/mark-next-like-this) - ("N" mc/skip-to-next-like-this) - ("M-n" mc/unmark-next-like-this) - ("p" mc/mark-previous-like-this) - ("P" mc/skip-to-previous-like-this) - ("M-p" mc/unmark-previous-like-this) - ("s" mc/mark-all-in-region-regexp :exit t) - ("0" mc/insert-numbers :exit t) - ("A" mc/insert-letters :exit t) - ("<mouse-1>" mc/add-cursor-on-click) - ;; Help with click recognition in this hydra - ("<down-mouse-1>" ignore) - ("<drag-mouse-1>" ignore) - ("q" nil) - - - ("<mouse-1>" mc/add-cursor-on-click) - ("<down-mouse-1>" ignore) - ("<drag-mouse-1>" ignore)) -;; Hydra:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*git][git:1]] -(use-package magit - :ensure t - :init - (progn - (bind-key "C-x g" 'magit-status) - )) - -(setq magit-status-margin - '(t "%Y-%m-%d %H:%M " magit-log-margin-width t 18)) - (use-package git-gutter - :ensure t - :init - (global-git-gutter-mode +1)) - - (global-set-key (kbd "M-g M-g") 'hydra-git-gutter/body) - - - (use-package git-timemachine - :ensure t - ) - (defhydra hydra-git-gutter (:body-pre (git-gutter-mode 1) - :hint nil) - " - Git gutter: - _j_: next hunk _s_tage hunk _q_uit - _k_: previous hunk _r_evert hunk _Q_uit and deactivate git-gutter - ^ ^ _p_opup hunk - _h_: first hunk - _l_: last hunk set start _R_evision - " - ("j" git-gutter:next-hunk) - ("k" git-gutter:previous-hunk) - ("h" (progn (goto-char (point-min)) - (git-gutter:next-hunk 1))) - ("l" (progn (goto-char (point-min)) - (git-gutter:previous-hunk 1))) - ("s" git-gutter:stage-hunk) - ("r" git-gutter:revert-hunk) - ("p" git-gutter:popup-hunk) - ("R" git-gutter:set-start-revision) - ("q" nil :color blue) - ("Q" (progn (git-gutter-mode -1) - ;; git-gutter-fringe doesn't seem to - ;; clear the markup right away - (sit-for 0.1) - (git-gutter:clear)) - :color blue)) -;; git:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Load%20other%20files][Load other files:1]] -(defun load-if-exists (f) - "load the elisp file only if it exists and is readable" - (if (file-readable-p f) - (load-file f))) - -(load-if-exists "~/Sync/shared/mu4econfig.el") -(load-if-exists "~/Sync/shared/not-for-github.el") -;; Load other files:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Testing%20Stuff][Testing Stuff:1]] -(add-hook 'org-mode-hook 'turn-on-flyspell) -(add-hook 'org-mode-hook 'turn-on-auto-fill) -(add-hook 'mu4e-compose-mode-hook 'turn-on-flyspell) -(add-hook 'mu4e-compose-mode-hook 'turn-on-auto-fill) -;; Testing Stuff:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*c++][c++:1]] -(use-package ggtags -:ensure t -:config -(add-hook 'c-mode-common-hook - (lambda () - (when (derived-mode-p 'c-mode 'c++-mode 'java-mode) - (ggtags-mode 1)))) -) -;; c++:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Clojure][Clojure:1]] -(use-package cider - :ensure t - :config - (add-hook 'cider-repl-mode-hook #'company-mode) - (add-hook 'cider-mode-hook #'company-mode) - (add-hook 'cider-mode-hook #'eldoc-mode) -;; (add-hook 'cider-mode-hook #'cider-hydra-mode) - (setq cider-repl-use-pretty-printing t) - (setq cider-repl-display-help-banner nil) - ;; (setq cider-cljs-lein-repl "(do (use 'figwheel-sidecar.repl-api) (start-figwheel!) (cljs-repl))") - - :bind (("M-r" . cider-namespace-refresh) - ("C-c r" . cider-repl-reset) - ("C-c ." . cider-reset-test-run-tests)) - ) - - (use-package clj-refactor - :ensure t - :config - (add-hook 'clojure-mode-hook (lambda () - (clj-refactor-mode 1) - ;; insert keybinding setup here - )) - (cljr-add-keybindings-with-prefix "C-c C-m") - (setq cljr-warn-on-eval nil) - :bind ("C-c '" . hydra-cljr-help-menu/body) - ) -;; Clojure:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Dumb%20jump][Dumb jump:1]] -(use-package dumb-jump - :bind (("M-g o" . dumb-jump-go-other-window) - ("M-g j" . dumb-jump-go) - ("M-g x" . dumb-jump-go-prefer-external) - ("M-g z" . dumb-jump-go-prefer-external-other-window)) - :config - ;; (setq dumb-jump-selector 'ivy) ;; (setq dumb-jump-selector 'helm) -:init -(dumb-jump-mode) - :ensure -) -;; Dumb jump:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Origami%20folding][Origami folding:1]] -(use-package origami -:ensure t) -;; Origami folding:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*IBUFFER][IBUFFER:1]] -(global-set-key (kbd "C-x C-b") 'ibuffer) -(setq ibuffer-saved-filter-groups - (quote (("default" - ("dired" (mode . dired-mode)) - ("org" (name . "^.*org$")) - ("magit" (mode . magit-mode)) - ("IRC" (or (mode . circe-channel-mode) (mode . circe-server-mode))) - ("web" (or (mode . web-mode) (mode . js2-mode))) - ("shell" (or (mode . eshell-mode) (mode . shell-mode))) - ("mu4e" (or - - (mode . mu4e-compose-mode) - (name . "\*mu4e\*") - )) - ("programming" (or - (mode . clojure-mode) - (mode . clojurescript-mode) - (mode . python-mode) - (mode . c++-mode))) - ("emacs" (or - (name . "^\\*scratch\\*$") - (name . "^\\*Messages\\*$"))) - )))) -(add-hook 'ibuffer-mode-hook - (lambda () - (ibuffer-auto-mode 1) - (ibuffer-switch-to-saved-filter-groups "default"))) - -;; don't show these - ;(add-to-list 'ibuffer-never-show-predicates "zowie") -;; Don't show filter groups if there are no buffers in that group -(setq ibuffer-show-empty-filter-groups nil) - -;; Don't ask for confirmation to delete marked buffers -(setq ibuffer-expert t) -;; IBUFFER:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Treemacs][Treemacs:1]] -(use-package treemacs - :ensure t - :defer t - :config - (progn - - (setq treemacs-follow-after-init t - treemacs-width 35 - treemacs-indentation 2 - treemacs-git-integration t - treemacs-collapse-dirs 3 - treemacs-silent-refresh nil - treemacs-change-root-without-asking nil - treemacs-sorting 'alphabetic-desc - treemacs-show-hidden-files t - treemacs-never-persist nil - treemacs-is-never-other-window nil - treemacs-goto-tag-strategy 'refetch-index) - - (treemacs-follow-mode t) - (treemacs-filewatch-mode t)) - :bind - (:map global-map - ([f8] . treemacs-toggle) - ([f9] . treemacs-projectile-toggle) - ("<C-M-tab>" . treemacs-toggle) - ("M-0" . treemacs-select-window) - ("C-c 1" . treemacs-delete-other-windows) - )) - (use-package treemacs-projectile - :defer t - :ensure t - :config - (setq treemacs-header-function #'treemacs-projectile-create-header) -) -;; Treemacs:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*misc][misc:1]] -(defun z/swap-windows () -"" -(interactive) -(ace-swap-window) -(aw-flip-window) -) -;; misc:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Haskell][Haskell:1]] -(use-package haskell-mode -:ensure t -:config -(require 'haskell-interactive-mode) -(require 'haskell-process) -(add-hook 'haskell-mode-hook 'interactive-haskell-mode) - -) -;; Haskell:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*personal%20keymap][personal keymap:1]] -;; unset C- and M- digit keys -;(dotimes (n 10) -; (global-unset-key (kbd (format "C-%d" n))) -; (global-unset-key (kbd (format "M-%d" n))) -; ) - - -(defun org-agenda-show-agenda-and-todo (&optional arg) - (interactive "P") - (org-agenda arg "c") - (org-agenda-fortnight-view)) - -(defun z/load-iorg () -(interactive ) -(find-file "~/Sync/orgfiles/i.org")) - -;; set up my own map -(define-prefix-command 'z-map) -(global-set-key (kbd "C-z") 'z-map) ;; was C-1 -(define-key z-map (kbd "k") 'compile) -(define-key z-map (kbd "c") 'hydra-multiple-cursors/body) -(define-key z-map (kbd "m") 'mu4e) -(define-key z-map (kbd "1") 'org-global-cycle) -(define-key z-map (kbd "a") 'org-agenda-show-agenda-and-todo) -(define-key z-map (kbd "g") 'counsel-ag) -(define-key z-map (kbd "2") 'make-frame-command) -(define-key z-map (kbd "0") 'delete-frame) -(define-key z-map (kbd "o") 'ace-window) - -(define-key z-map (kbd "s") 'flyspell-correct-word-before-point) -(define-key z-map (kbd "i") 'z/load-iorg) -(define-key z-map (kbd "f") 'origami-toggle-node) -(define-key z-map (kbd "w") 'z/swap-windows) -(define-key z-map (kbd "*") 'calc) - - - (setq user-full-name "Mike Zamansky" - user-mail-address "mz631@hunter.cuny.edu") - ;;-------------------------------------------------------------------------- - - - (global-set-key (kbd "\e\ei") - (lambda () (interactive) (find-file "~/Sync/orgfiles/i.org"))) - - (global-set-key (kbd "\e\el") - (lambda () (interactive) (find-file "~/Sync/orgfiles/links.org"))) - - (global-set-key (kbd "\e\ec") - (lambda () (interactive) (find-file "~/.emacs.d/myinit.org"))) - -(global-set-key (kbd "<end>") 'move-end-of-line) - -(global-set-key [mouse-3] 'flyspell-correct-word-before-point) -;; personal keymap:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Wgrep][Wgrep:1]] -(use-package wgrep -:ensure t -) -(use-package wgrep-ag -:ensure t -) -(require 'wgrep-ag) -;; Wgrep:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Silversearcher][Silversearcher:1]] -(use-package ag -:ensure t) -;; Silversearcher:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Regex][Regex:1]] -(use-package pcre2el -:ensure t -:config -(pcre-mode) -) -;; Regex:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Music][Music:1]] -(use-package simple-mpc -:ensure t) -(use-package mingus -:ensure t) -;; Music:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Atomic%20Chrome%20(edit%20in%20emacs)][Atomic Chrome (edit in emacs):1]] -(use-package atomic-chrome -:ensure t -:config (atomic-chrome-start-server)) -(setq atomic-chrome-buffer-open-style 'frame) -;; Atomic Chrome (edit in emacs):1 ends here - -;; [[file:~/.emacs.d/myinit.org::*PDF%20tools][PDF tools:1]] -(use-package pdf-tools -:ensure t) -(use-package org-pdfview -:ensure t) - -(require 'pdf-tools) -(require 'org-pdfview) -;; PDF tools:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*auto-yasnippet][auto-yasnippet:1]] -(use-package auto-yasnippet -:ensure t) -;; auto-yasnippet:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Unfill%20region%20and%20paragraph][Unfill region and paragraph:1]] -;;; Stefan Monnier <foo at acm.org>. It is the opposite of fill-paragraph - (defun unfill-paragraph (&optional region) - "Takes a multi-line paragraph and makes it into a single line of text." - (interactive (progn (barf-if-buffer-read-only) '(t))) - (let ((fill-column (point-max)) - ;; This would override `fill-column' if it's an integer. - (emacs-lisp-docstring-fill-column t)) - (fill-paragraph nil region))) - -(defun unfill-region (beg end) - "Unfill the region, joining text paragraphs into a single - logical line. This is useful, e.g., for use with - `visual-line-mode'." - (interactive "*r") - (let ((fill-column (point-max))) - (fill-region beg end))) -;; Unfill region and paragraph:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Easy%20kill][Easy kill:1]] -;; (use-package easy-kill -;; :ensure t -;; :config -;; (global-set-key [remap kill-ring-save] #'easy-kill) -;; (global-set-key [remap mark-sexp] #'easy-mark)) -;; Easy kill:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*PATH][PATH:1]] -(use-package exec-path-from-shell -:ensure t -:config -(exec-path-from-shell-initialize) -) -;; PATH:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Misc][Misc:1]] -(setq browse-url-browser-function 'browse-url-generic - browse-url-generic-program "firefox") - -(setq auto-window-vscroll nil) -;; Misc:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Keyfreq][Keyfreq:1]] -(use-package keyfreq - :ensure t - :config - (require 'keyfreq) - (keyfreq-mode 1) - (keyfreq-autosave-mode 1) - ) -;; Keyfreq:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Word%20stuff][Word stuff:1]] -(use-package dictionary - :ensure t) - -(use-package synosaurus - :ensure t) -;; Word stuff:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Ripgrep][Ripgrep:1]] -(use-package deadgrep -:ensure t) - -(use-package rg -:ensure t -:commands rg) -;; Ripgrep:1 ends here - -;; [[file:~/.emacs.d/myinit.org::*Fzf][Fzf:1]] -(use-package fzf :ensure t) -;; Fzf:1 ends here diff --git a/myinit.org b/myinit.org index a4a932dd92276d378ebb51a4e0ddd45781c83e08..5f9e3bc2df77fadab812f1685d0db2546567ec91 100644 --- a/myinit.org +++ b/myinit.org @@ -7,9 +7,29 @@ * interface tweaks #+BEGIN_SRC emacs-lisp (setq inhibit-startup-message t) + +;; use more memory before using garbage collector +(setq gc-cons-threshold 64000000) +(add-hook 'after-init-hook #'(lambda () + ;; restore after startup + (setq gc-cons-threshold 800000))) + +;; no toolbar (tool-bar-mode -1) + (fset 'yes-or-no-p 'y-or-n-p) (global-set-key (kbd "<f5>") 'revert-buffer) + +;; Show column numbers by default +(setq column-number-mode t) + +;; Disable the horrid auto-save +(setq auto-save-default nil) + +;; Enable auto-fill +(turn-on-auto-fill) +;; Disable auto-fill-mode in programming mode +(add-hook 'prog-mode-hook (lambda () (auto-fill-mode -1))) #+END_SRC * try #+BEGIN_SRC emacs-lisp @@ -309,6 +329,17 @@ :config (load-theme 'sourcerer t)) #+END_SRC +* Rainbow delimiters +#+BEGIN_SRC emacs-lisp +(use-package rainbow-delimiters + :ensure t + :init + (eval-when-compile + ;; Silence missing function warnings + (declare-function rainbow-delimiters-mode "rainbow-delimiters.el")) + (add-hook 'prog-mode-hook #'rainbow-delimiters-mode)) + +#+END_SRC * Reveal.js #+BEGIN_SRC emacs-lisp :tangle no (use-package ox-reveal @@ -948,6 +979,7 @@ : mz/make-and-run-elfeed-hydra * c++ + #+BEGIN_SRC emacs-lisp (use-package ggtags :ensure t diff --git a/projectile-bookmarks.eld b/projectile-bookmarks.eld index 90b5a8424842084975c26f2e0b85e36343909fc1..74ae8a11ca666bd6d3418a90fad9fffe6ab8d02b 100644 --- a/projectile-bookmarks.eld +++ b/projectile-bookmarks.eld @@ -1 +1 @@ -nil \ No newline at end of file +("~/using-emacs/" "~/pugs/") \ No newline at end of file