ブログ

サイト管理人のブログです。

ブログ一覧

Karabiner-Elementsでemacsのマークとリージョン

私は生まれも育ちも UNIX環境でしたので、エディターと言えば当初は(Vimではない)vi、その後はずっと emacsでした。

Windowsへの移行を余儀なくされても「窓使いの憂鬱」、及び後継の「のどか」で凌ぎ、その後の Macでは Karabinerに大変お世話になっていたのですが、Sierraになってまさかの Karabiner非対応!

Karabiner-Elementsもありましたが、マークとリージョンが使えないのでは…、とずっと見送っておりました。

それが気が付くと最近の Karabiner-Elementは大幅にパワーアップし、変数が使えるようになっています。

ということで、この変数を利用してマークとリージョンの設定を追加してみました。

ベースは本家の「Emacs key bindings (rev 8)」で、まず

左Optionと左Commandの入れ換え(emacs使いなのでメタキーを押しやすく)

次にカーソル移動をいくつか追加しました。

command-f 1単語右
command-b 1単語左
ctrl-e 行末(Endキー)
ctrl-a 行頭(Homeキー)
command-> 書類の末尾
command-< 書類の先頭

そして念願のマークとリージョン、コピペです。

ctrl-space マークセット(2回目でマーク解除)
ctrl-fbaenpvやcommand-fbv>< リージョン設定(マークセット時)
ctrl-w 切り取りとマーク解除
command-w コピーとマーク解除
ctrl-y 貼り付け

設定ファイルであるkarabiner.jsonはここからダウンロードしてください。

急いで作ったので汚いところ多々ですが、とりあえず手元のHigh Sierra+Karabiner 11.3.0環境で動いております。
設定ファイルは追々直して参りますが、それにしても Karabinerの作者 tekezo様、本当に感謝しています。
2017年11月13日

(続)Karabiner-Elementsでemacsのマークとリージョン

Command+← と Home、Command+→とEndが異なることが判明したので、次のように変えました。

command-f 1単語右
command-b 1単語左
control-e 行末(End。Word、Excel、Powerpointの場合)
control-a 行頭(Home。Word、Excel、Powerpointの場合)
control-e 行末(command+→)
control-a 行頭(command+←)
command-> 書類の末尾
command-< 書類の先頭


control-kで削除したものをクリップボードへ入れるようにしました。(Word、Excel、Powerpointでも使えます。)


control-space マークセット(2回目でマーク解除)
control-fbaenpvやcommand-fbv>< リージョン設定(マークセット時)
control-w 切り取りとマーク解除
command-w コピーとマーク解除
control-k 行末まで削除しクリップボードへ
control-y 貼り付け


その他、昨日の設定ファイルに誤り(マークセット時の挙動)があったのも修正しています。
karabiner.jsonはここからダウンロードしてください。

2017年11月14日