Last active
August 21, 2020 16:49
-
-
Save tam17aki/0804c4a6064290dadf1da1af3e5bbae0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; -*- mode: emacs-lisp; coding: utf-8-unix -*- | |
;; 1. jupyterをインストール: pip3 install jupyter | |
;; 2. ipyparallelもインストール: pip3 install ipyparallel | |
;; 3. jupyter-notebookを起動 | |
;; 4. M-x ein:run を実行して ipynbを作成したいフォルダを指定 | |
;; 5. ノートブック一覧から [Open]をクリックする | |
;; 6. ノートブックの保存はC-x C-s or C-x C-w | |
;; 7. jupyterを終了するときは M-x ein:stop | |
;; キーバインド一覧 | |
;; https://github.com/millejoh/emacs-ipython-notebook#keybindings---notebook | |
;; | |
;; C-c C-t : 当該セルの評価モードをPython->MarkDown->rawの順に切り替える | |
;; | |
;; C-c C-n : 1つ下のセルに移動 | |
;; C-c C-p : 1つ上のセルに移動 | |
;; | |
;; C-c C-e : 当該セルの表示をトグル | |
;; C-c C-c : 当該セルを評価(Pythonのみ; Markdownは不可) | |
;; C-uをつけて実行すると すべてのセルを先頭から評価できる | |
;; C-c C-k : 当該セルを削除 | |
;; | |
;; C-c C-a : 新規セルを当該セルの上に作成 (C-uを先につけるとMarkdownで作成) | |
;; C-c C-b : 新規セルを当該セルの下に作成 (C-uを先につけるとMarkdownで作成) | |
;; | |
;; C-c C-s : 当該セルを分割(split) | |
;; C-c C-m : 当該セルをマージ(merge) | |
;; | |
;; C-c C-l : 当該セルの出力をクリア | |
;; C-c C-S-l : 全てのセルの出力をクリア | |
;; | |
;; C-x C-s : 現在のnotebookを保存 | |
;; C-x C-w : 現在のnotebookを別名保存 | |
;; M-x ein:notebook-save-to-command は 当該ノートのコピーを、名前を付けて保存 | |
;; | |
;; C-c C-x C-r : notebookのセッションを再起動する -> 番号をクリアしたいときに使う? | |
;; | |
;; M-x ein:stop : jupyterを終了 | |
(eval-when-compile | |
(require 'ein) | |
(require 'ein-notebook) | |
(require 'ein-notebooklist) | |
(require 'ein-markdown-mode) | |
(require 'smartrep)) | |
(add-hook 'ein:notebook-mode-hook 'electric-pair-mode) | |
(add-hook 'ein:notebook-mode-hook 'undo-tree-mode) | |
;; undoを有効化 (customizeから設定しておいたほうが良さげ) | |
(setq ein:worksheet-enable-undo t) | |
;; 画像をインライン表示 (customizeから設定しておいたほうが良さげ) | |
(setq ein:output-area-inlined-images t) | |
;; markdownパーサー | |
;; →HTMLに翻訳した結果を*markdown-output*バッファに出力 | |
(require 'ein-markdown-mode) | |
;; pandocと markdownコマンドは入れておく | |
;; brew install pandoc | |
;; brew install markdown | |
(setq ein:markdown-command "pandoc --metadata pagetitle=\"markdown preview\" -f markdown -c ~/.pandoc/github-markdown.css -s --self-contained --mathjax=https://raw.githubusercontent.com/ustasb/dotfiles/b54b8f502eb94d6146c2a02bfc62ebda72b91035/pandoc/mathjax.js") | |
;; markdownをhtmlに出力してブラウザでプレビュー | |
(defun ein:markdown-preview () | |
(interactive) | |
(ein:markdown-standalone) | |
(browse-url-of-buffer ein:markdown-output-buffer-name)) | |
(declare-function ein:format-time-string "ein-utils") | |
(declare-function smartrep-define-key "smartrep") | |
(with-eval-after-load "ein-notebook" | |
(smartrep-define-key ein:notebook-mode-map "C-c" | |
'(("C-n" . 'ein:worksheet-goto-next-input-km) | |
("C-p" . 'ein:worksheet-goto-prev-input-km)))) | |
(with-eval-after-load "ein-notebooklist" | |
(defun ein:format-nbitem-data (name last-modified) | |
(let ((dt (date-to-time last-modified))) | |
(format "%-30s%+20s" name | |
(ein:format-time-string ein:notebooklist-date-format dt))))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment