Top | Wiki | Blog | Github  

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
emacs:init.el [2017/09/03 08:11]
takaxp
emacs:init.el [2017/09/08 06:41] (現在)
takaxp
ライン 2: ライン 2:
  
 ===== はじめに ===== ===== はじめに =====
-:​PROPERTIES:​ 
-:ID:       ​7F29D5C2-C191-4AF9-AA12-71D557CC4D9A 
-:END: 
  
   * この文章は,[[https://​gist.github.com/​1369417|org2dokuwiki.pl]]を使って生成しています.   * この文章は,[[https://​gist.github.com/​1369417|org2dokuwiki.pl]]を使って生成しています.
ライン 14: ライン 11:
  
 ===== 基本設定 ===== ===== 基本設定 =====
-:​PROPERTIES:​ 
-:ID:       ​4DECDFAA-B7A1-4191-B41B-144913A382BF 
-:END: 
  
 この設定群を利用するために設定です.一部の関数は記述しておかないと動かない可能性があります. この設定群を利用するために設定です.一部の関数は記述しておかないと動かない可能性があります.
  
 ==== init.el のヘッダ ==== ==== init.el のヘッダ ====
-:​PROPERTIES:​ +
-:ID:       ​5F3929A1-444F-4674-BD81-7A5E8CBEE787 +
-:END:+
  
 <code emacs-lisp>​ <code emacs-lisp>​
ライン 450: ライン 442:
  
 ===== コア設定 ===== ===== コア設定 =====
-:​PROPERTIES:​ 
-:ID:       ​1C3F08FC-FA31-447B-BD55-3E47C9FDB072 
-:END: 
  
 Emacs を操作して文書編集する上で欠かせない設定です. Emacs を操作して文書編集する上で欠かせない設定です.
ライン 960: ライン 949:
  
 ===== カーソル移動 ===== ===== カーソル移動 =====
-:​PROPERTIES:​ 
-:ID:       ​EA964A06-2A41-40B4-9936-C59CE2E43AE5 
-:END: 
  
 カーソルの移動は,次のポリシーに従っています.デフォルトでは <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​C-v/​M-v</​span></​html>​ で上下移動になっていますが, <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​M-v</​span></​html>​ は windows のペーストに対応するので混乱を招くので使っていません.ページスクロールは標準の <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​cua-base.el</​span></​html>​ に記載されています. カーソルの移動は,次のポリシーに従っています.デフォルトでは <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​C-v/​M-v</​span></​html>​ で上下移動になっていますが, <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​M-v</​span></​html>​ は windows のペーストに対応するので混乱を招くので使っていません.ページスクロールは標準の <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​cua-base.el</​span></​html>​ に記載されています.
ライン 1235: ライン 1221:
   (when (require '​syntax-subword nil t)   (when (require '​syntax-subword nil t)
     (global-syntax-subword-mode 1)))     (global-syntax-subword-mode 1)))
 +</​code>​
 +
 +==== [goto-chg.el] 編集箇所を簡単に辿る ====
 +
 +編集結果を保持したまま編集箇所にカーソルを移すことができます.<​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​C-/</​span></​html>​ の Undo のような操作で,簡単かつ高速にカーソルを移動できます.
 +
 +  * =helm-config= の後に呼んでいるのは,Emacs起動時の単純な高速化対策です.
 +
 +<code emacs-lisp>​
 +(with-eval-after-load "​helm-config"​
 +  (when (require '​goto-chg nil t)
 +    (global-set-key (kbd "​C-,"​) '​goto-last-change)
 +    (global-set-key (kbd "​C-."​) '​goto-last-change-reverse)
 +
 +    (with-eval-after-load "​flyspell"​
 +      (define-key flyspell-mode-map (kbd "​C-,"​) '​goto-last-change)
 +      (define-key flyspell-mode-map (kbd "​C-."​) '​goto-last-change-reverse))))
 </​code>​ </​code>​
  
 ===== 編集サポート ===== ===== 編集サポート =====
-:​PROPERTIES:​ +
-:ID:       ​9F985F7F-81DD-4A68-A61F-31ECF814DF58 +
-:END:+
 ==== 矩形編集/連番入力 ==== ==== 矩形編集/連番入力 ====
  
ライン 1512: ライン 1513:
     (push '​("​\\.markdown$"​ . markdown-mode) auto-mode-alist)     (push '​("​\\.markdown$"​ . markdown-mode) auto-mode-alist)
     (push '​("​\\.md$"​ . markdown-mode) auto-mode-alist))     (push '​("​\\.md$"​ . markdown-mode) auto-mode-alist))
 +</​code>​
 +
 +==== cmakeモード ====
 +
 +<code emacs-lisp>​
 +  (if (executable-find "​cmake"​)
 +      (when (autoload-if-found
 +             '​(cmake-mode)
 +             "​cmake-mode"​ nil t)
 +
 +        (add-to-list '​auto-mode-alist '​("​CMakeLists\\.txt\\'"​ . cmake-mode))
 +        (add-to-list '​auto-mode-alist '​("​\\.cmake\\'"​ . cmake-mode)))
 +    (message "--- cmake is NOT installed."​))
 </​code>​ </​code>​
  
ライン 2297: ライン 2311:
  
 ===== 表示サポート ===== ===== 表示サポート =====
-:​PROPERTIES:​ +
-:ID:       ​A4124093-F87D-45C9-82B0-3EE3E0B830E8 +
-:END:+
 ==== モードラインのモード名を短くする ==== ==== モードラインのモード名を短くする ====
  
ライン 2311: ライン 2323:
 <code emacs-lisp>​ <code emacs-lisp>​
   (when (require '​diminish nil t)   (when (require '​diminish nil t)
-    (with-eval-after-load "​ggtags"​ (diminish '​ggtags-mode " ​GG"))+    (with-eval-after-load "​ggtags"​ (diminish '​ggtags-mode " ​G"))
     (with-eval-after-load "​orgstruct"​ (diminish '​orgstruct-mode " OrgS"​))     (with-eval-after-load "​orgstruct"​ (diminish '​orgstruct-mode " OrgS"​))
     (with-eval-after-load "​centered-cursor-mode"​     (with-eval-after-load "​centered-cursor-mode"​
ライン 2348: ライン 2360:
   (add-hook '​c++-mode-hook #'​(lambda () (setq mode-name "​C++"​)))   (add-hook '​c++-mode-hook #'​(lambda () (setq mode-name "​C++"​)))
   (add-hook '​csharp-mode-hook #'​(lambda () (setq mode-name "​C#"​)))   (add-hook '​csharp-mode-hook #'​(lambda () (setq mode-name "​C#"​)))
-  (add-hook '​prog-mode-hook #'​(lambda () (setq mode-name "S"))) +  (add-hook '​prog-mode-hook #'​(lambda () (setq mode-name "Pr"))) 
-  (add-hook '​emacs-lisp-mode-hook #'​(lambda () (setq mode-name "el"))) +  (add-hook '​emacs-lisp-mode-hook #'​(lambda () (setq mode-name "El"))) 
-  (add-hook '​python-mode-hook #'​(lambda () (setq mode-name "py"))) +  (add-hook '​python-mode-hook #'​(lambda () (setq mode-name "Py"))) 
-  (add-hook '​perl-mode-hook #'​(lambda () (setq mode-name "pl")))+  (add-hook '​perl-mode-hook #'​(lambda () (setq mode-name "Pl")))
   (add-hook '​web-mode-hook #'​(lambda () (setq mode-name "​W"​)))   (add-hook '​web-mode-hook #'​(lambda () (setq mode-name "​W"​)))
   (add-hook '​lisp-interaction-mode-hook #'​(lambda () (setq mode-name "​Lisp"​)))   (add-hook '​lisp-interaction-mode-hook #'​(lambda () (setq mode-name "​Lisp"​)))
ライン 3017: ライン 3029:
  
 ==== [guide-key] キーバインドの選択肢をポップアップする ==== ==== [guide-key] キーバインドの選択肢をポップアップする ====
 +
 +<​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​which-key</​span></​html>​ に移行しました.
  
 自分用の関数にキーバインドを付けたのはいいけど,覚えられない時に使っています.以下の例では, <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​helm</​span></​html>​ もしくは <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​org</​span></​html>​ が読み込まれた時についでに有効化し, <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​C-c f</​span></​html>​ を押して, 0.5秒経つと,その後ろに続くキーの一覧がポップします.すでに覚えたキーバインドならば,0.5秒以内に打てるでしょうから,ポップ表示無しで通常通りにコマンドが発行します.色分けも効くのでわかりやすいです. 自分用の関数にキーバインドを付けたのはいいけど,覚えられない時に使っています.以下の例では, <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​helm</​span></​html>​ もしくは <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​org</​span></​html>​ が読み込まれた時についでに有効化し, <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​C-c f</​span></​html>​ を押して, 0.5秒経つと,その後ろに続くキーの一覧がポップします.すでに覚えたキーバインドならば,0.5秒以内に打てるでしょうから,ポップ表示無しで通常通りにコマンドが発行します.色分けも効くのでわかりやすいです.
ライン 3153: ライン 3167:
  
 ===== メディアサポート ===== ===== メディアサポート =====
-:​PROPERTIES:​ +
-:ID:       ​EA136A60-1E4C-4B30-B8DC-EBD48D64DAF4 +
-:END:+
 ==== [bongo.el] Emacsのバッファで音楽ライブラリを管理する ==== ==== [bongo.el] Emacsのバッファで音楽ライブラリを管理する ====
  
ライン 3263: ライン 3275:
  
 ===== 履歴/ファイル管理 ===== ===== 履歴/ファイル管理 =====
-:​PROPERTIES:​ +
-:ID:       ​EEAD6DA7-2E2A-4898-AD4D-4D7795A476CF +
-:END:+
 ==== [dired] ファイラのサポートツール ==== ==== [dired] ファイラのサポートツール ====
  
ライン 3746: ライン 3756:
  
 ===== 開発サポート ===== ===== 開発サポート =====
-:​PROPERTIES:​ +
-:ID:       ​FDED94E1-ADB0-466B-98A0-9138F4360779 +
-:END:+
 ==== 便利キーバインド ==== ==== 便利キーバインド ====
  
ライン 4046: ライン 4054:
  
 ==== [ggtags.el] タグジャンプ ==== ==== [ggtags.el] タグジャンプ ====
 +
 +  * [[http://​tasuwo.github.io/​blog/​2016/​03/​04/​c-c-plus-plus/​|EmacsにおけるC,​C++の環境を整える - tasuwo blog]]
  
 # brew install global --with-exuberant-ctags --with-pygments # brew install global --with-exuberant-ctags --with-pygments
  
 <code emacs-lisp>​ <code emacs-lisp>​
-  (if (executable-find "​gtags"​) +  (if (not (executable-find "​gtags"​)
-      (when (autoload-if-found +      (message "--- gtags is NOT installed in this system.")
-             '​(ggtags-mode) +
-             "​ggtags" ​nil t)+
  
-        ​(eval-when-compile +    ​(when (autoload-if-found 
-          ​(require ​'​ggtags nil t))+           ​'(ggtags-mode) 
 +           "​ggtags" ​nil t)
  
-        ​(with-eval-after-load "​ggtags"​ +      (eval-when-compile 
-          (setq ggtags-completing-read-function t) +        (require '​ggtags nil t) 
-          (define-key ggtags-mode-map (kbd "​M-]"​) nil))+        (require '​helm-gtags nil t)) 
 + 
 +      ​(with-eval-after-load "​ggtags"​ 
 +        (setq ggtags-completing-read-function t) 
 +        (define-key ggtags-mode-map (kbd "​M-]"​) nil)) 
 + 
 +      (dolist (hook (list '​c-mode-common-hook)) 
 +        (add-hook hook #'​(lambda () (ggtags-mode 1))))) 
 + 
 +    (when (autoload-if-found 
 +           '​(helm-gtags-mode) 
 +           "​helm-gtags"​ nil t) 
 + 
 +      (eval-when-compile 
 +        (require '​helm-gtags nil t))
  
-        ​(dolist (hook (list +      ​(with-eval-after-load "helm-gtags" 
-                       '​perl-mode-hook 'emacs-lisp-mode-hook '​js2-mode-hook +        (setq helm-gtags-mode-name ""​))
-                       '​python-mode-hook ​ 'c-mode-common-hook)) +
-          (add-hook hook #'​(lambda () (ggtags-mode 1)))))+
  
-    ​(message "--- gtags is NOT installed in this system."​))+      ​(add-hook 'c-mode-common-hook 'helm-gtags-mode)))
 </​code>​ </​code>​
  
ライン 4159: ライン 4180:
  '​(cov-mode)  '​(cov-mode)
  "​cov"​ nil t)  "​cov"​ nil t)
 +</​code>​
 +
 +==== TODO [projectile.el] ディレクトリ単位でファイル群をプロジェクト扱いする ====
 +
 +<code emacs-lisp>​
 +(when (autoload-if-found
 +       '​(projectile-global-mode)
 +       "​projectile"​ nil t)
 +  (with-eval-after-load "​projectile"​
 +    (defun advice:​projectile-visit-project-tags-table ()
 +      "​Extensions to skip calling `visit-tags-table'​."​
 +      nil)
 +    (advice-add '​projectile-visit-project-tags-table :override
 +                #'​advice:​projectile-visit-project-tags-table)
 +
 +    (setq projectile-tags-command "​gtags"​)
 +    (setq projectile-tags-backend '​ggtags)
 +    (setq projectile-tags-file-name "​GTAGS"​)
 +
 +    (setq projectile-use-git-grep t)
 +    (setq projectile-mode-line
 +          '​(:​eval (format " P:%s" (projectile-project-name))))
 +
 +    (when (require '​helm-projectile nil t)
 +      (setq projectile-completion-system '​helm))
 +
 +    (when (require '​neotree nil t)
 +      ;; M-x helm-projectile-switch-project (C-c p p)
 +      (setq projectile-switch-project-action '​neotree-projectile-action)
 +
 +      (defun advice:​neotree-dir (path)
 +        "​Extension to change the frame width automatically."​
 +        (interactive "​DDirectory:​ ")
 +        (unless (neo-global--window-exists-p)
 +          (neotree-show))
 +        (neo-global--open-dir path)
 +        (neo-global--select-window))
 +      (advice-add '​neotree-dir :override #'​advice:​neotree-dir)))
 +
 +  (with-eval-after-load "​helm-config"​
 +    (projectile-global-mode 1)))
 </​code>​ </​code>​
  
 ===== Org Mode ===== ===== Org Mode =====
-:​PROPERTIES:​ +
-:ID:       ​9B2EED7E-F398-4B04-8798-9B7FE032CA2B +
-:END:+
  
 ==== 基本設定 ==== ==== 基本設定 ====
ライン 4644: ライン 4704:
  
 <code emacs-lisp>​ <code emacs-lisp>​
-  ​(with-eval-after-load "​org"​ +(with-eval-after-load "​org"​ 
-    ;; アラーム表示を有効にする +  ;; アラーム表示を有効にする 
-    (appt-activate 1) +  (if (require '​shut-up nil t) 
-    ;; window を フレーム内に表示する +      (shut-up ​(appt-activate 1)
-    (setq appt-display-format '​echo) +    ​(appt-activate 1)) 
-    ;; window を継続表示する時間[s] +  ​;; window を フレーム内に表示する 
-    (setq appt-display-duration 5) +  (setq appt-display-format '​echo) 
-    ;; ビープ音の有無 +  ;; window を継続表示する時間[s] 
-    (setq appt-audible nil) +  (setq appt-display-duration 5) 
-    ;; 何分前から警告表示を開始するか[m] +  ;; ビープ音の有無 
-    (setq appt-message-warning-time 20) +  (setq appt-audible nil) 
-    ;; 警告表示開始から何分ごとにリマインドするか[m] +  ;; 何分前から警告表示を開始するか[m] 
-    (setq appt-display-interval 5) +  (setq appt-message-warning-time 20) 
-    ;; モードラインにアラームを表示する +  ;; 警告表示開始から何分ごとにリマインドするか[m] 
-    (setq appt-display-mode-line t) +  (setq appt-display-interval 5) 
-    ;; org-agenda の内容をアラームに登録する +  ;; モードラインにアラームを表示する 
-    ;; 定期的に更新する +  (setq appt-display-mode-line t) 
-    (defun my:​org-agenda-to-appt () +  ;; org-agenda の内容をアラームに登録する 
-      (interactive) +  ;; 定期的に更新する 
-      (org-agenda-to-appt t '​((headline "​TODO"​)))) +  (defun my:​org-agenda-to-appt () 
-    (run-with-idle-timer 500 t '​my:​org-agenda-to-appt)+    (interactive) 
 +    (org-agenda-to-appt t '​((headline "​TODO"​)))) 
 +  (run-with-idle-timer 500 t '​my:​org-agenda-to-appt)
  
-    ​(define-key org-mode-map (kbd "C-c f 3") '​my:​org-agenda-to-appt))+  ​(define-key org-mode-map (kbd "C-c f 3") '​my:​org-agenda-to-appt))
 </​code>​ </​code>​
  
ライン 4785: ライン 4847:
  
 <code emacs-lisp>​ <code emacs-lisp>​
-  ​(with-eval-after-load "​ob-core"​ +(with-eval-after-load "​ob-core"​ 
-    (setq org-confirm-babel-evaluate nil+  (setq org-edit-src-content-indentation 0
-    (setq org-src-fontify-natively t) +  (setq org-src-fontify-natively t) 
-    (setq org-src-tab-acts-natively t) +  (setq org-src-tab-acts-natively t) 
-    ;; ​org-src-window-setup ​(current-window, other-window,​ other-frame+  (setq org-confirm-babel-evaluate nil) 
-    ​(setq ​org-src-window-setup ​'current-window) +  (setq org-src-window-setup ​'current-window) 
-    (require '​ob-http nil t) +  ;; ​org-src-window-setup ​(current-window, other-window,​ other-frame
-    (require '​ob-gnuplot nil t)+  (require '​ob-http nil t) 
 +  (require '​ob-gnuplot nil t)
  
-    ​;; Add ":​results output"​ after program name +  ​;; Add ":​results output"​ after program name 
-    (org-babel-do-load-languages +  (org-babel-do-load-languages 
-     ​'​org-babel-load-languages +   ​'​org-babel-load-languages 
-     ​'((dot . t) +   ​'((dot . t) 
-       ​(C . t) +     ​(C . t) 
-       ​(gnuplot . t) +     ​(gnuplot . t) 
-       ​(perl . t) +     ​(perl . t) 
-       ​(shell . t) +     ​(shell . t) 
-       ​(latex . t) +     ​(latex . t) 
-       ​(sqlite . t) +     ​(sqlite . t) 
-       ​(R . t) +     ​(R . t) 
-       ​(python . t))) +     ​(python . t))) 
-    ;; (require 'ob-C nil t) +  ;; (require 'ob-C nil t) 
-    ;; (require '​ob-perl nil t) +  ;; (require '​ob-perl nil t) 
-    ;; (require 'ob-sh nil t) +  ;; (require 'ob-sh nil t) 
-    ;; (require '​ob-python nil t)+  ;; (require '​ob-python nil t)
  
-    ​;; 実装済みの言語に好きな名前を紐付ける +  ​;; 実装済みの言語に好きな名前を紐付ける 
-    (add-to-list '​org-src-lang-modes '​("​cs"​ . csharp)) +  (add-to-list '​org-src-lang-modes '​("​cs"​ . csharp)) 
-    (add-to-list '​org-src-lang-modes '​("​zsh"​ . sh)))+  (add-to-list '​org-src-lang-modes '​("​zsh"​ . sh)))
 </​code>​ </​code>​
  
ライン 4862: ライン 4925:
  
 <code emacs-lisp>​ <code emacs-lisp>​
-  ​;; (require '​use-package nil t) +;; (require '​use-package nil t) 
-  ;; (use-package org-tree-slide +;; (use-package org-tree-slide 
-  ;;   :bind (("<​f8>"​ . org-tree-slide-mode) +;;   :bind (("<​f8>"​ . org-tree-slide-mode) 
-  ;;          ("​S-<​f8>"​ . org-tree-slide-skip-done-toggle)) +;;          ("​S-<​f8>"​ . org-tree-slide-skip-done-toggle)) 
-  ;;   :​defer t +;;   :​defer t 
-  ;;   :​init +;;   :​init 
-  ;;   :​config +;;   :​config 
-  ;;   ​(define-key org-tree-slide-mode-map (kbd "<​f9>"​) +;;   ​(define-key org-tree-slide-mode-map (kbd "<​f9>"​) 
-  ;;     '​org-tree-slide-move-previous-tree) +;;     '​org-tree-slide-move-previous-tree) 
-  ;;   ​(define-key org-tree-slide-mode-map (kbd "<​f10>"​) +;;   ​(define-key org-tree-slide-mode-map (kbd "<​f10>"​) 
-  ;;     '​org-tree-slide-move-next-tree) +;;     '​org-tree-slide-move-next-tree) 
-  ;;   ​(org-tree-slide-narrowing-control-profile) +;;   ​(org-tree-slide-narrowing-control-profile) 
-  ;;   (setq org-tree-slide-modeline-display '​outside) +;;   (setq org-tree-slide-modeline-display '​outside) 
-  ;;   (setq org-tree-slide-skip-outline-level 5) +;;   (setq org-tree-slide-skip-outline-level 5) 
-  ;;   (setq org-tree-slide-skip-done nil))+;;   (setq org-tree-slide-skip-done nil))
  
-  ​(when (autoload-if-found +(when (autoload-if-found 
-         ​'​(org-tree-slide-mode) +       ​'​(org-tree-slide-mode) 
-         ​"​org-tree-slide"​ nil t)+       ​"​org-tree-slide"​ nil t)
  
-    ​(eval-when-compile +  ​(eval-when-compile 
-      (require '​org-tree-slide nil t))+    (require '​org-tree-slide nil t))
  
-    ​(with-eval-after-load "​org-tree-slide"​ +  ​(with-eval-after-load "​org-tree-slide"​ 
-      ;; <​f8>/<​f9>/<​f10>/<​f11>​ are assigned to control org-tree-slide +    ;; <​f8>/<​f9>/<​f10>/<​f11>​ are assigned to control org-tree-slide 
-      (define-key org-tree-slide-mode-map (kbd "<​f9>"​) +    (define-key org-tree-slide-mode-map (kbd "<​f9>"​) 
-        '​org-tree-slide-move-previous-tree) +      '​org-tree-slide-move-previous-tree) 
-      (define-key org-tree-slide-mode-map (kbd "<​f10>"​) +    (define-key org-tree-slide-mode-map (kbd "<​f10>"​) 
-        '​org-tree-slide-move-next-tree) +      '​org-tree-slide-move-next-tree) 
-      (org-tree-slide-narrowing-control-profile) +    (if (require '​shut-up nil t) 
-      (setq org-tree-slide-modeline-display '​outside) +        (shut-up ​(org-tree-slide-narrowing-control-profile)
-      (setq org-tree-slide-skip-outline-level 5) +      ​(org-tree-slide-narrowing-control-profile)) 
-      (setq org-tree-slide-skip-done nil))+    ​(setq org-tree-slide-modeline-display '​outside) 
 +    (setq org-tree-slide-skip-outline-level 5) 
 +    (setq org-tree-slide-skip-done nil))
  
-    ​(global-set-key (kbd "<​f8>"​) '​org-tree-slide-mode) +  ​(global-set-key (kbd "<​f8>"​) '​org-tree-slide-mode) 
-    (global-set-key (kbd "​S-<​f8>"​) '​org-tree-slide-skip-done-toggle))+  (global-set-key (kbd "​S-<​f8>"​) '​org-tree-slide-skip-done-toggle))
 </​code>​ </​code>​
  
ライン 5719: ライン 5784:
  
 ===== フレーム/ウィンドウ制御 ===== ===== フレーム/ウィンドウ制御 =====
-:​PROPERTIES:​ +
-:ID:       ​15F1CD3E-4977-499C-9E0B-5B674108EF53 +
-:END:+
 ==== 起動時の設定 ==== ==== 起動時の設定 ====
  
 <code emacs-lisp>​ <code emacs-lisp>​
-  ​(cond +(cond 
-   ​((memq window-system '(mac ns)) ;; for Macintosh + ​((memq window-system '(mac ns)) ;; for Macintosh 
-    (setq initial-frame-alist +  (setq initial-frame-alist 
-          (append +        (append 
-           ​`((vertical-scroll-bars . nil) +         ​`((vertical-scroll-bars . nil) 
-             ​(top . 22)  ; Y-pos from (0,0) the height of menu bar is 22pix. +           ​(top . 22)  ; Y-pos from (0,0) the height of menu bar is 22pix. 
-             ​(left . 0)  ; X-pos from (0,0) ; 420 is the center for MBP +           ​(left . 0)  ; X-pos from (0,0) ; 420 is the center for MBP 
-             ​;; 26 is the setting for Butler'​s Docklet +           ​;; 26 is the setting for Butler'​s Docklet 
-             ​;; 837 is the setting for right side for MBP +           ​;; 837 is the setting for right side for MBP 
-             ​(width . 80) ; Width  : character count +           ;; (width . 80) ; Width  : character count 
-             ​(alpha . (100 90))) initial-frame-alist))) +           ;; (height . 36) 
-   ​;; for Linux +           (alpha . (100 90))) initial-frame-alist))) 
-   ​((eq window-system 'x) + 
-    (setq initial-frame-alist+ ;; for Linux 
 + ((eq window-system 'x) 
 +  (setq initial-frame-alist 
 +        (append 
 +         '​((vertical-scroll-bars . nil) 
 +           (top . 0) 
 +           (left . 0) 
 +           ​(width . 80) 
 +           ​(height . 38) 
 +           ) initial-frame-alist))) 
 + 
 + ;; for Windows 
 + ​(t ​(setq initial-frame-alist
           (append           (append
            '​((vertical-scroll-bars . nil)            '​((vertical-scroll-bars . nil)
ライン 5744: ライン 5819:
              (left . 0)              (left . 0)
              ​(width . 80)              ​(width . 80)
-             ​(height . 38+             ​(height . 26
-             ) initial-frame-alist))) +             ) initial-frame-alist))))
-   ;; for Windows +
-   (t (setq initial-frame-alist +
-            (append +
-             '​((vertical-scroll-bars . nil) +
-               (top . 0) +
-               (left . 0) +
-               ​(width . 80) +
-               ​(height . 26) +
-               ) initial-frame-alist))))+
  
-  ​;; Apply the initial setting to default +;; Apply the initial setting to default 
-  (setq default-frame-alist initial-frame-alist) +(setq default-frame-alist initial-frame-alist) 
-  (set-face-foreground '​vertical-border (face-background '​default)) +(set-face-foreground '​vertical-border (face-background '​default)) 
-  (set-face-background '​vertical-border (face-background '​default)) +(set-face-background '​vertical-border (face-background '​default)) 
-  ;; (set-face-background '​fringe (face-background '​default))+;; (set-face-background '​fringe (face-background '​default))
  
-  ​;; カーソルの色 +;; カーソルの色 
-  (defconst my:​cursor-color-ime-on "#​FF9300"​) +(defconst my:​cursor-color-ime-on "#​FF9300"​) 
-  (defconst my:​cursor-color-ime-off "#​91C3FF"​) ;; #FF9300, #999999, #749CCC +(defconst my:​cursor-color-ime-off "#​91C3FF"​) ;; #FF9300, #999999, #749CCC 
-  (defconst my:​cursor-type-ime-on '(bar . 2)) +(defconst my:​cursor-type-ime-on '(bar . 2)) 
-  (defconst my:​cursor-type-ime-off '(bar . 2))+(defconst my:​cursor-type-ime-off '(bar . 2))
  
-  ​(cond +(cond 
-   ​((eq window-system 'ns) + ((eq window-system 'ns) 
-    (when (fboundp '​mac-set-input-method-parameter) +  (when (fboundp '​mac-set-input-method-parameter) 
-      (mac-set-input-method-parameter +    (mac-set-input-method-parameter 
-       ​"​com.google.inputmethod.Japanese.base"​ 'title "​あ"​))+     ​"​com.google.inputmethod.Japanese.base"​ 'title "​あ"​))
  
-    ​(when (fboundp '​mac-get-current-input-source) +  ​(when (fboundp '​mac-get-current-input-source) 
-      (defun my:​ime-active-p () +    (defun my:​ime-active-p () 
-        (not (string-match "​\\.Roman$"​ (mac-get-current-input-source)))) +      (not (string-match "​\\.Roman$"​ (mac-get-current-input-source)))) 
-      (defvar my:​ime-on-hook nil) +    (defvar my:​ime-on-hook nil) 
-      (defvar my:​ime-off-hook nil) +    (defvar my:​ime-off-hook nil) 
-      (defun my:ime-on (&​optional sticky) +    (defun my:ime-on (&​optional sticky) 
-        (interactive) +      (interactive) 
-        (mac-toggle-input-method t) +      (mac-toggle-input-method t) 
-        (setq cursor-type my:​cursor-type-ime-on) +      (setq cursor-type my:​cursor-type-ime-on) 
-        (set-cursor-color my:​cursor-color-ime-on) +      (set-cursor-color my:​cursor-color-ime-on) 
-        (run-hooks '​my:​ime-on-hook) +      (run-hooks '​my:​ime-on-hook) 
-        (when sticky +      (when sticky 
-          (setq my:ime-flag t))) +        (setq my:ime-flag t))) 
-      (defun my:ime-off (&​optional sticky) +    (defun my:ime-off (&​optional sticky) 
-        (interactive) +      (interactive) 
-        (mac-toggle-input-method nil)+      (mac-toggle-input-method nil
 +      (setq cursor-type my:​cursor-type-ime-off) 
 +      (set-cursor-color my:​cursor-color-ime-off) 
 +      (run-hooks '​my:​ime-off-hook) 
 +      (when sticky 
 +        (setq my:ime-flag nil))) 
 + 
 +    ;; for init setup 
 +    (setq-default cursor-type '(bar . 2)) 
 +    (defun my:​apply-cursor-config () 
 +      (if (my:​ime-active-p) 
 +          (progn 
 +            (setq cursor-type my:​cursor-type-ime-on) 
 +            (set-cursor-color my:​cursor-color-ime-on))
         (setq cursor-type my:​cursor-type-ime-off)         (setq cursor-type my:​cursor-type-ime-off)
-        (set-cursor-color my:​cursor-color-ime-off) +        (set-cursor-color my:​cursor-color-ime-off))
-        (run-hooks 'my:ime-off-hook) +    ;; ​(my:apply-cursor-configwill be called later in this file.
-        (when sticky +
-          (setq my:ime-flag nil)))+
  
-      ​;; for init setup +    ​;; Enter minibuffer with IME-off, and resture the latest IME 
-      (setq-default cursor-type '(bar . 2)) +    (add-hook '​minibuffer-setup-hook 
-      (defun my:​apply-cursor-config ​() +              #'(lambda ​() 
-        (if (my:​ime-active-p) +                  (if (not (my:​ime-active-p)
-            ​(progn +                      (setq my:ime-flag nil
-              ​(setq cursor-type ​my:cursor-type-ime-on+                    (setq my:ime-flag t
-              (set-cursor-color ​my:cursor-color-ime-on)+                    (my:ime-off)))
-          (setq cursor-type ​my:cursor-type-ime-off) +    (add-hook '​minibuffer-exit-hook 
-          (set-cursor-color my:cursor-color-ime-off))) +              #'​(lambda () 
-      ;; ​(my:apply-cursor-configwill be called later in this file.+                  (when my:ime-flag 
 +                    (my:ime-on))))
  
-      ​;; Enter minibuffer with IME-off, and resture the latest IME +    ​;; (defun advice:find-file (FILENAME &​optional WILDCARDS) 
-      (add-hook '​minibuffer-setup-hook +    ;; ​  "​Extension to find-file as before-find-file-hook." 
-                #'​(lambda () +    ;; ​  (message "--- advice:findfile"​
-                    (if (not (my:ime-active-p)) +    ;; ​  (apply FILENAME WILDCARDS)) 
-                        (setq my:ime-flag nil) +    ;; ​(advice-add #'find-file :​around ​#'advice:find-file)
-                      (setq my:ime-flag t+
-                      (my:​ime-off)))) +
-      (add-hook 'minibuffer-exit-hook +
-                ​#'(lambda () +
-                    (when my:ime-flag +
-                      (my:​ime-on))))+
  
-      ;; (defun advice:​find-file (FILENAME &​optional WILDCARDS) +    ​;; http://​tezfm.blogspot.jp/​2009/​11/​cocoa-emacs.html 
-      ;;   "​Extension to find-file as before-find-file-hook."​ +    ;; バッファ切替時に input method を切り替える 
-      ;;   ​(message "--- advice:​findfile"​) +    (with-eval-after-load "​helm-config"​ 
-      ;;   ​(apply FILENAME WILDCARDS)) +      (when (and (fboundp '​mac-handle-input-method-change) 
-      ;; (advice-add #'​find-file :around #'​advice:​find-file) +                 ​(require '​cl-lib nil t)) 
- +        (add-hook 
-      ​;; http://​tezfm.blogspot.jp/​2009/​11/​cocoa-emacs.html +         ​'​post-command-hook 
-      ;; バッファ切替時に input method を切り替える +         ​(lexical-let ((previous-buffer nil)) 
-      (with-eval-after-load "​helm-config"​ +           ​;; (message "​Change IM %S -> %S" previous-buffer (current-buffer)) 
-        (when (and (fboundp '​mac-handle-input-method-change) +           ​#'​(lambda () 
-                   ​(require '​cl-lib nil t)) +               ​(unless (eq (current-buffer) previous-buffer) 
-          (add-hook +                 ​(if (bufferp previous-buffer) 
-           ​'​post-command-hook +                     ​(mac-handle-input-method-change)) 
-           ​(lexical-let ((previous-buffer nil)) +                 ​(setq previous-buffer (current-buffer))))))))))
-             ​;; (message "​Change IM %S -> %S" previous-buffer (current-buffer)) +
-             ​#'​(lambda () +
-                 ​(unless (eq (current-buffer) previous-buffer) +
-                   ​(if (bufferp previous-buffer) +
-                       ​(mac-handle-input-method-change)) +
-                   ​(setq previous-buffer (current-buffer))))))))))+
  
-   ((eq window-system 'mac) ;; EMP: Emacs Mac Port + ((eq window-system 'mac) ;; EMP: Emacs Mac Port 
-    (when (fboundp '​mac-input-source) +  (when (fboundp '​mac-input-source) 
-      (defun my:​mac-keyboard-input-source () +    (defun my:​mac-keyboard-input-source () 
-        (if (string-match "​\\.Roman$"​ (mac-input-source)) +      (if (string-match "​\\.Roman$"​ (mac-input-source))
-            (progn +
-              (setq cursor-type my:​cursor-type-ime-off) +
-              (add-to-list '​default-frame-alist +
-                           ​`(cursor-type . ,​my:​cursor-type-ime-off)) +
-              (set-cursor-color my:​cursor-color-ime-off))+
           (progn           (progn
-            (setq cursor-type my:​cursor-type-ime-on)+            (setq cursor-type my:​cursor-type-ime-off)
             (add-to-list '​default-frame-alist             (add-to-list '​default-frame-alist
-                         ​`(cursor-type . ,​my:​cursor-type-ime-on)) +                         ​`(cursor-type . ,​my:​cursor-type-ime-off)) 
-            (set-cursor-color my:​cursor-color-ime-on))))+            ​(set-cursor-color my:​cursor-color-ime-off)) 
 +        (progn 
 +          (setq cursor-type my:​cursor-type-ime-on) 
 +          (add-to-list '​default-frame-alist 
 +                       ​`(cursor-type . ,​my:​cursor-type-ime-on)) 
 +          ​(set-cursor-color my:​cursor-color-ime-on))))
  
-      ​(when (fboundp '​mac-auto-ascii-mode) +    ​(when (fboundp '​mac-auto-ascii-mode) 
-        ;; (mac-auto-ascii-mode 1) +      ;; (mac-auto-ascii-mode 1) 
-        ;; IME ON/OFF でカーソルの種別や色を替える +      ;; IME ON/OFF でカーソルの種別や色を替える 
-        (add-hook '​mac-selected-keyboard-input-source-change-hook +      (add-hook '​mac-selected-keyboard-input-source-change-hook 
-                  '​my:​mac-keyboard-input-source) +                '​my:​mac-keyboard-input-source) 
-        ;; IME ON の英語入力+決定後でもカーソルの種別や色を替える +      ;; IME ON の英語入力+決定後でもカーソルの種別や色を替える 
-        ;; (add-hook '​mac-enabled-keyboard-input-sources-change-hook +      ;; (add-hook '​mac-enabled-keyboard-input-sources-change-hook 
-        ;;           '​my:​mac-keyboard-input-source)+      ;;           '​my:​mac-keyboard-input-source)
  
-        ​(declare-function my:​mac-keyboard-input-source "​init"​ nil) +      ​(declare-function my:​mac-keyboard-input-source "​init"​ nil) 
-        (my:​mac-keyboard-input-source))))+      (my:​mac-keyboard-input-source))))
  
-   (t nil))+ (t nil))
 </​code>​ </​code>​
  
ライン 5890: ライン 5956:
  
 <code emacs-lisp>​ <code emacs-lisp>​
-  ​(when (autoload-if-found +(when (autoload-if-found 
-         ​'​(my:​e2wm:​dp-two e2wm:dp-two e2wm:​start-management) +       ​'​(my:​e2wm:​dp-two e2wm:dp-two e2wm:​start-management) 
-         ​"​e2wm"​ nil t+       ​"​e2wm"​ nil t)
-    (eval-when-compile +
-      (require 'e2wm nil t)) +
-    (with-eval-after-load "​e2wm"​ +
-      (defun my:​e2wm:​dp-two () +
-        (interactive) +
-        (e2wm:​dp-two) +
-        (setq e2wm:​c-two-recipe +
-              '(- (:​lower-size 10) +
-                  (| left right) +
-                  sub)) +
-        (setq e2wm:​c-two-winfo +
-              '​((:​name left ) +
-                (:name right ) +
-                (:name sub :​default-hide t)))+
  
-        ;; left, prev +  ​(eval-when-compile 
-        ​(setq e2wm:c-two-right-default ​'left))+    (require ​'e2wm nil t))
  
-      ;; 高さを画面の最大に矯正 +  (with-eval-after-load "​e2wm"​ 
-      (when (require 'moom nil t+    (defun my:​e2wm:​dp-two () 
-        (setq moom-frame-height-tall (moom-max-frame-height)) +      (interactive) 
-        (setq moom-frame-height-small moom-frame-height-tall))+      ​(e2wm:dp-two
 +      (setq e2wm:c-two-recipe 
 +            '(- (:lower-size 10) 
 +                (| left right
 +                ​sub)) 
 +      ​(setq e2wm:c-two-winfo 
 +            '​((:​name left ) 
 +              (:name right ) 
 +              (:name sub :default-hide t)))
  
-      ;; 幅を画面の最大に矯正 +      ;; left, prev 
-      (add-hook 'e2wm:pre-start-hook +      (setq e2wm:c-two-right-default ​'left))
-                #'(lambda () +
-                    (set-frame-width +
-                     ​(selected-frame) +
-                     (/ (- (display-pixel-width) 30) (frame-char-width)))))+
  
-      ​;; デフォルト値戻す +    ​;; 高さ画面の最大矯正 
-      (add-hook '​e2wm:​post-stop-hook +    (when (require 'moom nil t
-                #'​(lambda ​() +      (setq moom-frame-height-tall ​(moom-max-frame-height)
-                    (set-frame-width (selected-frame) moom--target-frame-width)))+      (setq moom-frame-height-small moom-frame-height-tall))
  
-      ​;; To avoid rebooting issue when using desktop.el and recentf.el +    ;; 幅を画面の最大に矯正 
-      (add-hook '​kill-emacs-hook +    (add-hook '​e2wm:​pre-start-hook 
-                #'​(lambda () +              #'​(lambda () 
-                    (when (fboundp '​e2wm:​stop-management) +                  (set-frame-width 
-                      (e2wm:​stop-management))))+                   ​(selected-frame) 
 +                   (/ (- (display-pixel-width) 30) (frame-char-width))))) 
 + 
 +    ;; 幅をデフォルト値に戻す 
 +    (add-hook '​e2wm:​post-stop-hook 
 +              #'​(lambda () 
 +                  (set-frame-width (selected-frame) 
 +                                   ​moom--target-frame-width))) 
 + 
 +    ​;; To avoid rebooting issue when using desktop.el and recentf.el 
 +    (add-hook '​kill-emacs-hook 
 +              #'​(lambda () 
 +                  (when (fboundp '​e2wm:​stop-management) 
 +                    (e2wm:​stop-management))))))
 </​code>​ </​code>​
  
ライン 5961: ライン 6030:
  
 <code emacs-lisp>​ <code emacs-lisp>​
-  ​(defconst moom-autoloads +(defconst moom-autoloads 
-    '​(moom-move-frame-with-user-specify +  '​(moom-move-frame-with-user-specify 
-      moom-change-frame-width-single moom-change-frame-width-double +    moom-change-frame-width-single moom-change-frame-width-double 
-      moom-move-frame-to-center moom-move-frame-to-edge-top +    moom-move-frame-to-center moom-move-frame-to-edge-top 
-      moom-move-frame-right +    moom-move-frame-right 
-      moom-move-frame-left moom-move-frame-to-edge-bottom +    moom-move-frame-left moom-move-frame-to-edge-bottom 
-      moom-open-height-ring moom-fit-frame-to-fullscreen +    moom-open-height-ring moom-fit-frame-to-fullscreen 
-      moom-set-font-size-input moom-max-frame-height moom-reset-font-size +    moom-set-font-size-input moom-max-frame-height moom-reset-font-size 
-      moom-increase-font-size moom-decrease-font-size moom-set-font-size))+    moom-increase-font-size moom-decrease-font-size moom-set-font-size))
  
-  ​(when (autoload-if-found +(when (autoload-if-found 
-         ​moom-autoloads +       ​moom-autoloads 
-         ​"​moom"​ nil t+       ​"​moom"​ nil t)
-    (with-eval-after-load "​moom"​ +
-      (cond +
-       ​((>​= (display-pixel-width) 1920) (setq moom-fullscreen-fontsize 38)) +
-       ​((>​= (display-pixel-width) 1440) (setq moom-fullscreen-fontsize 28)) +
-       ​((>​= (display-pixel-width) 1366) (setq moom-fullscreen-fontsize 19)) +
-       ​((>​= (display-pixel-width) 800) (setq moom-fullscreen-fontsize 14)) +
-       (t (setq moom-fullscreen-fontsize 12)))+
  
-      ;; リングの状態を最新に更新(max-frame-height が変わるため) +  ​(with-eval-after-load "moom" 
-      ​(add-hook 'moom-after-fullscreen-hook +    (setq moom-fullscreen-font-size (moom-fullscreen-font-size))
-                'moom--make-frame-height-ring) +
-      (add-hook 'moom-after-fullscreen-hook +
-                'moom-move-frame-to-center) +
-      ​(add-hook 'moom-reset-font-size-hook +
-                '​moom-move-frame-to-center))+
  
-    ;; Move the frame to somewhere (default: 0,0) +    ;; リングの状態を最新に更新(max-frame-height が変わるため) 
-    (global-set-key (kbd "​M-0"​) '​moom-move-frame-with-user-specify) +    (add-hook 'moom-after-fullscreen-hook #'​moom--make-frame-height-ring
-    ​;; Move the frame to left side of the current position ​(require '​frame-cmds) +    (add-hook 'moom-after-fullscreen-hook #'​moom-move-frame-to-center
-    (setq moom-horizontal-shifts '(30 30)) +    (add-hook 'moom-after-fullscreen-hook #'moom-print-status
-    (global-set-key (kbd "​M-1"​) ​'moom-move-frame-left) +    (add-hook '​moom-reset-font-size-hook #'​moom-move-frame-to-center) 
-    ;; Move the frame to the center of the window display (require ​'moom+    (add-hook 'moom-reset-font-size-hook #'​moom-print-status))
-    (global-set-key (kbd "​M-2"​) '​moom-move-frame-to-center+
-    ​;; Move the frame to right side of the current position(require 'frame-cmds) +
-    (global-set-key (kbd "​M-3"​) ​'moom-move-frame-right) +
-    ;; Move the current frame to the top of the window display +
-    (global-set-key (kbd "<​f1>"​) ​'​moom-move-frame-to-edge-top) +
-    ;; Move the current frame to the bottom of the window display +
-    (global-set-key (kbd "​S-<​f1>"​) ​'moom-move-frame-to-edge-bottom) +
-    ;; Cycle heights +
-    (global-set-key (kbd "<​f2>"​) ​'moom-open-height-ring) +
-    ;; Full screen with same frame-width +
-    (global-set-key (kbd "C-x C-9") '​moom-fit-frame-to-fullscreen) +
-    (global-set-key (kbd "C-x C-0"​) ​'​moom-reset-font-size+
-    (global-set-key (kbd "C-x C-8"​) +
-                    ​#'(lambda () (interactive) +
-                        (moom-set-font-size-input +
-                         (+ 5 (/ moom-fullscreen-fontsize 2))) +
-                        (moom-move-frame-to-center))+
-    (global-set-key (kbd "​C-_"​) '​text-scale-decrease) +
-    (global-set-key (kbd "​C-+"​) '​text-scale-increase) +
-    (global-set-key (kbd "C-c f s"​) ​'moom-change-frame-width-single) +
-    (global-set-key (kbd "C-c f d") '​moom-change-frame-width-double) +
-    (global-set-key (kbd "​C-="​) +
-                    #'​(lambda () (interactive) +
-                        (moom-increase-font-size ​1) +
-                        (moom-move-frame-to-edge-top) +
-                        (moom-print-status))) +
-    (global-set-key (kbd "​C--"​) +
-                    ​#'(lambda () (interactive) +
-                        (moom-decrease-font-size 2) +
-                        (moom-move-frame-to-edge-top) +
-                        (moom-print-status))))+
  
-  ;; setting for e2wm +  ​;; Move the frame to somewhere (default: 0,0) 
-  (when (autoload-if-found +  (global-set-key (kbd "​M-0"​) '​moom-move-frame-with-user-specify) 
-         ​'​(change-frame-double-window +  ;; Move the frame to left side of the current position (require '​frame-cmds) 
-           ​change-frame-single-window) +  (setq moom-horizontal-shifts '(30 30)) 
-         ​"​frame-ctr-e2wm"​ nil t) +  (global-set-key (kbd "​M-1"​) '​moom-move-frame-left) 
-    ;; Set the frame width single size +  ;; Move the frame to the center of the window display (require '​moom) 
-    ;;  C-u C-x - => e2wm OFF, single size width and double height, move center +  (global-set-key (kbd "​M-2"​) '​moom-move-frame-to-center) 
-    (global-set-key (kbd "C-x -") '​change-frame-single-window) +  ;; Move the frame to right side of the current position(require '​frame-cmds) 
-    ;; Set the frame width double size +  (global-set-key (kbd "​M-3"​) '​moom-move-frame-right) 
-    ;;  C-u C-x = => e2wm ON, double size width and height, move to the center +  ;; Move the current frame to the top of the window display 
-    (global-set-key (kbd "C-x =") '​change-frame-double-window))+  (global-set-key (kbd "<​f1>"​) '​moom-move-frame-to-edge-top) 
 +  ;; Move the current frame to the bottom of the window display 
 +  (global-set-key (kbd "​S-<​f1>"​) '​moom-move-frame-to-edge-bottom) 
 +  ;; Move the current frame to the right edge of the window display 
 +  (global-set-key (kbd "​S-M-0"​) '​moom-move-frame-to-edge-right) 
 +  ;; Cycle heights 
 +  (global-set-key (kbd "<​f2>"​) '​moom-open-height-ring) 
 +  ;; Full screen with same frame-width 
 +  (global-set-key (kbd "C-x C-9") '​moom-fit-frame-to-fullscreen) 
 +  (global-set-key (kbd "C-x C-0") '​moom-reset-font-size) 
 +  (defun my:​mid-font-size () 
 +    (interactive) 
 +    (moom-set-font-size-input 
 +     (/ (+ moom-init-font-size moom-fullscreen-font-size) 2)) 
 +    (moom-move-frame-to-center) 
 +    (moom-print-status)) 
 +  (global-set-key (kbd "C-x C-8") '​my:​mid-font-size) 
 +  (global-set-key (kbd "​C-_"​) '​text-scale-decrease) 
 +  (global-set-key (kbd "​C-+"​) '​text-scale-increase) 
 +  (global-set-key (kbd "C-c f s") '​moom-change-frame-width-single) 
 +  (global-set-key (kbd "C-c f d") '​moom-change-frame-width-double) 
 +  (defun my:​increase-font-size () 
 +    (interactive) 
 +    (moom-increase-font-size 1) 
 +    (moom-move-frame-to-edge-top) 
 +    (moom-print-status)) 
 +  (global-set-key (kbd "​C-="​) '​my:​increase-font-size) 
 +  (defun my:​decrease-font-size () 
 +    (interactive) 
 +    (moom-decrease-font-size 1) 
 +    (moom-move-frame-to-edge-top) 
 +    (moom-print-status)) 
 +  (global-set-key (kbd "​C--"​) '​my:​decrease-font-size)) 
 + 
 +;; setting for e2wm 
 +(when (autoload-if-found 
 +       ​'​(change-frame-double-window 
 +         ​change-frame-single-window) 
 +       ​"​frame-ctr-e2wm"​ nil t) 
 +  ;; Set the frame width single size 
 +  ;;  C-u C-x - => e2wm OFF, single size width and double height, move center 
 +  (global-set-key (kbd "C-x -") '​change-frame-single-window) 
 +  ;; Set the frame width double size 
 +  ;;  C-u C-x = => e2wm ON, double size width and height, move to the center 
 +  (global-set-key (kbd "C-x =") '​change-frame-double-window))
 </​code>​ </​code>​
  
ライン 6148: ライン 6218:
  
 ===== フォント/配色関連 ===== ===== フォント/配色関連 =====
-:​PROPERTIES:​ +
-:ID:       ​54A8416E-CFFE-41A7-9F48-1165EA5A5453 +
-:END:+
 ==== 正規表現を見やすくする ==== ==== 正規表現を見やすくする ====
  
ライン 6555: ライン 6623:
  
 ===== ユーティリティ関数 ===== ===== ユーティリティ関数 =====
-:​PROPERTIES:​ +
-:ID:       ​C82716B5-08BB-4AFD-B727-16D5C54089CA +
-:END:+
 ==== [pomodoro.el] ポモドーロの実践 ==== ==== [pomodoro.el] ポモドーロの実践 ====
  
ライン 6960: ライン 7026:
 <code emacs-lisp>​ <code emacs-lisp>​
   (defconst utility-autoloads   (defconst utility-autoloads
-    '(takaxp:date +    '(my:date 
-      ​takaxp:​window-resizer ​takaxp:​open-file-ring my:​update-alarms-from-file+      ​my:​window-resizer ​my:​open-file-ring my:​update-alarms-from-file
       my:​desktop-notify my:​daylight-theme my:​night-theme       my:​desktop-notify my:​daylight-theme my:​night-theme
       eval-org-buffer kyoko-mad-mode-toggle       eval-org-buffer kyoko-mad-mode-toggle
ライン 6977: ライン 7043:
          "​utility"​ nil t)          "​utility"​ nil t)
     (global-set-key (kbd "​C-M--"​) '​add-itemize-head)     (global-set-key (kbd "​C-M--"​) '​add-itemize-head)
-    (global-set-key (kbd "<​f12>"​) 'takaxp:​open-file-ring) +    (global-set-key (kbd "<​f12>"​) 'my:​open-file-ring) 
-    (global-set-key (kbd "C-c t") 'takaxp:date) +    (global-set-key (kbd "C-c t") 'my:date) 
-    (global-set-key (kbd "C-c f 4") 'takaxp:​window-resizer))+    (global-set-key (kbd "C-c f 4") 'my:​window-resizer))
 </​code>​ </​code>​
  
 ===== おわりに ===== ===== おわりに =====
-:​PROPERTIES:​ +
-:ID:       ​0FC57CCF-47F2-4C63-9481-F08FC5DE11B3 +
-:END:+
  
 以上が,私の <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​init.el</​span></​html>​ とその説明です. 以上が,私の <​html><​span style="​margin:​0 2px;​padding:​2px 5px;​white-space:​nowrap;​border:​1px solid #​ccc;​background-color:#​f8f8f8;​border-radius:​3px;​-moz-border-radius:​3px;​-webkit-border-radius:​3px;">​init.el</​span></​html>​ とその説明です.