Emacsについて


emacsは殆どのUnix/Linux環境で使用することができるスクリーンエディタで、操作は全てコマンドを用いたキー操作で行う。キーには自分で好きなコマンドを割り当て可能。自分でキーカスタマイズすることによって自分好みのemacsを持つことができます。元々はプログラマ向けのエディタなのでキーボード操作ばかりですが、覚えればキーボードだけで殆どのことができる為、手放せなくなります。

viに無い特徴としては画面分割機能があげられます。一つのエディタ画面を上下左右に分割して各々の画面で編集できるのでかなり便利です。(同じファイルの内容を確認しながら編集したりできます)

リファレンス内のキー設定について

emacsでは操作の殆どをカスタマイズすることができますが、当リファレンスではデフォルトで設定されている操作方法をまとめていきたいと思います。(当たり前の話ですけどね(笑))

Emacs リファレンスの表記説明

リファレンス内ではCtrlキーを「C」、Altキー及びEscキーを「E」と省略表記しています。C-vはCtrl+vを意味し、E-vはAlt+vまたはEsc+vを意味します。またC-x → C-fはCtrl+xを押してからCtrl+fを押すことを意味する。

コマンド一覧

ファイル操作

コマンド動作
emacs emacsエディタ起動(初期ヘルプメッセージ表示)
emacs file1 emacsエディタを起動してfile1を開く
C-x → C-f ファイルを読み込む(現在開いているファイルは開いたまま)
C-x → C-v 別ファイルを読み込む(現在開いているファイルは閉じる)
C-x → C-b バッファの一覧表示
C-x → b → バッファ名指定したバッファを呼び出す
C-x → C-s 編集中のファイル(バッファ)を保存
C-x → k 編集中のファイル(バッファ)を破棄
C-x → C-w ファイルを名前を付けて保存する
C-x → i カーソル位置に指定ファイルの内容を挿入

カーソル移動

矢印キーが有効な環境ではキーボードの矢印キーでカーソル移動できますが、無効環境ではコマンドを使ってカーソル移動を行うことになりますので一通り覚えておきましょう。
コマンド動作
C-f 1文字右へ移動
C-b 1文字左へ移動
C-p 1行上へ移動
C-n 1行下へ移動
E-f 1単語右へ移動
E-b 1単語左へ移動
C-a 行頭へ移動
C-e 行末へ移動
E-> ファイル先頭へ移動
E-< ファイル末尾へ移動
E-x n 指定したn行へ移動
C-v 1画面上へ移動
E-v 1画面下へ移動
C-l カーソルが画面中央に来るように画面移動

キーボードマクロ

コマンド動作
C-x → (マクロ記録を開始
C-x → )マクロ記録を停止
C-x → e記録したマクロを実行

文字列操作

コマンド動作
C-d カーソル位置の文字を削除
Del カーソル位置の前の文字を削除
C-k カーソル位置から行末まで削除
C-SPACE 現在のカーソル位置をマーク
C-w マーク位置からカーソルまでの範囲を切り取る
E-w マーク位置からカーソルまでの範囲をコピー
C-y カーソル位置にペースト
C-s 順方向へ文字列検索
C-r 逆方向へ文字列検索
E-% 文字列置換

ウィンドウ操作

コマンド動作
C-x → 0 アクティブウィンドウを削除
C-x → 1 アクティブウィンドウ以外の画面を削除
C-x → 2 上下に2分割(左右分割と合わせて4分割まで可能)
C-x → 3 左右に2分割(上下分割と合わせて4分割まで可能)
C-x → o ウィンドウ間のカーソル移動(時計回り)
C-x → ^ アクティブウィンドウを縦に拡大

日本語入力

コマンド動作
C-\ 日本語入力モードの切替
C-n / SPACE 次の変換候補をアクティブにする
C-p 前の変換候補をアクティブにする
C-i 変換対象の範囲を1文字短く
C-o 変換対象の範囲を1文字長く
E-h ひらがなに変換
E-k カタカナに変換
E-s 変換候補の一覧を表示

ゲーム

※余談
・ハノイの塔の円盤の最短移動回数は『2n乗 - 1』で求まる。
コマンド動作
E-x hanoi ハノイの塔
円盤数は3固定で自動スタート
C-u 数字 M-x hanoi ハノイの塔
数字で指定した枚数で自動スタート
E-x life ライフゲーム
生態の配置はランダムで自動スタート

その他

コマンド動作
C-z emacsを休止する
C-x → C-c ファイル保存を聞かれた後にemacsを終了
C-g 現在実行中のコマンドをキャンセルする
C-u 次に実行されるコマンドを4回繰り返す
C-h ヘルプモード
C-x → u一つ前の操作を取り消すアンドゥ機能( リドゥは無い)
ESC 数字 コマンドコマンドを指定した数字だけ繰り返す