「中毒エディタ」emacs コマンド解説

「中毒エディタ」emacs コマンド解説

こんにちは!

たくです。

この記事は、僕がemacsでよく使うコマンドを備忘録的にまとめたものです。雑な記述になっている箇所もあると思いますが、悪しからず。

(随時更新していきます。)

目次

読み方

「Ctrl」というのは、PCのキーボードの「コントロールキー」のことです。

「Alt」というのは、PCのキーボードの「オルトキー」のことです。

「Ctrl – d」のように「Ctrl」と「d」がハイフンでつながれているのは、「コントロールキーを押しながらdを押す」という意味です。

「Ctrl – x → Ctrl – s」のように矢印でつながれているのは、「Ctrl – xをした後にCtrl – sをする」という意味です。

設定ファイルに書いていること

emacsをカスタマイズして使うためには、ホームディレクトリにある隠しフォルダ ~/.emacs.d/ の下に init.el というテキスト形式のファイルを作ってそこに必要なことを書かないといけません。

僕がinit.elに書いていることをまとめます。カスタマイズは無数にあって、自分の操作しやすいようになるのがいいところです。

行番号を表示させる

(global-linum-mode t)

パッケージ管理をできるようにする

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t)
(package-initialize)

カッコ類を自動補完してくれる

(electric-pair-mode 1)

Ctrl – hをバックスペースキーとして機能させる

(define-key global-map "\C-h" 'delete-backward-char)

コマンド

1段階で動作するコマンド

Ctrl – d:1文字削除

カーソル上の文字を1字削除する。Windowsの「Delete」キーと同じ動作。(deleteの頭文字)

Ctrl – g:コマンドの取消

入力途中のコマンドをやめる。変な操作をしてしまったと思ったらとりあえずやってみる。

Ctrl – f , p , b , n , e , a:カーソル移動

カーソル移動のコマンド。(おそらくカッコ内の単語の頭文字を取ってきている)

f(forward)は「1文字分右へ(→)」

p(previous)は「1行上へ(↑)」

b(back)は「1文字分左へ(←)」

n(next)は「1行下へ(↓)」

e(end)は「文末へ」

a は「文頭へ」(アルファベットの初めの1字だからかな?)

Alt – f , b , e , a:カーソル移動

カーソル移動のコマンドパート2。上のコマンドの強化版(?)というイメージ。

f(forward)は「1単語分右へ(→)」

b(back)は「1単語分左へ(←)」

e(end)は「段落の末へ」

a は「段落の初めへ」

Alt – <(”<”は「Shift – , 」):カーソル移動

カーソルをバッファの先頭に移動させる.

Alt – >(”<”は「Shift – . 」):カーソル移動

カーソルをバッファの最後に移動させる.

Ctrl – m:改行

Enter(Return)キーの代わりになります。

Ctrl – v:ページ送り

1ページ下に移動.

Alt – v:ページ戻し

1ページ上に移動。

Ctrl – l:表示位置調整

カーソルのある行を,ページの中央→1番上→1番下の順に変える.つまり,ページに表示される行の範囲が変わる.

Ctrl – k:1行削除

同じ行内の、カーソルの後ろにあるテキストを削除する。(killの頭文字)

Ctrl – y:貼り付け

Ctrl-kでkillした部分を貼り付ける。

Ctrl – s:文字列検索

カーソル以降の部分から文字列を検索する。Ctrl – sと入力した後にミニバッファに検索したい文字列を入力すると検索結果に色がつく。

文字列を入力した後にCtrl -sを繰り返し押すことで次の検索結果のところにカーソルが移動していく。

Ctrl – gで検索する前の場所にカーソルが戻り、Ctrl – fなどのカーソル移動でその場からカーソルを動かす。

Ctrl – r:文字列検索

Ctrl – s とほとんど同じだが、検索して表示する順序が逆順になる。

Ctrl – w:切り取り

選択した範囲を「kill」する。Windowsの「切り取り」と同じ動作。

Alt – w:コピー

選択した範囲をコピーする。Windowsの「コピー」と同じ動作。

Ctrl – i:インデント

カーソルのいる行をインデントする。

Ctrl – t:文字の入れ替え

カーソル上の文字とその一つ前の文字を入れ替える。

※Ctrl – h

カーソルの前の文字を1字削除する。Windowsの「Back Space」キーと同じ動作。

※もともとは「ヘルプを出す」コマンドですが、init.elに設定を書き足して機能を変更して使っています。MacPCではターミナル上で「Ctrl – h」に「1字削除」が割り当てられているので、それに合わせて変えました。やり方は、ググれば出てきます。

2段階で動作するコマンド

Ctrl – x → Ctrl – s:上書き保存

上書き保存する。

Ctrl – x → Ctrl – c:emacsの終了

emacsを終了する。注意しないといけないのが、ウィンドウに表示されていないバッファもすべて閉じてしまうので終了する前にはすべてのバッファを保存したか確認するということ。

Ctrl – x → Ctrl – w:新規保存

名前を付けて保存する。このコマンドを入力するとカーソルがミニバッファに移動しているはずで、そこに保存したいファイル名(パス)を書き込んで「Enterキー」を押せばよい。

Ctrl – x → Ctrl – f:ファイルを開く

ファイルを開く。このコマンドを入力するとカーソルがミニバッファに移動しているはずで、そこに開きたいファイルの名前(パス)を書き込んで「Enterキー」を押せばよい。

Ctrl – x → Ctrl – b:バッファ一覧取得

現在開いているバッファの一覧を表示する。

Ctrl – x → o:ウィンドウ移動

次のウィンドウに移動する。

Ctrl – x → 1:ウィンドウ統一

カーソルのあるウィンドウ以外のウィンドウを閉じる。

Ctrl – x → 2:ウィンドウ分割

カーソルのあるウィンドウを縦に2分割する。

Ctrl – x → 3:ウィンドウ分割

カーソルのあるウィンドウを横に2分割する。

Ctrl – x → h:全選択

バッファの全行をマークする.

Ctrl – x → u:操作の取り消し

直前に行った操作を取り消す。

Ctrl – x → b:バッファの変更

表示させるバッファを選択する。

バッファっていうのは、emacs上で開いているファイルを広げておくところ。表示されている画面のことをウィンドウというが、ウィンドウとバッファの概念は全然違う。

Alt – x → 「コマンド名」

指定したコマンドの実行。

コマンド:replace-string

文字列を検索して置き換える。

その他

Ctrl – x → RET → f:文字コードの変更

文字コードを変更する。このコマンドを入力後「utf-8-unix」とかの文字コードを入力すればよい。Tabキーを押すと候補をたくさん出してくれる。

Ctrl – Alt – \:インデント

マークした部分をインデントする.