使えるツール(IT)

emacs

emacsって、どんな大学でも一番最初に使うエディタではないでしょうか!?

それって操作がとても簡単なので誰でも使えると言うことが大きな理由だと思います。

そんなみんな使っているemacsですが、実は知らないことがいっぱいあるんです。

emacsでテトリスとか五目並べとかのゲームができるよ!!
知らなかった!!!!

単語の整理

emacsで良く使われる単語の意味を整理しておきたいと思います。

ポイント

現在のカーソルのある位置

マーク

文章の任意の場所に印(見えない)をつけておくことができて、その見えない印のある場所のこと

リージョン

ポイントとマークに挟まれた部分

バッファ

削除された内容を一時的に保持しておく

一個保持できて、もう一回やると上書き

レジスタ

名前つきで(一文字)で保存する

削除

Del

カーソルの前の一文字を削除

c-d

カーソルの位置の一文字を削除

c-k

カーソルの位置から右側を削除

c-/

アンドゥー(直前の削除を無効にする)

c-xu

アンドゥー(直前の削除を無効にする)

コピー、カット、ペースト

c-SPC  、c-@

削除する領域の先頭にマークをつけるために用いる。カーソル位置にマーク(見えない)をセットする

M-w

カーソルの位置とマークで囲まれた領域をコピーする

(コピーバッファに書き出す)

c-w

カーソルのいちとマークで囲まれた領域を削除する

(コピーバッファに移動する)

c-y (M -y)(ヤンク)

c-wで削除した領域をカーソルの位置に復活する(=ペースト)

(コピーバッファの内容をバッファに書き出す)

※ヤンクではC-yのあとにM-yを押すとその数だけコピーする内容をさかのぼることができる

リージョン・バッファ操作

c-SPC, c-shift-SPC, c-@

カーソルのある文字とその直前の文字との間にマークをセットする

c-w

リージョンの内容を削除する

c-wr r

カーソルの位置をrと言うレジスタにコピーする

c-xrjr

rと言うレジスタに保存された位置の所にジャンプする

c-xrsr

リージョンの内容をrと言うレジスタにコピーする

ファイル操作

Ctrl-x, Ctrl-f

ファイルを読み込む

Ctrl-x, b バッファ名

バッファをウインドウに呼び出す

Ctrl-x, Ctrl-b

バッファの一覧表示と操作

Ctrl-x, i

カーソル位置にファイルを挿入する

Ctrl-x, Ctrl-s

ファイル(バッファ)を保存する

Ctrl-x, Ctrl-w

ファイルに名前を付けて保存する

Ctrl-x, k

ファイル(バッファ)をクローズする

 ディレクトリ操作

Ctrl-x, d

ディレクトリ(ファイル)操作が行えるDiredモードに移行する

ESC-x compile

make -k を削除してコンパイルコマンドを入力コンパイルコマンドを実行できる

ESC-x recompile

2回目以降のコンパイルコマンド

ESC-x shell

emacs上にシェルが起動する

ESC-x gdb

emacs上にgdbが起動する

矩形領域の編集

c-x SPC

矩形領域選択モードに入る

c-w, M-w, c-y

矩形のリージョンの内容を削除、コピー、貼り付けする

c-x r k

その時点でのマーク位置とポイント位置を元に作った矩形領域を削除する

c-x r y

矩形領域をペーストする

カーソル移動

C-a

先頭

C-e

行末

C-b

1文字戻る

C-f

1文字進む

C-p

1行戻る

C-n

1行進む

ESC-<

ファイル先頭に移動

ESC->

ファイル末尾に移動

C-x [

1ページ戻る

C-x ]

1ページ進む

カーソル移動表

f:id:tomo-study:20190829162045p:plain

ウィンドウ操作

C-x 1

現在の位置だけ残す・カーソルの位置だけ残す

C-x 2

縦に並べる・ウィンドウを縦に2分割する

C-x 3

横に並べる・ウィンドウを横に2分割する

C-x 0 (ゼロ)

現在の位置だけ閉じる

C-x o (オー)

ウィンドウの移動

C-x ^

ウィンドウを縦方向に拡大

C-x }

ウィンドウを右方向に拡大

日本語入力

SPACE

漢字変換開始または次候補を表示

RETURN

確定

Ctrl-n

次候補を表示

Ctrl-p

前候補を表示

ESC-h

文節をひらがなにする

ESC-k

文節をカタカナにする

Ctrl-f

文節単位でカーソルを前進

Ctrl-b

文節単位でカーソルを後退

Ctrl-a

最初の文節にカーソル移動

Ctrl-e

最後の文節にカーソル移動

Ctrl-i

文節を一文字縮める

Ctrl-o

文節を一文字のばす

ESC-s

ミニバッファに候補をメニュー表示

大文字小文字変換・検索・置換

ESC-c

単語先頭の文字を大文字にする

Ctrl-x, Ctrl-u

マークから現在位置までの範囲の文字を大文字にする

ESC-u

単語を大文字にする

Ctrl-x, Ctrl-l

マークから現在位置までの範囲の文字を小文字にする

ESC-l

単語を小文字にする

Ctrl-s,Ctrl-r, Ctrl-ESC-s Ctrl-ESC-r

検索

ESC-%M-x

問い合わせ置換

※C-sがカーソルの後ろを検索していき、C-rがカーソルの前を検索していきます。

C-M-*は正規表現に対応した検索、置換になります。

ヘルプ

コマンドを忘れた時でもヘルプは開けるように覚えておくと良いと思います。

C-h m

M-xのコマンドついて調べてみるといろいろできて便利です。

ゲーム

ESC-x doctor

人工知能と会話するプログラム

ESC-x hanoi

ハノイの塔(C-u 数字ESC-x hanoiで高さ変更)

ESC-x life

眺めるだけのライフゲーム

ESC-x mpuz

乗算パズル

「A」欄に「1」を入れたいときは、「a 1」と記述する

ESC-x dunnet

迷路を探検するアドベンチャーゲーム

[e]:eastの略(東に移動)

[examine]:調べる

[get]:拾う

[climb]:木登りをする

ESC-x gomoku

五目並べ

ESC-x tetris

テトリス

ESC-x blackbox

マインスイーパ風パズル。

X線を当て、その反射・吸収のしかたを観測し内部を推測するゲーム

コマンド:

[SPC]:X線の発射、フラグを立てる

[RET]:終了、スコア表示

[ESC-x describe-mode] で詳細が表示されます

X線は、ballの右上、右下、左上、左下を通るとその地点で90度屈折するので、それをもとに位置を推測します。

「ball」に当たって吸収の時「H」、反射して戻ってきた時「R」

まずはC-u 1 M-x blackbox で「ball」1つから始めましょう。

ESC-x snake

ヘビを操るdot-eatタイプのゲーム

ESC-x solitaire

ソリティア

[Shift]-[up][down][left][right]飛び越した石を消す。

[space] : 消せる石の数を表示

その他

M-x goto-line

指定の行に移る(行番号を指定)

M-x set-variable     truncate-linesをf を選択することで、長い行が画面の端まで来たときに折り返さない

M-x tabify

マーク位置から現在位置までのスペースをタブに変換

M-x untabify

マーク位置から現在位置までのタブをスペースに変換

M-x override-mode

上書き/挿入モード(トグル)

M-x replace-regexp

文字列を置換(正規表現で指定)

M-x list-colors-display

利用できる配色一覧

M-x comment-region

事前に指定しているregionをコメント化

M-x toroku-region

事前に指定しているregionを辞書へ登録

M-x tdescribe-function

関数や変数の説明を見る

M-x revert-buffer

Emacsの再起動なしでファイルを更新する

M-x describe-bindings

キーバインドを調べる

M-x occur

バッファから検索を行い、検索に一致した行を一覧表示できる

C-u -1 M-x comment-region

事前に指定しているregionをコメント解除