emacs better-defaults.el : 【初心者歓迎】Emacsのよりよい初期設定を日本語で全部解説! | MELPA Emacs Lisp Elisp パッケージ インストール 設定 使い方 スクリーンショット

パッケージ名 better-defaults
概要(原文) Fixing weird quirks and poor defaults
リポジトリ MELPA
取得先 https://github.com/technomancy/better-defaults
バージョン 20140818.937
関連記事 package:better-defaults

Emacsは歴史がある分、古めかしい設定に固執している点があります。

ベテランはその挙動に慣れているから困らないだろうけど、
新参者にとっては使いづらいです。

そこで、 better-defaults.el は、よりよいデフォルト値を提供します。

本記事では変更点すべてを日本語で解説します!

  • あいまいマッチの ido-mode が有効になる
  • メニューバーツールバースクロールバー を非表示にする
  • ファイルを閉じたとき、Emacs終了時に位置を保存する
  • M-/ をより高度な M-x hippie-expand に置き換える
  • C-x C-bを M-x ibuffer に置き換えてすぐに選択できるようにする
  • M-zを M-x zap-up-to-char に置き換えて対象文字を削除しないようにする
  • isearch は正規表現検索をデフォルトにする
  • 対応する括弧を表示する
  • タブのインデントをしない
  • クリップボード・PRIMARYでコピー&ペーストできるようにする
  • apropos.el で多くのシンボルを見付けるようにする
  • マウスのヤンクは現在位置に
  • ファイル保存時にファイル末尾に改行を入れる
  • ベルを鳴らさないようにする
  • ediff でフレームを使わない
  • バックアップファイル は ~/.emacs.d/backups/ 以下に作成

better-defaults インストール

このパッケージはmelpaにあるので パッケージの初期設定 を行ってください。

M-x package-refresh-contents
M-x package-install better-defaults

インストールすると、 (package-initialize)
の時点で有効になるので、説明を読んで理解してください。

もちろん、一部だけをかいつまんで設定してもよいです。

特に Migemo を使っている人は戸惑うかもしれません。

内容

これがすべてです。

(progn
  ;;; ido-mode
  ;; C-x C-fやC-x bでファイルやバッファを開くとき
  ;; 部分文字列を指定してC-s/C-rで選択できるようにする
  (ido-mode t)
  ;; あいまいマッチ
  ;; 候補に "alpha", "beta", "gamma", "delta" があるときに
  ;; "aa" → "alpha", "gamma"
  ;; "ea" → "beta", "delta".
  ;; つまり文字を飛び超えられる!
  (setq ido-enable-flex-matching t)

  ;;; メニューバー・ツールバー・スクロールバーを切る
  (menu-bar-mode -1)
  (when (fboundp 'tool-bar-mode)
    (tool-bar-mode -1))
  (when (fboundp 'scroll-bar-mode)
    (scroll-bar-mode -1))

  ;;; M-z (zap-to-char)の亜種、zap-up-to-charを使えるようにする
  (autoload 'zap-up-to-char "misc"
    "Kill up to, but not including ARGth occurrence of CHAR." t)

  ;;; uniquify.el
  ;; 違うディレクトリで同じファイル名のファイルを開いたときに
  ;; バッファ名にディレクトリも付記するようにする
  ;; Emacs 24.4ではデフォルト
  (require 'uniquify)
  ;; /foo/bar/mumble/name, /baz/quux/mumble/nameというファイルなら
  ;; それぞれ bar/mumble/name, quux/mumble/name というバッファ名に
  ;; ただし、Emacs 24.4デフォルトでは post-forward-angle-brackets
  ;; に設定されるので name<bar/mumble>, name<quux/mumble> になる。
  (setq uniquify-buffer-name-style 'forward)

  ;;; saveplace.el
  ;; ファイルを閉じたとき、次に開くときはその場所(point)から開く
  (require 'saveplace)
  (setq-default save-place t)

  ;;; デフォルトのキーバインドをより高機能なコマンドに置き換える
  ;; dabbrev-expand -> hippie-expand
  ;; dabbrev以外にも様々な展開・補完ができるようになる
  (global-set-key (kbd "M-/") 'hippie-expand)
  ;; list-buffers -> ibuffer
  ;; バッファメニューを高機能なibufferに!
  ;; 何よりバッファメニューがカレントになる!!
  (global-set-key (kbd "C-x C-b") 'ibuffer)
  ;; zap-to-char -> zap-up-to-char
  ;; zap-to-charはその文字までを削除するが
  ;; zap-up-to-charはその文字の直前までを削除する
  ;; その文字も削除したければ直後にC-dを押せばいい
  (global-set-key (kbd "M-z") 'zap-up-to-char)

  ;;; 普通のisearchと正規表現isearchのキーバインドを逆転
  (global-set-key (kbd "C-s") 'isearch-forward-regexp)
  (global-set-key (kbd "C-r") 'isearch-backward-regexp)
  (global-set-key (kbd "C-M-s") 'isearch-forward)
  (global-set-key (kbd "C-M-r") 'isearch-backward)

  ;;; 対応する括弧を表示してくれる
  (show-paren-mode 1)
  ;;; タブでインデントしない
  (setq-default indent-tabs-mode nil)
  (setq
   ;; クリップボードでコピー&ペーストできるようにする
   x-select-enable-clipboard t
   ;; PRIMARY selectionを使う(Windowsでは対象外)
   x-select-enable-primary t
   ;; クリップボードでコピー・カットした文字列を
   ;; キルリングにも保存させる
   save-interprogram-paste-before-kill t
   ;; M-x apropos等でより多くのシンボルを見つけるようにする
   ;; ただし、ちょっと遅くなる
   ;;
   ;; M-x apropos-user-optionはすべての変数を
   ;; M-x apropos-commandはすべての関数を
   ;; M-x apropos-commandはすべてのシンボル(関数、変数、フェイス以外も)
   ;; M-x apropos-valueは属性リストや関数内も
   ;; M-x apropos-documentationはetc/DOC以外のすべての説明文字列も
   apropos-do-all t
   ;; マウスでyankしたとき、クリックした場所ではなくて現在位置を対象に
   mouse-yank-at-point t
   ;; 保存時にファイル末尾に改行を入れる
   require-final-newline t
   ;; エラー時などはベル音ではなくて画面を1回点滅させる
   visible-bell t
   ;; ediff時に新しいフレームを作らない(シンプルになる)
   ediff-window-setup-function 'ediff-setup-windows-plain
   ;; ~/.emacs.d/placesにファイル・位置情報を保存する
   save-place-file (concat user-emacs-directory "places")
   ;; バックアップファイルはカレントディレクトリではなく
   ;; ~/.emacs.d/backups 以下に保存する
   backup-directory-alist `(("." . ,(concat user-emacs-directory
                                            "backups")))))

Migemo使いはisearchをデフォルトに戻す

(global-set-key (kbd "C-M-s") 'isearch-forward-regexp)
(global-set-key (kbd "C-M-r") 'isearch-backward-regexp)
(global-set-key (kbd "C-s") 'isearch-forward)
(global-set-key (kbd "C-r") 'isearch-backward)

text-mode (org-mode 等も含む) で文章を書いているときのみ
デフォルトに戻し、他(コード等)は正規表現isearchをデフォルトに
するときはこのようにしよう。

(define-key text-mode-map (kbd "C-M-s") 'isearch-forward-regexp)
(define-key text-mode-map (kbd "C-M-r") 'isearch-backward-regexp)
(define-key text-mode-map (kbd "C-s") 'isearch-forward)
(define-key text-mode-map (kbd "C-r") 'isearch-backward)

本サイトは、広大なるEmacs界の道具としてあなたの役に立ちたいという純粋な奉仕で運営しています。 掲載しているコードは複写・転載など自由に使っていただいて構いません。 改良・MELPAパッケージ化していただけると最高に嬉しいです。


Emacsネット塾(メルマガ)
Emacsの鬼るびきちのココだけの話
開講中!

★月々527円!初月無料★
★無制限メールコンサル★
★個人的なトラブル解決いたします★
★懇切丁寧な指導★
↓Emacsを手足のように扱いたい人はどうぞ↓
http://www.mag2.com/m/0001373131.html


このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

タグ

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このページの先頭へ