Home / Index / Changes

Emacs Like Keys for Squeak

SmalltalkHichhikersGuide より分家。

ParagraphEditorの定義をちょっといじって、Emacsライクなエディタ操作を少し だけサポートするものを書いてみました。

EmacsLikeKeys.lzh ... download!

Squeak-3.1a で書きましたが、多分 2.x でも動くと思います。

EmacsLikeKeys.st をファイルインすると、Goodies-EmacsLike というカテゴリに EmacsLikeKeys というクラスが追加され、 ParagraphEditor クラスへの変更が有 効になります。 EmacsLikeKeys クラスを削除すると、元に戻ります。また、


EmacsLikeKeys install "有効化"

EmacsLikeKeys uninstall "無効化"

というメッセージ式でもコントロールできます。

このシステムクラスへの変更を行う部分は、青木淳さんがSML:1522 で紹介している MouseButtonModifier から、


  class initialize

  class install

  class obsolete

  class uninstall

  class installModificationInClass:protocol:code:

  class uninstallModificationInClass:selector:

をほとんどそのまま真似して使わせて頂きました。

できることは、


  C-f     (カーソルを右へ)

  C-b     (カーソルを左へ)

  C-n     (カーソルを下へ)

  C-p     (カーソルを上へ)

  C-e     (カーソルを行末へ)

  C-a     (カーソルを行頭へ)

  C-h     (カーソルの一文字左を削除)

  C-d     (カーソルの一文字右を削除)

  C-w     (カット)

  M-w     (コピー)

  C-y     (ペースト)

といったところです。マーク/リージョンの操作は、やりたかったのですが大が かりになってしまうのでまだ手をつけかねています。