ソフトウェア設計及び演習2015
基礎編
Emacsを制するものは,本講義を制します.便利な emacs を使いこなしすことで効率良くプログラミングしましょう!
準備
前回の講義で使った「cairo_sample」のサンプルプログラムを使って解説します. まだダウンロードしていない人は,svnでダウンロードしておきましょう.
実行手順
#svnから持ってくる(実行した直下にcairo_sampleディレクトリができる) svn export https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/cairo_sample/ #持ってきたディレクトリに移動 cd cairo_sample
環境を整える
Emacsを使っているとき基本的にはマウス使わず「ショートカットキー」を多用します.キーボードから手をマウスへ移動するということは時間の浪費なのです.できる限りキーボード操作を快適にするためにもキーボード配置を自分の使いやすいものにしておきましょう.
Control キーと Caps lock キーの入れ替え
Control キーとCaps lock キーを入れ替えておくと,ショートカットキーをタイプするときに非常に便利です. Unity を使っている人の場合は以下のようにして入れ替えができます.
- デスクトップ画面左上の「ホーム」を開く
- 検索ボックスに「キーボードレイアウト」とタイプ --> 「キーボードレイアウト」が出現するので開く
- 「オプション」--> 「Ctrlキーの位置」--> 「Ctrl と Caps Lock を入れ替える」を選択
メタキーについて
メタキーを使った操作は,Escキーを使う他に,Altキー や C-[ を使ってもOKです. Escキーは離れた場所にあってタイプしづらいですよね.これを覚えておくと M-f(1単語進む) とか M-v(1画面戻る) とか C-M-f(開きかっこから対応する閉じかっこへジャンプ)のようなコマンドが使いやすくなります.
困ったら C-g でキャンセル
「C-g」はキャンセルのショートカットキーです.「困ったらC-g」と覚えておきましょう.
基本操作のショートカットキー
マウスを使わず,キーボード操作のみで何かをしようと思ったとき,ショートカットキーは必要不可欠です. ショートカットキーを使いこなして Emacs初心者を卒業しよう!
Emacs の終了
C-x C-c
カーソルの移動
カーソル(別名「ポイント」)を移動するためのショートカットキーを覚えよう.
ショートカットキー | 意味 in English | 意味 in Japanese | 重要度 |
C-f | forward-char | カーソルを1文字分右に移動する | *** |
C-b | backward-char | カーソルを1文字分左に移動する | *** |
C-n | next-line | カーソルを1行下に移動する | *** |
C-p | previous-line | カーソルを1行上に移動する | *** |
C-a | beginning-of-line | 現在の行の先頭に移動する | ** |
C-e | end-of-line | 現在の行の最後に移動する | ** |
C-v | scroll-up | 1画面後ろに移動する | ** |
M-v | scroll-down | 1画面前に移動する | ** |
M-> | end-of-buffer | バッファの最後に移動する | * |
M-< | beginning-of-buffer | バッファの先頭に移動する | * |
M-x goto-line RET n RET | goto-line n | n行目に移動する | * |
ここで,RET はリターンキーをタイプすることを意味します.
文字の削除
Backspace (カーソルの直前の文字を削除)
ご存知の通り,そのまま,
Backspace
なのですが,自分のホームディレクトリにある「.emacs」というファイルに以下を追加すると,
(global-set-key "\C-h" 'delete-backward-char)
Backspaceが
C-h
で可能になります.Backspaceは,頻繁に使う割に,ホームポジションから遠い場所に配置されていて, 手首を動かすのが面倒に感じませんか?これを軽減するという意味で個人的にはオススメ.
マークに関する操作
キー | 説明 |
C-x C-x | マークとポイントを入れ換えます。最後にマークした位置にカーソルが移動し,ポイントにマークが付く.「C-x C-x」を何度も押せば、マークとポイントを行ったり来たりできる |
C-u C-<SPC> | カーソルが,これまで付けたマークをさかのぼって移動する. |
覚えておくと便利
C-M-\ または C-x <tab> | リージョン内の全ての行をインデント(字下げ)する. |
C-x h | バッファ全体をリージョンにできます。「C-x h → C-M-\」でバッファ全体をインデント. |
C-x C-u | リージョン内の文字を全て大文字にする |
C-x C-l | リージョン内の文字を全て小文字にする |
検索と置換
とても便利な機能です.ぜひ覚えてください
置換
変数名を変更せざるを得なくなったときに便利.
M-% | クエリ付きで文字列を置き換え |
M-x replace-string | クエリなしで文字列を置き換え(実行するときは要確認!!) |
かっこ
プログラムを書いているうちに,たくさんの括弧が出てきて対応を把握するのが困難になります. そんなときに使うと便利.
最終更新日:2015/05/22 13:54:52