(setq auto-save-default nil)
;; restore last session
- (desktop-save-mode t)
+ ;; (desktop-save-mode t)
#+END_SRC
* Package Management Tools
(define-key map (kbd "C-j") #'ido-exit-target-split-window-right)
(define-key map (kbd "C-k") #'ido-exit-target-split-window-below))
(list ido-buffer-completion-map
- ido-common-completion-map
+ ;; ido-common-completion-map
ido-file-completion-map
ido-file-dir-completion-map)))
#+END_SRC
("C-'" mode-line-other-buffer "last buffer" :exit t)
("m" man "man" :exit t)
("d" dired-jump "dired" :exit t)
+ ("b" ibuffer "ibuffer" :exit t)
("q" nil "quit")
("f" nil "quit"))
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
;; (el-get-bundle howardabrams/demo-it)
- ;; (use-package org-tree-slide
- ;; :ensure t)
+ (use-package org-tree-slide
+ :ensure t)
;; (use-package yasnippet
;; :ensure t)
#+END_SRC
+** Presentation
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package org-tree-slide
+ :ensure
+ :config
+ ;; (define-key org-mode-map "\C-ccp" 'org-tree-slide-mode)
+ (define-key org-tree-slide-mode-map (kbd "<ESC>") 'org-tree-slide-content)
+ (define-key org-tree-slide-mode-map (kbd "<SPACE>") 'org-tree-slide-move-next-tree)
+ (define-key org-tree-slide-mode-map [escape] 'org-tree-slide-move-previous-tree))
+#+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)))
-
- (define-key dired-mode-map (kbd "DEL") (lambda () (interactive) (find-alternate-file "..")))
+ (use-package dired
+ :config
+ (require 'dired-x)
+ (setq dired-omit-mode t)
+ (setq dired-omit-files (concat dired-omit-files "\\|^\\..+$"))
+ (add-hook 'dired-mode-hook (lambda ()
+ (define-key dired-mode-map (kbd "C-o") nil)
+ (define-key dired-mode-map (kbd "H") 'dired-omit-mode)
+ (define-key dired-mode-map (kbd "DEL") (lambda () (interactive) (find-alternate-file "..")))
+ (dired-omit-mode))))
#+END_SRC
Dired+
#+END_SRC
** Compile
-
Set the environments vairables in compilation mode
-
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
(use-package compile
:commands compile
:config
(setq compilation-environment (cons "LC_ALL=C" compilation-environment)))
+ ;; super-r to compile
+ (with-eval-after-load "compile"
+ (define-key compilation-mode-map (kbd "C-o") nil)
+ (define-key compilation-mode-map (kbd "n") 'compilation-next-error)
+ (define-key compilation-mode-map (kbd "p") 'compilation-previous-error)
+ (define-key compilation-mode-map (kbd "r") #'recompile))
#+END_SRC
** Auto-Insert
-
-Enable auto-insert mode
-
+*** Enable auto-insert mode
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
(auto-insert-mode t)
(setq auto-insert-query nil)
-
#+END_SRC
*** C++ Auto Insert
#+END_SRC
+*** Elisp
+Emacs lisp auto-insert, based on the default module in =autoinsert.el=, but replace =completing-read= as
+=completing-read-ido-ubiquitous= to fix the edge case of that =ido= cannot handle.
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (eval-after-load 'autoinsert
+ '(define-auto-insert '("\\.el\\'" . "my Emacs Lisp header")
+ '(
+ "Short description: "
+ ";;; " (file-name-nondirectory (buffer-file-name)) " --- " str
+ (make-string (max 2 (- 80 (current-column) 27)) ?\s)
+ "-*- lexical-binding: t; -*-" '(setq lexical-binding t)
+ "
+ ;; Copyright (C) " (format-time-string "%Y") " "
+ (getenv "ORGANIZATION") | (progn user-full-name) "
+ ;; Author: " (user-full-name)
+ '(if (search-backward "&" (line-beginning-position) t)
+ (replace-match (capitalize (user-login-name)) t t))
+ '(end-of-line 1) " <" (progn user-mail-address) ">
+ ;; Keywords: "
+ '(require 'finder)
+ ;;'(setq v1 (apply 'vector (mapcar 'car finder-known-keywords)))
+ '(setq v1 (mapcar (lambda (x) (list (symbol-name (car x))))
+ finder-known-keywords)
+ v2 (mapconcat (lambda (x) (format "%12s: %s" (car x) (cdr x)))
+ finder-known-keywords
+ "\n"))
+ ((let ((minibuffer-help-form v2))
+ (completing-read-ido-ubiquitous "Keyword, C-h: " v1 nil t))
+ str ", ") & -2 "
+ \;; This program is free software; you can redistribute it and/or modify
+ \;; it under the terms of the GNU General Public License as published by
+ \;; the Free Software Foundation, either version 3 of the License, or
+ \;; (at your option) any later version.
+ \;; This program is distributed in the hope that it will be useful,
+ \;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+ \;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ \;; GNU General Public License for more details.
+ \;; You should have received a copy of the GNU General Public License
+ \;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+ \;;; Commentary:
+ \;; " _ "
+ \;;; Code:
+ \(provide '"
+ (file-name-base)
+ ")
+ \;;; " (file-name-nondirectory (buffer-file-name)) " ends here\n")))
+#+END_SRC
+
** Completion
company mode
- passion
- vision
- mission
+* TODO Convert ASCII to key
+map =function-key-map= [[http://academic.evergreen.edu/projects/biophysics/technotes/program/ascii_ctrl.htm][ascii_ctrl]]
+new file =C-x C-f C-f=