はじめに
Emacs は UNIX 用高機能エディタです。このページでは Emacs の使い方を説明
します。
Emacs 20.7.2 で動作確認を行いました。
[ ] は省略可能を意味します。
"M-" は Meta Key を表わし、 Alt キーまたは Esc キーを押しながら次のキーを
押すことを意味します。"C-" は Ctrl キーを押しながら次のキーを押すことを意味
します。
設定によってキーの割り当てが変わっている場合があります。
目次
- 基本の操作
- 便利な操作
- 細かい操作
- もっと細かい操作
- 設定
基本の操作
- 起動
- emacs [ファイル]
emacs -nw [ファイル] (コンソール上で起動)
emacs -q [ファイル] (設定ファイルを読み込まずに起動)
- 移動
- C-b (左)
C-f (右)
C-p (上)
C-n (下)
- 削除
- Delete (カーソルの左の文字を削除)
C-d (カーソル位置の文字を削除)
- 保存
- C-x C-s (上書き保存)
C-x C-w (名前を付けて保存)
- 終了
- C-x C-c
- 操作の取り消し
- C-g
Esc Esc Esc (取り消し、または現在のウインドウ以外を閉じる)
- ヘルプ
- C-h または M-x help
たとえば、C-h の後に k を押し、その後にキー(C-x C-s など)を入力すると、
そのキーに割り当てられている機能の説明が表示される。
便利な操作
- ファイルを開く
- C-x C-f
- 行ジャンプ
- M-x goto-line (指定した行番号に移動)
- リフレッシュ
- C-l (現在行が真ん中になるように画面を描きなおす)
- 削除
- C-k (カーソル位置から行末までを削除
M-0 C-k (カーソルの左から行頭までを削除)
- ペースト(ヤンク)
- C-y (削除またはコピーされた内容をペースト)
M-y (ペースト(C-y)後、ペーストする内容を選択)
- 検索
- C-s (文字列の前方検索)
C-s C-s (次の前方検索)
C-r (文字列の後方検索)
C-r C-r (次の後方検索)
- 置換
- M-x replace-string (カーソル位置以降の文字列を全て置換)
- アンドゥ
- C-x u または C-_
細かい操作
- 移動
- C-a (行の先頭へ移動)
C-e (行の末尾へ移動)
M-f (1単語右に移動)
M-b (1単語左に移動)
M-< (ファイルの先頭へ移動)
M-> (ファイルの末尾へ移動)
M-v (前のページ)
C-v (次のページ)
- 削除
- M-d (カーソルの右にある単語を削除)
M-Delete (カーソルの左にある単語を削除)
- 範囲(リージョン)指定開始
- C-Space カーソル移動
- コピー
- 範囲指定開始後、範囲指定終了位置で M-w (終了位置の手前の文字まで)
- 削除
- 範囲指定開始後、範囲指定終了位置で C-w (終了位置の手前の文字まで)
- バッファの操作
- ファイルはバッファとして管理されます。
C-x C-b (バッファリストの表示)
C-x b (別のバッファを表示する)
C-x k (バッファを削除)
もっと細かい操作
- ウインドウを分割
- C-x 2 (ウインドウを横に2つに分割)
C-x 3 (ウインドウを縦に2つに分割)
C-x 4 f (新しいウインドウでファイルを開く)
C-x 1 (現在のウインドウ以外を全て閉じる)
C-x 0 (現在のウインドウを消す)
C-x o (次のウインドウに移動)
C-x 4 b (別のウインドウで別のバッファを表示する)
- シェル
- M-x shell (シェルを起動)
M-! コマンド (シェルコマンドを実行)
- タグジャンプ
- etags で作った TAGS ファイルをもとにタグジャンプを行います。
M-. タグ (タグへ移動)
C-u M-. (次のタグへ移動)
C-x 4 . タグ (別ウインドウでタグに移動)
- 単語の補完
- M-/ (ファイル内から候補を探して補完)
- Fortran モード (*.f や *.for ファイル)
- M-x fortran-mode (Fortran モードの起動)
Tab で字下げ(スペースになる)
行の先頭に数字を入れるとラベルになる
C-c C-r (一時的にルーラーを表示)
C-c C-w (Fortran 用ウインドウの表示)
C-M-j (カーソル位置で継続行として折り返す)
C-M-a (副プログラムの先頭に移動)
C-M-e (副プログラムの最後に移動)
C-M-q (副プログラムの行を全て字下げする)
M-; (コメントをそろえる、または挿入する)
範囲指定後 C-c ; (リージョンをコメントにする)
範囲指定後 C-u C-c ; (上のコメントをはずす)
;略称 (組込み略称(abbrev-mode で))
;? (組込み略称の表示)
設定
- 設定例
- 設定ファイル ~/.emacs
; 日本語
(set-language-environment "Japanese")
; 文字コード
(set-default-coding-systems 'euc-jp)
(set-buffer-file-coding-system 'euc-jp-unix)
(set-terminal-coding-system 'euc-jp)
(set-keyboard-coding-system 'euc-jp)
; デフォルトはテキストモード
(setq default-major-mode 'text-mode)
; メニューバーを消す
(menu-bar-mode -1)
; 起動時のメッセージを表示しない
(setq inhibit-startup-message t)
; バッファの最後の移動での行の追加を防ぐ
(setq next-line-add-newlines nil)
; スクロール数
(setq scroll-step 1)
; カーソル位置の行数を表示
(line-number-mode 1)
; カーソル位置の桁数を表示
(column-number-mode 1)
; バックアップファイルを作成しない
(setq make-backup-files nil)
; オートセーブを行わない
;(setq auto-save-default nil)
;(setq auto-save-list-file-name nil)
;(setq auto-save-list-file-prefix nil)
; Backspace の設定
(global-set-key [backspace] 'delete-backward-char)
; C-h に Backspace を割り当てる
(global-set-key "\C-h" 'delete-backward-char)
; C-x C-h に help を割り当てる
(global-set-key "\C-x\C-h" 'help)
; C-x C-g に goto-line (行ジャンプ)を割り当てる
(global-set-key "\C-x\C-g" 'goto-line)
; C-o カーソルの下に行を挿入
(global-set-key "\C-o" "\C-e\C-m")
; M-o カーソルの上に行を挿入
(global-set-key "\M-o" "\C-p\C-o")
; C-\ を未定義にする
(global-unset-key "\C-\\")
; Fortran モード
(setq fortran-mode-hook
'(lambda ()
; 略称を使う
(abbrev-mode 1)
; オートインデント
(global-set-key "\C-m" 'newline-and-indent)
))
;;
;; X 用の設定
;;
; カラー設定
(global-font-lock-mode t)
(set-foreground-color "white")
(set-background-color "#000000")
(set-cursor-color "white")
; スクロールバーを右側に表示する
(set-scroll-bar-mode 'right)
; メニューバーの表示
(if window-system (menu-bar-mode 1)))
; ホイールマウス対応
(defun up-slightly () (interactive) (scroll-up 5))
(defun down-slightly () (interactive) (scroll-down 5))
(global-set-key [mouse-4] 'down-slightly)
(global-set-key [mouse-5] 'up-slightly)
(defun up-one () (interactive) (scroll-up 1))
(defun down-one () (interactive) (scroll-down 1))
(global-set-key [S-mouse-4] 'down-one)
(global-set-key [S-mouse-5] 'up-one)
(defun up-a-lot () (interactive) (scroll-up))
(defun down-a-lot () (interactive) (scroll-down))
(global-set-key [C-mouse-4] 'down-a-lot)
(global-set-key [C-mouse-5] 'up-a-lot)
|