私はEmacsの基本的な動きのための新しいバインディングを実験しています。このページとErgoEmacsから借用すると、この再マッピングは期待どおりに機能します。
(global-set-key (kbd "M-i") 'previous-line)
(global-set-key (kbd "M-k") 'next-line)
(global-set-key (kbd "M-j") 'backward-char)
(global-set-key (kbd "M-l") 'forward-char)
ただし、Shift-Altの組み合わせを定義すると、望ましくない副作用が発生します。
(global-set-key (kbd "M-I") 'cua-scroll-down)
(global-set-key (kbd "M-K") 'cua-scroll-up)
(global-set-key (kbd "M-J") 'backward-word)
(global-set-key (kbd "M-L") 'forward-word)
describe-key
( )を実行C-h kすると、バインディングが成功したことを示します。そして、これらのバインディングはポイントを適切に移動しますが、何らかの理由でマークを元の位置に設定し、ポイントを移動すると強調表示された領域が表示されます。
これを修正するにはどうすればよいですか?
編集:これはcua-modeと関係があります。cua-modeを無効にすると、問題は解決します。残念ながら、cua-modeを無効にすることは望ましい解決策ではありません。
編集:これはEmacsのバグです。バグ#11221として追跡され、タイトル「cua-modeはシフトされたバインディングのマークをアクティブにします」。メーリングリストでの議論から、cua-base.elに修正があるようです。