X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=386ad6ab289e49ff2a00988ec17a981a33012188;hb=b662f58bf2771962ebfa2e5a4cd4a22c3a948ffb;hp=300360dff142f6f2d7101f4564aa6c0868c0f0d0;hpb=4f7dacd8e53c72f93d9df16617db8e7a0d2da238;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 300360d..386ad6a 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -437,7 +437,7 @@ Revised powerline-center-theme :group 'powerline) ;; Don't show buffer modified for scratch and eshell mode - (defun sd/buffer-show-modified () + (defun sd/buffer-is-eshel-or-scratch () "Dot not show modified indicator for buffers" (interactive) (unless (or (string-match "*scratch*" (buffer-name)) @@ -454,7 +454,7 @@ Revised powerline-center-theme (mode-line-buffer-id (if active 'sd/mode-line-buffer-id 'mode-line-buffer-id-inactive)) (mode-line (if active 'mode-line 'mode-line-inactive)) (my-face1 (if active 'sd/powerline-active1 'powerline-inactive1)) - (my-face-buffer-modified (if (and (sd/buffer-show-modified) (buffer-modified-p)) + (my-face-buffer-modified (if (and (sd/buffer-is-eshel-or-scratch) (buffer-modified-p) (not buffer-read-only)) 'sd/buffer-modified-active1 (if buffer-read-only 'sd/buffer-view-active1 my-face1))) @@ -904,15 +904,11 @@ Setting agenda files and the agenda view #+END_SRC ** Export PDF - -Install MacTex-basic and some tex packages - -#+BEGIN_SRC bash - +Install MacTex-basic [[http://www.tug.org/mactex/morepackages.html][MacTex-basic]] and some tex packages +#+BEGIN_SRC sh sudo tlmgr update --self sudo tlmgr install titlesec framed threeparttable wrapfig multirow enumitem bbding titling tabu mdframed tcolorbox textpos import varwidth needspace tocloft ntheorem environ trimspaces collection-fontsrecommended capt-of - #+END_SRC #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -1014,6 +1010,8 @@ and Defined keys, using vi keybindings, Refer abo-abo's setting [[https://github :init ;; don't ask me to confirm the unsaved change (setq magit-save-repository-buffers nil) + ;; default is 50 + (setq git-commit-summary-max-length 80) :commands magit-status magit-blame :config (dolist (map (list magit-status-mode-map @@ -1329,7 +1327,10 @@ When see function by =C-h f=, and visit the source code, I would like the buffer '((nil . ((buffer-read-only . t) (show-trailing-whitespace . nil) (tab-width . 8) - (eval . (whitespace-mode -1)))))) + (eval . (whitespace-mode -1)) + (eval . (when buffer-file-name + (setq-local view-no-disable-on-exit t) + (view-mode-enter))))))) ;; (dir-locals-set-directory-class (expand-file-name "/usr/local/share/emacs") 'emacs) (dir-locals-set-directory-class "/usr/local/Cellar/emacs" 'emacs) @@ -1342,6 +1343,10 @@ When see function by =C-h f=, and visit the source code, I would like the buffer #+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+) + ) + + (with-eval-after-load 'info (require 'info+)) #+END_SRC @@ -1401,7 +1406,7 @@ Color for Man-mode #+END_SRC ** pdf-tools -#+BEGIN_SRC bash +#+BEGIN_SRC sh brew install poppler #+END_SRC @@ -1413,6 +1418,11 @@ Color for Man-mode (pdf-tools-install) :config (add-to-list 'auto-mode-alist '("\.pdf$" . pdf-view-mode)) + (add-hook 'pdf-outline-buffer-mode-hook #'sd/pdf-outline-map)) + + (defun sd/pdf-outline-map () + "My keybindings in pdf-outline-map" + (interactive) (define-key pdf-outline-buffer-mode-map (kbd "C-o") nil) (define-key pdf-outline-buffer-mode-map (kbd "i") 'outline-toggle-children) (define-key pdf-outline-buffer-mode-map (kbd "j") 'next-line) @@ -1423,6 +1433,11 @@ Color for Man-mode ** Dired config =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 + (defun sd/dired-new-file () + "Create a new file in dired mode" + (interactive) + (call-interactively 'find-file)) + (defun sd/dired-key-map () "My keybindings for dired" (interactive) @@ -1432,7 +1447,8 @@ Color for Man-mode (define-key dired-mode-map (kbd "M-s") nil) (define-key dired-mode-map (kbd "l") 'dired-isearch-filenames) (define-key dired-mode-map (kbd "H") 'dired-omit-mode) - (define-key dired-mode-map (kbd "DEL") (lambda () (interactive) (find-alternate-file "..")))) + (define-key dired-mode-map (kbd "DEL") (lambda () (interactive) (find-alternate-file ".."))) + (define-key dired-mode-map (kbd "c") 'sd/dired-new-file)) (use-package dired :config @@ -1442,6 +1458,53 @@ Color for Man-mode (add-hook 'dired-mode-hook (lambda () (sd/dired-key-map) (dired-omit-mode)))) + + (setq dired-guess-shell-alist-user + '(("\\.pdf\\'" "evince" "okular") + ("\\.\\(?:djvu\\|eps\\)\\'" "evince") + ("\\.\\(?:jpg\\|jpeg\\|png\\|gif\\|xpm\\)\\'" "eog") + ("\\.\\(?:xcf\\)\\'" "gimp") + ("\\.csv\\'" "libreoffice") + ("\\.tex\\'" "pdflatex" "latex") + ("\\.\\(?:mp4\\|mkv\\|avi\\|flv\\|ogv\\)\\(?:\\.part\\)?\\'" + "vlc") + ("\\.\\(?:mp3\\|flac\\)\\'" "rhythmbox") + ("\\.html?\\'" "firefox") + ("\\.cue?\\'" "audacious"))) + +#+END_SRC + +I would like change the default dired summary +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (defadvice dired-summary (around sd/dired-summary activate) + "Revisied dired summary." + (interactive) + (dired-why) + (message + "Δ: d-delete, u-ndelete, x-punge, f-ind, o-ther window, R-ename, C-opy, c-create, +new dir, ?-summary")) +#+END_SRC + +When create a new directory, I want to disalbe =ido= completion. see [[http://stackoverflow.com/questions/7479565/emacs-ido-mode-and-creating-new-files-in-directories-it-keeps-changing-the-dire][here]]. Thhis code snippets copied +from [[https://emacs.stackexchange.com/questions/13713/how-to-disable-ido-in-dired-create-directory/13795#13795?newreg%3Ddb17c20f7af3490fb11cf15f1d888e9e][How to disable IDO in ‘dired-create-directory’]] +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (defun mk-anti-ido-advice (func &rest args) + "Temporarily disable IDO and call function FUNC with arguments ARGS." + (interactive) + (let ((read-file-name-function #'read-file-name-default)) + (if (called-interactively-p 'any) + (call-interactively func) + (apply func args)))) + + (defun mk-disable-ido (command) + "Disable IDO when command COMMAND is called." + (advice-add command :around #'mk-anti-ido-advice)) +#+END_SRC + +Disalble =ido= when new a directory or file in =dired= mode +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + ;; call the function which you want to disable ido + (mk-disable-ido 'dired-create-directory) + (mk-disable-ido 'sd/dired-new-file) #+END_SRC ** Dired+ @@ -2251,7 +2314,11 @@ toggle the mark ring. the best way is add a new action and mapping to =helm-sour since there is no map such as =helm-mark-ring=map=, so I cannot binding a key to the quit action. #+BEGIN_SRC emacs-lisp :tangle yes :results silent (setq mark-ring-max 50) - (global-set-key (kbd "M-`") #'helm-mark-ring) + + (use-package helm + :ensure t + :init + (global-set-key (kbd "M-`") #'helm-mark-ring)) (define-key minibuffer-local-map (kbd "M-`") 'keyboard-escape-quit) #+END_SRC @@ -2310,10 +2377,8 @@ Search, replace and hightlight will in later paragraph *** =Imenu= goto tag #+BEGIN_SRC emacs-lisp :tangle yes :results silent - ;; (global-set-key (kbd "M-i") #'counsel-imenu) - (global-set-key (kbd "M-i") #'imenu) - - ;; (global-set-key (kbd "M-l") 'goto-line) + (global-set-key (kbd "M-i") #'counsel-imenu) + ;; (global-set-key (kbd "M-i") #'imenu) #+END_SRC *** Go-to line @@ -2333,7 +2398,11 @@ Search, replace and hightlight will in later paragraph =helm-show-kill-ring= #+BEGIN_SRC emacs-lisp :tangle yes :results silent (setq kill-ring-max 100) ; default is 60p - (global-set-key (kbd "M-y") #'helm-show-kill-ring) + + (use-package helm + :ensure t + :init + (global-set-key (kbd "M-y") #'helm-show-kill-ring)) #+END_SRC *** undo-tree