Emacs
Emacsには最初から各個別のコマンド、変数、内部関数の説明文字列を表示する、強力なhelpライブラリが付属していた。このため通常の機能や現在の状態の情報をユーザーに提供するので、Emacsは自己説明的だと評される。各関数には説明文字列が含まれていて、要求に応じてユーザーに表示される。その後関数に説明文字列をつける習慣は、LISP、Java、Perl、およびPythonといったさまざまなプログラミング言語に広まった。このヘルプシステムにより、ユーザーは組込みのライブラリや追加されたサードパーティーのライブラリのどちらからも各関数用の実際のヘルプコードを取得できる。
Emacsには組み込みのチュートリアルもある。編集ファイルを指定せずEmacsを起動すると、簡単な編集コマンドの実行方法とチュートリアルを呼出す方法についての説明が表示される。このチュートリアルはStuart Cracraftとストールマンによって作られたものである。
キーの組み合わせのキーシーケンスを変えるスティッキーキー(英語版)の使用。
基本的なテキスト編集や、さらに進んだ機能のためのEmacsスキーム用にviキーレイアウトを使えるようにする、Emacsの組み込みviper-modeの使用。
スペースキーのようなより快適にアクセスできるキーへのもう1つの役割の付与。もう1つの役割を割り当てられたキーは、他のキーと組み合わせて押すことでコントロールキーとして機能する。エルゴノミクスキーボードや、日本語キーボードのようにスペースキーに隣接するより多くのキーを持つキーボードを使う。日本語キーボードはメタキーやシフトキー以外の修飾キーの親指操作が可能である。
制限されたキーバインディングの人間工学サブセットを使ったり、M-x <command-name>をタイプして他の機能にアクセスする。M-x自体もリバウンドできる。
音声入力によるEmacs操作。
Emacsと相互作用せずに毎日のタスクを行うために十分なElispを書く。
ハードウェアによる解決法としては、修飾キーを親指で簡単に操作できるKinesis Contoured Keyboardや、手の平で押せるようキーボードの両側に対称的に手の平で押すことができる巨大な修飾キーを配置したMicrosoft Natural keyboard(英語版)がある。フットペダルも利用できる。
Emacsが開発されたスペースカデットキーボードは、スペースキーに隣接したコントロールキーが巨大で親指が届き易かった。
Emacsの修飾キーへの強い依存が反復性過労障害(英語版)となるというフォークロアはEmacs小指 (英語: Emacs pinky) と呼ばれる。
ユーザーは様々なアプローチでEmacs小指に対処してきた。ソフトウェア側の手段には以下のようなものがある:
CapsLockキーをコントロールキーの代わりにするようにキーレイアウトをカスタマイズする。類似のテクニックにはCapsLockキーを追加のコントロールキーに定義したり、コントロールキーとメタキーを代わりにする。このテクニックもEmacs小指に対して特に推奨されている。
EmacsにXwritsや組み込みのtype-break-modeといった、ユーザーに定期的に休息を取らせるようなソフトウェアを入れる。
最初に文字を尋ねてから、カーソルの動きに対応したアクセスキーでその文字が出現するようにする、ace-jump-modeのようなパッケージや、類似の階層ナビゲーションを提供するelisp拡張を使う。
先進的なVimエミュレーション層のevil-mode。
Vimのように修飾キーなしでEmacsコマンドを入力するためのモードによるアプローチを提供するgod-mode。
Spacemacsが提供するカスタマイズされたキーレイアウトの使用。spacemacsは制御シーケンス用の主要なキーとしてスペースキーを使うプロジェクトであり、evil-modeとgod-modeも二つとも重点的に組み込んでいる。
バッファはウィンドウ内に表示される。ウィンドウは端末画面やGUIウィンドウのタイリングされた部分である(その部分はEmacs用語でフレームと呼ばれ、複数のフレームが可能)。特に設定されていない場合、ウィンドウにはスクロールバー、行番号、一番上にあるヘッダ行(通常この行にはバッファタイトルやファイル名が表示される)、そして一番下にあるモード行(通常この行には現在のモードとバッファにおけるポイントの位置のリストが表示される)が含まれる。
同じバッファ上で複数ウィンドウを開くことができるため、例えば1つの長いテキストから異なるパートを見ることができる。さらに複数バッファで同じテキストを共有できるので、例えば言語が混在したファイルで異なる主モードを利用することができる。M-x <mode name>により必要に応じてモードを手動で変更することもできる。
ふつう最下行にあるミニバッファは、Emacsが情報を受け取る場所である。検索対象のテキストや読んだり保存したりするファイルの名前などの情報をミニバッファに入力する。一部の入力ではタブキーを用いて入力を補完することができる。ミニバッファは通常1行しかないが、ここでも通常のバッファと同じ移動・編集コマンドを使うことができる。