atomic-chrome再訪
概要
Emacsのatomic-chromeと,Google Chromeの拡張GhostTextを使って,Jupyter notebookなどの編集を便利に行います.
いるもの
- Emacs (今回試したのは,"GNU Emacs 25.2.1 (x86_64-w64-mingw32) of 2017-04-26")
- Google Chrome (or chromium, 今回試したのは63.0.3239.84)
- atomic-chrome (melpaから atomic-chrome at Github
- GhostText(ChromewebストアからGhostText)
使い方
「Atomic Chrome for Emacs - EmacsでChromeのテキストエリアをリアルタイム編集」に付け加えることはほとんどありませんが,繰り返しをいとわず一通り書いておきます.
上述のように,Emacsにatomic-chrome, ChromeにGhostTextをインストールします.
次に,Emacsの側で M-x load-library atomic-chromeして,
atomic-chrome-start-server を呼び出します.
更に,Chrome側で,textarea のあるページ(例えばQiitaの投稿画面)を表示し,GhostTextのアイコンをクリックします.すると,textarea が青く囲われた表示になり,emacs側に入力用のバッファがあらわれます.そのバッファに入力した内容が,随時textareaに反映されます.
Qiitaの編集画面だと,Markdownのpreviewが追従しないことがあります.その場合,textareaの方で空文字を入力して消去するなどしてみて下さい.
##当初の目論見
以前Qiitaに投稿した,EIN でのJupyter notebookの編集(「einで数式表示」)が,最近のSagemath(に同梱のJupyter)では上手くいかなくなり(ログインが出来ない._xsrfに関するエラーが出ることもあり,特にエラーが表示されずログインだけできないこともある,なおこちらのissue参照.),代替を探していました.
atomic-emacsとGhostTextの組合せでJypyter notebookの編集ももちろん可能です.ただ,次の2点が気になります:
- Jupyterだと入力のためのtextareaが複数あり,次々と入力欄が変わっていく
- sagemathのコマンドを入力していく際に,tabでの保管が欲しい
前者については,GhostTextのショートカットを作成することである程度対応できます.Chromeの画面右上部のGhostTextのアイコンを右クリック→「拡張機能を管理」→画面最下部の「キーボードショートカット」のリンクをクリックすると,「拡張機能とアプリ用のキーボードショートカット」の画面があらわれます.Toggle GhostText の箇所に,デフォルトが設定されていますが,気に入ったものに変更すればよいでしょう(私はCtrl+Shift+Aにしています).あたらしいtextareaで,いま設定したショートカットをタイプすれば,即座にemacs側から入力が可能です.
後者の補完についてはまだ上手いアイディアがありません.示唆があれば教えて頂けると幸いです.