howto/emacs

一行メモ


その他

電卓がわりに使う

「*scratch*」バッファで直接 emacs-lispの実行ができる。実行は Ctrl-j を押す。

; 計算例
(* 71 3 6)          # 71 * 3 * 6
(* (+ 71 3 2) 3 6)  # (71+3+2) * 3 * 6
(sqrt  2.0)         # ルート2

検索

置換

文字の色を変更する

(1) 変更したい部分にカーソルを持って行き、

 M-x describe-face

とする。例えば、

 Describe face (default `sh-heredoc'):

と表示される(EnterかC-gを押して抜ける)。この sh-heredocの変数名を覚えておく。

(2) M-x list-faces-display
をして表示されるバッファにsh-heredocがあるので、そこにカーソルを移動して Enterを押す。
表示されるバッファにある、Foregroundのところの [Choose]にカーソルを移動して Enterを押す。
色を選ぶ。同じ要領で他も変更できる。

なお、[Choose]が無い場合は、Show All Attributesから Foregroundをチェックして、色を選ぶ。

(3) C-x C-s で変更の設定を .emacs.elに保存する。
適当に .emacs.elを書き直しても良いだろう。

[ref]
http://qiita.com/AnchorBlues/items/91026c4f1c0745f5b851

ミニバッファの文字の色を変更する

例えばつぎのものを .emacs.elに加える。

(if (not (eq window-system 'x))
    (progn
      (face-spec-set 'minibuffer-prompt
                     '(
                       (t (:foreground "cyan"))
                       ))
      ))

[ref]
http://blog.livedoor.jp/moya_pro/archives/23686456.html
http://kei10in.hatenablog.jp/entry/20101101/1288617632

Emacsで文字コード指定してのファイル開き直しをしたい

C-x ret rとして、utf-8 とする(UTF-8で開く場合)。
(このショートカットにバインドされている関数は M-x revert-buffer-with-coding-system)

ファイル先頭に、
# -*- coding:utf-8; mode:shell-script; -*-
などを追加しておくとよい。

C言語のときは1行目に
/* -*- coding:utf-8; -*- */
を入れるとよい。

基本

用語とチュートリアル

バッファ

emacsでは、開いたファイルはバッファというものに読み込まれます (特別な事をしなくてもふつうにそれを編集してファイルに上書き保存できます)。 つまり、開いたファイルは同じ名前のバッファに対応しています。 また、ファイルに対応していないバッファもあります。

また、emacsではいくつでもファイルを開くことができます。

emacsでは 少なくとも1枚のバッファが表示されていますが、 emacsウィンドウを分割して、いくつでも同時にバッファを 表示することもできます。

モードライン

emacsでバッファを表示すると、バッファの下に反転した行が1行ある (バッファが1枚だけの場合はちょうど下から二行目に反転した行がある)。 この行をモードラインと呼ぶ。 そのバッファ名などが表示されている (利用している文字コード、使用しているモード、行数なども)。

ミニバッファ

emacsの一番下の行のことをミニバッファと呼ぶ。 コマンド実行後にメッセージが表示されます。 コマンドを入力したり、コマンドに対する入力 (例えばファイル名入力する)に使われます。

チュートリアル

emacs自身には簡単なチュートリアルが含まれています。
$ emacs
とした後、
ESC
そして
x
とキーを押すと、ミニバッファに M-x が表示され、 その右にカーソルが表示されます。 つづけて、
help-with-tutorial
という文字を入力(これはコマンド名になります)して ENTERキー を押す。 すると TUTORIALのバッファがでてくるので、 説明を読みながら操作を学習できます。

ちなみに、emacsのコマンドはほぼすべてがLispの関数です。 emacsは、実はLispインタープリタです。

いくつかの操作

Ctrl, Meta, CAPS, Bindingに関する基本

Ctrlキーはしばしば Cと標記される。 例えば C-x C-c は Ctrlキーを押しながらxを押す、 次に Ctrlキーを押しながらcを押すことを意味する。

Metaキーがあるキーボードはほとんど見受けられない。 MetaキーはもうひとつのCtrlキーのようなものである。 例えば M-f は Metaキーを押しながらfを押すことを意味する。 MetaキーをAltキーやOptキーなどで代用できる場合もある。 代用できない場合でも ESCを押して、 次に fキーを押すことで M-f と解釈される。

CAPSキーが aの左側にあるキーボードが日本ではほとんどである。 aの左側にCtrlがあると使いやすい。また CAPSキーはほぼ使わない。 そのためソフトウェア的にCAPSキーをCtrlキーと交換することがよく行われている。 (注) 客先で作業する場合にはこのようなことは出来ない。

CtrlとCAPSLOCKを逆にする方法 (Ubuntu 18.04の場合)
  端末でつぎを実行
  $ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']"
  [ref] https://blog.sakaki333.com/blog/view/11

Bind, Bindingという言葉。 emacsのコマンドはほとんどLisp関数ですが、よく使うコマンドの実行は ショートカットとしていくつかのキーの組み合わせで実行できます。 コマンドとキーの対応をバインディングと呼びます。 (例) ファイルを開くコマンドは find-file です。 C-x C-f にバインドされています。

終了などの操作

ファイルに関する操作

カーソル移動

編集

コピー・キル・ペーストの編集

コピーとキルは、マークされた位置とカーソル位置の間が対象となる。 なお、マークセットのキーバインドは使っている環境によって別のアプリケーションが使用している場合が 多く見かけられる(そのため設定の変更が必要となる場合もある)。

矩形の編集

コマンドに引数を渡す

バッファに関する操作


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS