Some global bindings on =Super=, on Mac, it is =Command=
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
(global-set-key (kbd "s-h") 'keyboard-quit)
(global-set-key (kbd "s-j") 'ido-switch-buffer)
(global-set-key (kbd "s-k") 'ido-find-file)
(global-set-key (kbd "s-n") 'persp-next)
(global-set-key (kbd "s-p") 'persp-prev)
+ (global-set-key (kbd "s-=") 'text-scale-increase)
+ (global-set-key (kbd "s--") 'text-scale-decrease)
;; someothers default mapping on super (command) key
* Eshell
*** Eshell alias
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (defalias 'e 'ido-find-file)
- (defalias 'ff 'ido-find-file)
- (defalias 'ee 'ido-find-file-other-window)
+ (defalias 'e 'find-file)
+ (defalias 'ff 'find-file)
+ (defalias 'ee 'find-files)
#+END_SRC
*** Eshell erase buffer
(global-set-key (kbd "M-`") 'sd/toggle-eshell-here)
#+END_SRC
+*** TODO smart display
* Misc Settings
** [[https://github.com/abo-abo/hydra][Hydra]]
#+END_SRC
+*** hydra misc
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (defhydra sd/hydra-misc ()
+ "Miscellaneous Commands"
+ ("e" eshell "eshell" :color red :exit t)
+ ("p" (lambda ()
+ (interactive)
+ (if (sd/buffer-exist "*Packages*")
+ (switch-to-buffer "*Packages*")
+ (package-list-packages)))
+ "list-package" :color red :exit t)
+ ("g" magit-status "git-status" :color red :exit t))
+#+END_SRC
+
+*** hydra launcher
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (defhydra hydra-launcher (:color blue :columns 2)
+ "Launch"
+ ("h" man "man")
+ ("s" eshell "eshell")
+ ("p" package-list-packages "Package")
+ ("q" nil "cancel"))
+#+END_SRC
+
** Line Number
Enable linum mode on programming modes
#+END_SRC
+** dired
+=C-o= is defined as a global key for window operation, here unset it in dired mode
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (add-hook 'dired-mode-hook (lambda ()
+ (local-unset-key (kbd "C-o"))
+ (local-set-key (kbd "o") 'dired-display-file)))
+#+END_SRC
+
+** Info plus
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (el-get-bundle info+
+ :url "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/master/info+.el"
+ (require 'info+))
+#+END_SRC
+
+** TODO bookmark
+
+** TODO Calendar
+
* Programming
** Languages
#+END_SRC
-* Todo
+* Markdown mode
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package markdown-mode
+ :ensure t
+ :commands (markdown-mode gfm-mode)
+ :mode (("README\\.md\\'" . gfm-mode)
+ ("\\.md\\'" . markdown-mode)
+ ("\\.markdown\\'" . markdown-mode))
+ :init (setq markdown-command "multimarkdown"))
+#+END_SRC
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package markdown-preview-eww
+ :ensure t)
+#+END_SRC
+
+* Gnus
+Refer [[https://www.emacswiki.org/emacs/GnusGmail][GnusGmail]]
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (setq user-mail-address "seudut@gmail.com"
+ user-full-name "Peng Li")
+
+ (setq gnus-select-method
+ '(nnimap "gmail"
+ (nnimap-address "imap.gmail.com")
+ (nnimap-server-port "imaps")
+ (nnimap-stream ssl)))
+
+ (setq smtpmail-smtp-service 587
+ gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]")
+
+ ;; Use gmail sending mail
+ (setq message-send-mail-function 'smtpmail-send-it
+ smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
+ smtpmail-auth-credentials '(("smtp.gmail.com" 587 "seudut@gmail.com" nil))
+ smtpmail-default-smtp-server "smtp.gmail.com"
+ smtpmail-smtp-server "smtp.gmail.com"
+ smtpmail-smtp-service 587
+ starttls-use-gnutls t)
+#+END_SRC
+
+And put the following in =~/.authinfo= file, replacing =<USE>= with your email address
+and =<PASSWORD>= with the password
+#+BEGIN_EXAMPLE
+ machine imap.gmail.com login <USER> password <PASSWORD> port imaps
+ machine smtp.gmail.com login <USER> password <PASSWORD> port 587
+#+END_EXAMPLE
+
+Then Run =M-x gnus=
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (setq gnus-fetch-old-headers 't)
-- change M-o to trigger to delete other windows and restore previous config
+
+ (setq gnus-extract-address-components
+ 'mail-extract-address-components)
+
+ (setq gnus-summary-line-format "%U%R%z%I%(%[%-20,20f%]%) %s%-67= %11&user-date;\n")
+ (setq gnus-user-date-format-alist '(((gnus-seconds-today) . "%H:%M")
+ ((+ 86400 (gnus-seconds-today)) . "%a %H:%M")
+ (604800 . "%a, %b %-d")
+ (15778476 . "%b %-d")
+ (t . "%Y-%m-%d")))
+#+END_SRC
+
+* key
+- passion
+- vision
+- mission