Emacs始めました
ずっとVim派だったんですが、最近Emacsに挑戦中です。Vim派でしたが、Emacsはデフォルトが論理行でカーソル移動なので、長めの文章を書くときには使っていたこともあって、抵抗はありません。昔、サーバルームでVimがなくてViだけしかなかったため、多段Undoが使えなくて非常に不便な思いをしたことがありました。そのときEmacsを見つけてとてもありがたかった体験もあって、練習がてら使っていたんですよね。viperもありますし、意外といい感じです。なぜかggコマンドが使えなかったりしますけど。1Gでなんとかなるからいいけどなんででしょう?まあ、細かいところはおいおいですね。
きっかけはAgdaをちょこっといじってみて、ℕとかの黒板太字を使うようになってCygwin版のtmuxでは正常に表示されないことがわかったからです。本当はℕは表示できるんですけど𝕟や𝕏がだめなんですよね。たぶん、UnicodeのBMPに無いやつはおかしくなるのではないかな?数学で使うやつ以外は使わないからいいかとも思ったんですが、Twitterが𝕏になったでしょう?エディタで下書きするから困ってしまったんですよね。tmuxを使わないと表示できるんですけど。でも、Window Managerを使わないとかないですよね。GNU Screenなら使えたんですが、prefixをCtrl-Alt-aに割り当る方法がわからなくて。tmuxではprefixをCtrl-Alt-aに割り当てて、それをAutoHotKeyでF24-aで入力できるようにしていたのが便利で、それができないとだめな体になっていました。
それでWindows Terminalとかいろいろ調べてみたんですけど、𝕟や𝕏は表示できてもUnicodeをちゃんと表示できるのはEmacsだけでした。Windows Terminalはなかなか頑張っていたんですが、🇯🇵や🧜♂を扱えるのはEmacsぐらいだったんですよね。フォントが無くてもコードポイントを表示してくれるのもポイントが高いです。
Windows版のVimもなかなかでしたが、ターミナル代わりに使うにはハードルが高そうです。フォントを「UD デジタル 教科書体 N-R」にしてℕを入力すると中黒になってしまうという現象もありました。フォントを切り替えると表示されるのでフォントデータが無いわけではないんですよね。
Emacsは異体字も表示できるみたいなのもポイントが高いです。ただ、設定がわからなくて表示できてないですけど。
Emacsもいろいろ種類があって、MinGW版、Cygwin版、WSL版と3種類あるのでどれを使うかで悩みました。実は前々からSSDがぱんぱんなので、CygwinとWSLの両方を入れるのはつらいと感じていました。そして、Cygwinでは動かし方のわからなかったSageMathもあっさり動きましたし、WSLへの移行が必要かとは薄々思っていました。WSLはアプリの管理がコマンドラインでできて便利ですよね。WSL版ならWSLの機能も使いやすいですし。たぶんCygwinも使えるでしょう。文字コード変換で苦しむこともなくなりそうです。conhost.exeが勝手に変換するのはとてもうざいです。
ただ、IMEがWindowsのものが使えないんですよね。WindowsでもGoogle日本語入力を使っているので、Mozcがあるなら一緒かとも思ったんですが、AutoHotKeyでバリバリに親指シフトもどきにしているので、慣れないローマ字入力はつらい。Linuxだとoyainputというやつで親指シフト環境を作れるみたいですが、これが動かない。/proc/bus/input/devices が空なのが原因みたいですが、どうしていいのかわかりません。Emacsだけならmozc_emacs_helperというやつを使えばWindowsのIMEが使えるみたいなのですが、それだと他のアプリから使えないのでなんとかならないか調べていたんですけど、解決策は見つかりませんでした。ということでMinGW版を使ってこれを書いています。MinGW版でEmacsに慣れつつ、WSL版への移行を準備する感じです。
WSL版ならカラー絵文字も表示できるみたいです。これもまた設定がわからなくて表示できてないですけど。Cairoとかいうのの設定ができていないのか、フォントの設定がだめなのか?
ちょっと心配だったのはWSLからWindows側のファイルを操作するととても遅いといううわさ。でも、ちょっと試したところではそんなにではないもよう。WSL側に全部移してしまおうかとも思ったのですが、そうするとWindows側から触りづらくなるんですよね。ということで、WSLからCygwinのhomeディレクトリにシンボリックリンクを張って様子を見ることにしました。
コメント
コメントを投稿