アットウィキロゴ

emacsメモ

  • 最後の変更箇所にジャンプする(goto-chg.el)
  • Emacs Lisp インストーラ(auto-install.el)
  • コピペで文字列検索
  • コメント,アンコメント
  • 指定した行に移動
  • 別名保存
  • 行でソート
  • キーバインドを確認
  • バッファをpsファイルに出力
  • フォント変更
  • 置換や検索などで改行コードを使用する
  • slimeで関数全体のインデントを自動で直す
  • タイトルバーにファイル名を表示する
  • メニューバーを消す
  • ツールバーを消す
  • 外部のアプリケーションにもコピペできるようにする
  • 現在のキーバインドを確認する
  • スクロールバーを右に表示する
  • Time-stampの自動挿入
  • org-mode
  • .emacsを再読み込みする
  • 指定した行に移動
  • ファイルのエンコードの設定
  • 同じ文字を連続して書く
  • バッファ

最後の変更箇所にジャンプする(goto-chg.el)

インストール
M-x install-elisp-from-emacswiki goto-chg.el
.emacs
(require 'goto-chg)
(define-key global-map (kbd "<f8>") 'goto-last-change)
(define-key global-map (kbd "S-<f8>") 'goto-last-change-reverse)

Emacs Lisp インストーラ(auto-install.el)

  1. EmacsWikiからダウンロードして ~/.emacs.d/auto-install 以下に保存する
  2. ~/.emacs.d/auto-install.el をバイトコンパイルする

.emacs に加える設定

;;; auto-install.el
;; (install-elisp-from-emacswiki "auto-install.el")
(require 'auto-install)
;; auto-installによってインストールされるEmacs Lispをロードパスに加える
;; デフォルトは ~/.emacs.d/auto-install/
(add-to-list 'load-path auto-install-directory)
;; 起動時にEmacsWikiのページ名を補完候補に加える
(auto-install-update-emacswiki-package-name t)
;; install-elisp.el互換モードにする
(auto-install-compatibility-setup)
;; ediff関連のバッファを1つのフレームにまとめる
(setq ediff-window-setup-function 'ediff-setup-windows-plain)

auto-install.el 手動インストール

$ mkdir -p ~/.emacs.d/auto-install
$ cd ~/.emacs.d/auto-install
$ wget http://www.emacswiki.org/emacs/download/auto-install.el
$ emacs --batch -Q -f batch-byte-compile auto-install.el
これらを実行するとバイトコンパイルされたファイル ~/.emacs.d/auto-install/auto-install.elc が生成される。
そしたら .emacs に上記の設定を加えEmacsを再起動する。

インストールのプロセス

Lispファイルが置かれているURLが分かる場合は,
M-x install-elisp
を実行し,URLを入力する。
インストールする場合は,
C-c C-c
をすると,保存→バイトコンパイル→ロードが自動で行われる。
インストールしない場合は,
C-c C-q

EmacsWikiからインストール

M-x install-elisp-from-emacswiki

gistからインストール

M-x install-elisp-from -gist

コピペで文字列検索

検索したい文字列の先頭にカーソルを合わせ,
  1. C-s
  2. Enter(I-searchがSearchになる)
  3. C-fなどで文字列を選択
  4. Enter

コメント,アンコメント

リージョンを決めて,
M-;

指定した行に移動

M-g g

別名保存

C-x C-w

行でソート

昇順::M-x sort-lines
降順::C-u M-x sort-lines

キーバインドを確認

キーバインド全てを表示
M-x describe-bindings
特定のキーバインドを調べるには
M-x describe-key
のあとに調べたいキーバインドを入力する。

バッファをpsファイルに出力

日本語が含まれるファイルの場合は .emacs かなんかで,
(setq ps-multibyte-buffer 'non-latin-printer)
と設定する。

カラー
C-u M-x ps-print-buffer-with-faces

モノクロ
C-u M-x ps-print-buffer

フォント変更

(frame-parameter nil 'font)
~/.Xresourcesの
emacs*font: ここに表示された文字列をコピペ

置換や検索などで改行コードを使用する

改行コード::C-q C-j
改行+復帰::C-q C-j C-q C-m
タブ::C-q C-i

slimeで関数全体のインデントを自動で直す

関数の中にカーソルをおいて(どこでもいい)
C-c M-q

タイトルバーにファイル名を表示する

(setq frame-title-format (format "emacs@%s : %%f" (system-name)))

メニューバーを消す

(menu-bar-mode nil)

ツールバーを消す

(tool-bar-mode nil)

外部のアプリケーションにもコピペできるようにする

標準のコピーをクリップボードにコピーするようにする。
.emacsに以下を追加する。
(global-set-key "\M-w" 'clipboard-kill-ring-save)

現在のキーバインドを確認する

キーバインドの一覧を表示する。
M-x describe-bindings
特定のキーのバインドを探す。
M-x describe-key
の後にキーを入力。

スクロールバーを右に表示する

(set-scroll-bar-mode 'right)

Time-stampの自動挿入

.emacsに以下を挿入
;;; time-stamp
;;; 最終更新日の自動挿入
;;;   ファイルの先頭から 8 行以内に Time-stamp: <> または
;;;   Time-stamp: " " と書いてあれば、セーブ時に自動的に日付が挿入される
(require 'time-stamp)
;; 日本語で日付を入れたくないのでlocaleをCにする
(defun time-stamp-with-locale-c ()
  (let ((system-time-locale "C"))
    (time-stamp)
    nil))
(if (not (memq 'time-stamp-with-locale-c write-file-hooks))
    (add-hook 'write-file-hooks 'time-stamp-with-locale-c))
(setq time-stamp-format "%:y-%02m-%02d %3a %02H:%02M:%02S %Z")

.emacsを再読み込みする

M-x load-file [RET]
~/.emacs [RET]

指定した行に移動

M-x goto-line
M-g g

ファイルの文字コードの設定

C-x RETURN f
と入力後、所望のコードを示す文字列を入力する。

  • 設定用文字列とその意味
euc-jp 日本語 EUC (改行コードが現在のものを保持)
junet 日本語 JIS (改行コードが現在のものを保持)
sjis 日本語 Shift-JIS (改行コードが現在のものを保持)
utf-8
iso-2022-jp

同じ文字を連続して書く

例)「a」を100個書く
ESC 1 0 0 a

バッファ

複数のバッファの取り扱い

C-x b のあとに入力するもの Emacsの動作
新しいバッファの名前 ファイルと結びついていない新しいバッファを作り,そこに移動
既存なバッファの名前 そのバッファに移動(バッファがファイルと結びついているかどうかにかかわらず)

複数の複数のバッファの保存

''C-x s'' (save-some-buffers)をタイプすれば,バッファ全部を一度に保存できる。
それぞれのバッファについて,yと答えれば保存するし,
nと答えれば保存しない。
回答を省略しすべて保存する場合は!
このバッファは保存するが,残りのバッファは保存したくないときはピリオド.をタイプする。

バッファを閉じる

C-x k バッファ名

バッファの削除

バッファがファイルと結びついていれば,
バッファを削除する前に変更結果を保存するかEmacsがきいてくる。

最終更新:2012年10月15日 15:10