Emacs > コマンド

emacsコマンド/キーバインド/ショートカット

  • コマンドを調べる
    <f1> k (describe-key)
    
    (describe-key)に調べたいコマンドを入れる
  • コマンド名(関数名)を指定してコマンドを実行する
    M-x (command)
    
    ※TAB または C-iで補完

ミニバッファで履歴をたどる

検索、ファイルのオープンにも可能

  • 履歴の取り出し M-nで下方向(前)、M-pで上方向(後)
  • 正規表現を利用した履歴の取り出し M-sで下方向(前)、M-rで上方向(後)

コピー&ペースト/キル&ヤンク

キーバインド 説明 コマンド名
C-x h 全選択
C-@ またはC-SPACE マークセット(選択範囲の開始)
C-w 選択範囲の切り取り
M-w 選択範囲のコピー
C-y 貼り付け
M-y キルリング(クリップボード)を遡って張り付け

入力支援

バッファから単語を補完する(動的略語展開)

M-/(dabbrev-expand)カーソル直前の文字列から始まる単語をバッファから探索し補完 望みでない場合、再びM-/をコマンドすることでカーソルから離れた位置を検索する

M-/

コメントの補完

M-;(comment-dwim)モードによってコメントを作成/削除する。状況に応じて挙動は以下のように変わる。

  • transient-mark-modeで範囲選択をしてから
    • その範囲をすべてコメントアウト
    • コメントアウトされている場合は外す
  • 現在行が空行のとき、その行をコメントにしてからインデントする
  • 空行ではない行では一行コメントを作成
  • C-u M-;では一行コメントを削除

hippie-expand.el

略語展開をまとめたelisp M-x hippie-expand。展開する順を設定。詳しくはhippie-expand.elに記述されている。

以下を.emacsに追記

;;; hippie-expand
;;; 略語展開の順を設定
(setq hippie-expand-try-functions-list
      '(try-expand-dabbrev
        try-expand-dabbrev-all-buffers
        try-expand-dabbrev-from-kill
        try-complete-file-name-partially
        try-complete-file-name
        try-expand-all-abbrevs
        try-expand-list try-expand-line
        try-complete-lisp-symbol-partially
        try-complete-lisp-symbol))

smartchr.el

同じキーを連続して叩くと、別の文字列が入力されるよう設定する。 例えば、(を1回打つと( )""と自動で閉じ、なおかつカーソルを中央に移動させ、2回打つと(''と通常通りに入力されるようにできる。

参考として http://tech.kayac.com/archive/emacs-tips-smartchr.html

以下を.emacsに追記

;;; smartchr.el 
;;  M-x install-elisp https://github.com/imakado/emacs-smartchr/raw/master/smartchr.el
(require 'smartchr)
;;  once (  ), twice (  
(global-set-key (kbd "(") (smartchr '("( `!!' )" "(")))
;;  once "  ", twice "
(global-set-key (kbd "\"") (smartchr '("\" `!!' \"" "\"")))

テキスト整形

  • 桁揃え
    M-x align
    

検索

  • 画面下方向へと文字列を検索(isearch-forward)
    C-s 検索文字列
    
  • 画面上方向へと文字列を検索(isearch-backward)
    C-r 検索文字列
    

検索文字列のポイントは、C-sで次、C-rで前へと移動する。

置換

  • 文字列置換(query-replace)
    M-%
    
キー 概要
y,SPC(スペース) 置換して次へ進む
n,DEL(<backspace>) 置換しないで次へ進む
! すべて置換する
.(ピリオド) 置換してからその場所で置換処理を終える
q,RET 置換せずにその場所で置換処理を終える
C-r 再帰編集に入る
C-w 置換対象を削除してから再帰編集に入る
e 置換対象をミニバッファで編集する(置換後の文字を修正)
C-l 画面を再絵画
, 置換した後その場でプロンプトを出す
?,C-h ヘルプを表示する

外部プログラム

  • Emacs内でコンパイルする Emacsでプログラムをコンパイルする。デフォルトはmake。 M-g M-n(next-error)でその行にジャンプ M-g M-p(previous-error)は前のエラー行へジャンプ
    M-x compile
    
    例)
    M-x compile(Enter)
    gcc ファイル.c
    
  • 再コンパイル
    M-x recompile
    

カーソル移動

キーバインド 説明 コマンド名
C-b 一文字戻る backward-char
C-f 一文字進む forward-char
C-a 行頭へ移動する move-beginning-of-line
C-e 行末へ移動する move-end-of-line
M-b 前の単語へ移動する backward-word
M-f 次の単語へ移動する forward-word
C-p 前の行へ移動する previous-line
C-n 次の行へ移動する next-line
M-a 前の文へ移動する backward-sentence
M-e 次の文へ移動する forward-sentence
M-< バッファ先頭へ移動する
M-> バッファ末尾へ移動する


参考文献

  • Emacsテクニックバイブル〜作業効率をカイゼンする200の技〜(るびきち,2010,技術評論社)
最終更新:2011年03月04日 14:11