複天一流:どんな手を使ってでも問題解決を図るブログ

宮本武蔵の五輪書の教えに従い、どんな手を使ってでも問題解決を図るブログです(特に、科学、数学、工学の問題についてですが)

emacsの初期設定

emacsの初期設定

もともとはemacsではなく、pulsar editorの設定を試みているときに見つけた諸問題であった。

  1. バックスラッシュと円記号の問題
  2. markdownのプレビューの問題

2の問題については正直頓挫である。なにか進展があったら記録していきたいが、今の所は失敗の記録しかない。 一方、1の問題についてはemacsについては以前から知っていた方法があるのだが、これをatomやpulsarにまで拡張使用すると、全く異なるアプローチが必要になる。これも以前mojaveで処置した手法であるが、随分前のことで忘れてしまっていた。

emacsでバックスラッシュを書く方法

バックスラッシュ 「\」は日本語キーボードには設定がない。代わりに円記号「¥」が割り当てられている。バックスラッシュはプログラミングで必須の記号であるのに対し、円記号は日常でほとんど使わない。私は経営者ではないし、会計などやったこともない。全部秘書任せである(笑)。日常的に¥キーを打ったら、\が出力されるようにしたいが、どうすればよいか?

調べたところ、macOSでは"option+¥"で切り替えができるそうである。デフォルトでは円記号にセットされているので、optionを押すとバックスラッシュになる。しかし、毎回オプションキーを押すのは面倒くさい。

emacsではlispによってキーバインドが制御できるので、$HOME/.emacs.d/init.elに次の命令を書き込むと解決できる。

(define-key global-map [?¥][?\\]);; Backslash instead of ¥

atomやpulsarでバックスラッシュを気軽に打ち込みたいのだが

上の手法がうまくいくのはemacsだけの話である。atomやpulsarでは依然として¥記号がデフォルトで表示されてしまう。このエディターもスクリプトによってキーバインドが制御できる。見よう見まねでやってみたが、なかなかうまくいかない。newlineとmove-upくらいならできるのだが、文字の入れ替えに関してのコマンドがどうしてもみつからなかった(どうも自分で定義しないといけないようだが、atomキーバインドひとつだけのために仕様書を読み込む気にはどうしてもなれない)。

この方法はあきらめて、mojaveでやった方法を思い出すことにした。記録を色々調べて見つかったのが、次の方法である。実はmacOS全体の定義として、¥ではなく\を表示させることができる。システム環境設定である。

システム環境設定でバックスラッシュを印字させるように設定

実はこの方法を最初からやっていたら、emacsのinit.elの設定は不要だったのである。

ということで、バックスラッシュの問題はこれで解決である。

markdownのプレビューの問題

先にも書いたが、これに関しては解決できてないので、途中経過のみである。しばらくはatom, pulsarでのプレビューは諦めることにする。というより、古いatomで動いていたmarkdown-preview-enhancedをコピーして、M1-MBPで利用することにする(下図)。

古いatomプラグイン環境をコピーしただけ

当面はこれでいいとはいえ、開発や利用が完全に止まったときに「完全な死」を迎えることが予想されるatomは、そう長いこと利用することはないはずで、次の方法を見つけねばならないのは明らかである。テトリスが動くemacsであるから、markdown-previewくらいやっている人がいそうなものである。そこで少し調べてみることにした。

まず見つけたのがmarkdown-modeである。

emacsmarkdown-mode

これはソースファイルに単に色をつけたりするだけの機能である。しかし、一応プレビューモードがついているので、どんな感じか見学してみる。

まずはinit.elに設定を書く

言われた通りに.emacs.d/init.elに指示を書き込み、markdown-modeのパッケージを読み込ませる(M-x package-list-packagesとうってから、画面に現れたリストを忍耐強くにカーソルで追いつつmarkdown-modeのところまで来たらenterキーを押す)。 この後、emacsを再起動する。

(autoload 'markdown-mode "markdown-mode.el" "Major mode for editing Markdown files" t)
(setq auto-mode-alist (cons '("\\.md" . markdown-mode) auto-mode-alist))
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(package-selected-packages '(markdown-mode)))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

previewモードはCtrl-c Ctrl-c mだそうだが、これはhtmlへ変換するときのソースファイルの表示がされるだけである。

Ctrl-c Ctrl-c pとやるのが本当のpreviewに相当するが、サファリが立ち上がって表示してくれるだけである。こんな感じのpreviewなら特にemacsの手を煩わせることもあるまい。手動でなんとかなりそうな感じがする。

ということで、emacsで作動するmarkdown-modeは「使えない」ことがわかった。さて、どうしたものか?

参考文献

moonstruckdrops.github.io