diff --git a/common/_global.el b/common/_global.el index 6f2aa3e..20d37c8 100644 --- a/common/_global.el +++ b/common/_global.el @@ -1,159 +1,159 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Packages related -(require 'package) -(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) -;(package-initialize) ; this goes in chemacs2 init -- DO NOT UNCOMMENT -(add-to-list 'package-selected-packages - '(helpful dired-rainbow dired-collapse dired-ranger dired-single all-the-icons-dired ido-completing-read+ diminish persp-mode modus-themes transpose-frame use-package) -) -(require 'use-package) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(require 'diminish) -(diminish 'rainbow-mode) ; Hide lighter from mode-line - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Setup global keys -(cua-mode 1) -(global-set-key (kbd "") 'keyboard-escape-quit) -(global-set-key (kbd "C-c m") 'menu-bar-open) -(global-set-key (kbd "C-c .") 'rotate-frame-clockwise) -(global-set-key (kbd "C-c ,") 'rotate-frame-anticlockwise) -(global-set-key (kbd "C-c u") 'toggle-truncate-lines) -(global-set-key (kbd "") 'delete-frame) -(global-set-key (kbd "C-x C-z") nil) - -;; Lookup the current symbol at point. C-c C-d is a common keybinding -;; for this in lisp modes. -(global-set-key (kbd "C-c C-d") #'helpful-at-point) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Set some global config -(setq inhibit-splash-screen t) ; why do you need to tell me things i know by default -; Turn on ido mode (useful for buffer swaps and find file completion) -(require 'ido-completing-read+) -(ido-ubiquitous-mode 1) -(setq ido-enable-flex-matching t) -(setq ido-everywhere t) -(ido-mode 1) -(setq-default tab-width 4) ; sanity! -(electric-indent-mode 0) ; return should NOT fuck with the indentation of the previous line -(setq backup-directory-alist `(("." . "~/.emacs.d/saves"))) ; Move the auto backups to a dedicated 'zone' -(setq backup-by-copying t) ; safest form of backup file creation -; Config backups so we have *more*, not less -(setq delete-old-versions t - kept-new-versions 1 - kept-old-versions 3 - version-control t -) -;; make typing delete/overwrites selected text -(delete-selection-mode 1) -;; UTF-8 as default encoding -(set-default-coding-systems 'utf-8) -(set-language-environment "UTF-8") -(set-default-coding-systems 'utf-8-unix) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; set font for emoji -- DOES NOT WORK ON MOBILE -(when (eq system-type 'windows-nt) -(set-fontset-font - t - '(#x1f300 . #x1fad0) - (cond - ((member "Noto Color Emoji" (font-family-list)) "Noto Color Emoji") - ((member "Noto Emoji" (font-family-list)) "Noto Emoji") - ((member "Segoe UI Emoji" (font-family-list)) "Segoe UI Emoji") - ((member "Symbola" (font-family-list)) "Symbola") - ((member "Apple Color Emoji" (font-family-list)) "Apple Color Emoji")) - ;; Apple Color Emoji should be before Symbola, but Richard Stallman skum disabled it. - ;; GNU Emacs Removes Color Emoji Support on the Mac - ;; http://ergoemacs.org/misc/emacs_macos_emoji.html - ;; - ) -) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; line numbers -; find major mode : M-x eval-expression [enter] major-mode -(require 'display-line-numbers) -(defcustom display-line-numbers-exempt-modes '(org-mode org-agenda-mode) - "Major modes on which to disable the linum mode, exempts them from global requirement" - :group 'display-line-numbers - :type 'list - :version "green") -(defun display-line-numbers--turn-on () - "turn on line numbers but excempting certain majore modes defined in `display-line-numbers-exempt-modes'" - (if (and - (not (member major-mode display-line-numbers-exempt-modes)) - (not (minibufferp))) - (display-line-numbers-mode))) -(global-display-line-numbers-mode) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; modus-themes setup and enable -(use-package modus-themes - :ensure - :init - (setq modus-themes-region '(no-extend) - modus-themes-fringes 'subtle - modus-themes-scale-headings t - ) - - (modus-themes-load-themes) - :config - (modus-themes-load-vivendi) -) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; persp-mode -(with-eval-after-load "persp-mode-autoloads" - (setq wg-morph-on nil) ;; switch off animation - (setq persp-autokill-buffer-on-remove 'kill-weak) - (add-hook 'window-setup-hook #'(lambda () (persp-mode 1)))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; better dired behaviors -(setq dired-listing-switches "-agho --group-directories-first" - dired-omit-files "^\\.[^.].*" - dired-omit-verbose nil - dired-hide-details-hide-symlink-targets nil) - -(autoload 'dired-omit-mode "dired-x") - -(require 'dired-collapse) -(add-hook 'dired-load-hook - (lambda () - (interactive) - (dired-collapse))) - -(add-hook 'dired-mode-hook - (lambda () - (interactive) - (dired-omit-mode 1) - (dired-hide-details-mode 1) - (hl-line-mode 1))) - -(use-package dired-rainbow - :config - (progn - (dired-rainbow-define-chmod directory "#6cb2eb" "d.*") - (dired-rainbow-define html "#eb5286" ("css" "less" "sass" "scss" "htm" "html" "jhtm" "mht" "eml" "mustache" "xhtml")) - (dired-rainbow-define xml "#f2d024" ("xml" "xsd" "xsl" "xslt" "wsdl" "bib" "json" "msg" "pgn" "rss" "yaml" "yml" "rdata")) - (dired-rainbow-define document "#9561e2" ("docm" "doc" "docx" "odb" "odt" "pdb" "pdf" "ps" "rtf" "djvu" "epub" "odp" "ppt" "pptx")) - (dired-rainbow-define markdown "#ffed4a" ("org" "etx" "info" "markdown" "md" "mkd" "nfo" "pod" "rst" "tex" "textfile" "txt")) - (dired-rainbow-define database "#6574cd" ("xlsx" "xls" "csv" "accdb" "db" "mdb" "sqlite" "nc")) - (dired-rainbow-define media "#de751f" ("mp3" "mp4" "mkv" "MP3" "MP4" "avi" "mpeg" "mpg" "flv" "ogg" "mov" "mid" "midi" "wav" "aiff" "flac")) - (dired-rainbow-define image "#f66d9b" ("tiff" "tif" "cdr" "gif" "ico" "jpeg" "jpg" "png" "psd" "eps" "svg")) - (dired-rainbow-define log "#c17d11" ("log")) - (dired-rainbow-define shell "#f6993f" ("awk" "bash" "bat" "sed" "sh" "zsh" "vim")) - (dired-rainbow-define interpreted "#38c172" ("py" "ipynb" "rb" "pl" "t" "msql" "mysql" "pgsql" "sql" "r" "clj" "cljs" "scala" "js")) - (dired-rainbow-define compiled "#4dc0b5" ("asm" "cl" "lisp" "el" "c" "h" "c++" "h++" "hpp" "hxx" "m" "cc" "cs" "cp" "cpp" "go" "f" "for" "ftn" "f90" "f95" "f03" "f08" "s" "rs" "hi" "hs" "pyc" ".java")) - (dired-rainbow-define executable "#8cc4ff" ("exe" "msi")) - (dired-rainbow-define compressed "#51d88a" ("7z" "zip" "bz2" "tgz" "txz" "gz" "xz" "z" "Z" "jar" "war" "ear" "rar" "sar" "xpi" "apk" "xz" "tar")) - (dired-rainbow-define packaged "#faad63" ("deb" "rpm" "apk" "jad" "jar" "cab" "pak" "pk3" "vdf" "vpk" "bsp")) - (dired-rainbow-define encrypted "#ffed4a" ("gpg" "pgp" "asc" "bfe" "enc" "signature" "sig" "p12" "pem")) - (dired-rainbow-define fonts "#6cb2eb" ("afm" "fon" "fnt" "pfb" "pfm" "ttf" "otf")) - (dired-rainbow-define partition "#e3342f" ("dmg" "iso" "bin" "nrg" "qcow" "toast" "vcd" "vmdk" "bak")) - (dired-rainbow-define vc "#0074d9" ("git" "gitignore" "gitattributes" "gitmodules")) - (dired-rainbow-define-chmod executable-unix "#38c172" "-.*x.*") -)) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Packages related +(require 'package) +(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) +;(package-initialize) ; this goes in chemacs2 init -- DO NOT UNCOMMENT +(add-to-list 'package-selected-packages + '(helpful dired-rainbow dired-collapse dired-ranger dired-single all-the-icons-dired ido-completing-read+ diminish persp-mode modus-themes transpose-frame use-package) +) +(require 'use-package) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(require 'diminish) +(diminish 'rainbow-mode) ; Hide lighter from mode-line + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Setup global keys +(cua-mode 1) +(global-set-key (kbd "") 'keyboard-escape-quit) +(global-set-key (kbd "C-c m") 'menu-bar-open) +(global-set-key (kbd "C-c .") 'rotate-frame-clockwise) +(global-set-key (kbd "C-c ,") 'rotate-frame-anticlockwise) +(global-set-key (kbd "C-c u") 'toggle-truncate-lines) +(global-set-key (kbd "") 'delete-frame) +(global-set-key (kbd "C-x C-z") nil) + +;; Lookup the current symbol at point. C-c C-d is a common keybinding +;; for this in lisp modes. +(global-set-key (kbd "C-c C-d") #'helpful-at-point) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Set some global config +(setq inhibit-splash-screen t) ; why do you need to tell me things i know by default +; Turn on ido mode (useful for buffer swaps and find file completion) +(require 'ido-completing-read+) +(ido-ubiquitous-mode 1) +(setq ido-enable-flex-matching t) +(setq ido-everywhere t) +(ido-mode 1) +(setq-default tab-width 4) ; sanity! +(electric-indent-mode 0) ; return should NOT fuck with the indentation of the previous line +(setq backup-directory-alist `(("." . "~/.emacs.d/saves"))) ; Move the auto backups to a dedicated 'zone' +(setq backup-by-copying t) ; safest form of backup file creation +; Config backups so we have *more*, not less +(setq delete-old-versions t + kept-new-versions 1 + kept-old-versions 3 + version-control t +) +;; make typing delete/overwrites selected text +(delete-selection-mode 1) +;; UTF-8 as default encoding +(set-default-coding-systems 'utf-8) +(set-language-environment "UTF-8") +(set-default-coding-systems 'utf-8-unix) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; set font for emoji -- DOES NOT WORK ON MOBILE +(when (eq system-type 'windows-nt) +(set-fontset-font + t + '(#x1f300 . #x1fad0) + (cond + ((member "Noto Color Emoji" (font-family-list)) "Noto Color Emoji") + ((member "Noto Emoji" (font-family-list)) "Noto Emoji") + ((member "Segoe UI Emoji" (font-family-list)) "Segoe UI Emoji") + ((member "Symbola" (font-family-list)) "Symbola") + ((member "Apple Color Emoji" (font-family-list)) "Apple Color Emoji")) + ;; Apple Color Emoji should be before Symbola, but Richard Stallman skum disabled it. + ;; GNU Emacs Removes Color Emoji Support on the Mac + ;; http://ergoemacs.org/misc/emacs_macos_emoji.html + ;; + ) +) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; line numbers +; find major mode : M-x eval-expression [enter] major-mode +(require 'display-line-numbers) +(defcustom display-line-numbers-exempt-modes '(org-mode org-agenda-mode) + "Major modes on which to disable the linum mode, exempts them from global requirement" + :group 'display-line-numbers + :type 'list + :version "green") +(defun display-line-numbers--turn-on () + "turn on line numbers but excempting certain majore modes defined in `display-line-numbers-exempt-modes'" + (if (and + (not (member major-mode display-line-numbers-exempt-modes)) + (not (minibufferp))) + (display-line-numbers-mode))) +(global-display-line-numbers-mode) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; modus-themes setup and enable +(use-package modus-themes + :ensure + :init + (setq modus-themes-region '(no-extend) + modus-themes-fringes 'subtle + modus-themes-scale-headings t + ) + + (modus-themes-load-themes) + :config + (modus-themes-load-vivendi) +) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; persp-mode +(with-eval-after-load "persp-mode-autoloads" + (setq wg-morph-on nil) ;; switch off animation + (setq persp-autokill-buffer-on-remove 'kill-weak) + (add-hook 'window-setup-hook #'(lambda () (persp-mode 1)))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; better dired behaviors +(setq dired-listing-switches "-agho --group-directories-first" + dired-omit-files "^\\.[^.].*" + dired-omit-verbose nil + dired-hide-details-hide-symlink-targets nil) + +(autoload 'dired-omit-mode "dired-x") + +(require 'dired-collapse) +(add-hook 'dired-load-hook + (lambda () + (interactive) + (dired-collapse))) + +(add-hook 'dired-mode-hook + (lambda () + (interactive) + (dired-omit-mode 1) + (dired-hide-details-mode 1) + (hl-line-mode 1))) + +(use-package dired-rainbow + :config + (progn + (dired-rainbow-define-chmod directory "#6cb2eb" "d.*") + (dired-rainbow-define html "#eb5286" ("css" "less" "sass" "scss" "htm" "html" "jhtm" "mht" "eml" "mustache" "xhtml")) + (dired-rainbow-define xml "#f2d024" ("xml" "xsd" "xsl" "xslt" "wsdl" "bib" "json" "msg" "pgn" "rss" "yaml" "yml" "rdata")) + (dired-rainbow-define document "#9561e2" ("docm" "doc" "docx" "odb" "odt" "pdb" "pdf" "ps" "rtf" "djvu" "epub" "odp" "ppt" "pptx")) + (dired-rainbow-define markdown "#ffed4a" ("org" "etx" "info" "markdown" "md" "mkd" "nfo" "pod" "rst" "tex" "textfile" "txt")) + (dired-rainbow-define database "#6574cd" ("xlsx" "xls" "csv" "accdb" "db" "mdb" "sqlite" "nc")) + (dired-rainbow-define media "#de751f" ("mp3" "mp4" "mkv" "MP3" "MP4" "avi" "mpeg" "mpg" "flv" "ogg" "mov" "mid" "midi" "wav" "aiff" "flac")) + (dired-rainbow-define image "#f66d9b" ("tiff" "tif" "cdr" "gif" "ico" "jpeg" "jpg" "png" "psd" "eps" "svg")) + (dired-rainbow-define log "#c17d11" ("log")) + (dired-rainbow-define shell "#f6993f" ("awk" "bash" "bat" "sed" "sh" "zsh" "vim")) + (dired-rainbow-define interpreted "#38c172" ("py" "ipynb" "rb" "pl" "t" "msql" "mysql" "pgsql" "sql" "r" "clj" "cljs" "scala" "js")) + (dired-rainbow-define compiled "#4dc0b5" ("asm" "cl" "lisp" "el" "c" "h" "c++" "h++" "hpp" "hxx" "m" "cc" "cs" "cp" "cpp" "go" "f" "for" "ftn" "f90" "f95" "f03" "f08" "s" "rs" "hi" "hs" "pyc" ".java")) + (dired-rainbow-define executable "#8cc4ff" ("exe" "msi")) + (dired-rainbow-define compressed "#51d88a" ("7z" "zip" "bz2" "tgz" "txz" "gz" "xz" "z" "Z" "jar" "war" "ear" "rar" "sar" "xpi" "apk" "xz" "tar")) + (dired-rainbow-define packaged "#faad63" ("deb" "rpm" "apk" "jad" "jar" "cab" "pak" "pk3" "vdf" "vpk" "bsp")) + (dired-rainbow-define encrypted "#ffed4a" ("gpg" "pgp" "asc" "bfe" "enc" "signature" "sig" "p12" "pem")) + (dired-rainbow-define fonts "#6cb2eb" ("afm" "fon" "fnt" "pfb" "pfm" "ttf" "otf")) + (dired-rainbow-define partition "#e3342f" ("dmg" "iso" "bin" "nrg" "qcow" "toast" "vcd" "vmdk" "bak")) + (dired-rainbow-define vc "#0074d9" ("git" "gitignore" "gitattributes" "gitmodules")) + (dired-rainbow-define-chmod executable-unix "#38c172" "-.*x.*") +)) diff --git a/emacs.md b/emacs.md index 655b04c..42cfccf 100644 --- a/emacs.md +++ b/emacs.md @@ -1,98 +1,98 @@ -git clone https://github.com/plexus/chemacs2.git ~/.emacs.d (%appdata% on windows) - -M-x describe-variable RET user-init-file RET - -uncomment the package init line in the appropriate init file(s) - -cat > ~/.emacs-profiles.el < ~/.emacs.d.profiles/[profile]/init.el< ~/.emacs-profiles.el < ~/.emacs.d.profiles/[profile]/init.el<