たまに全てを消し去りたくなって.emacs.d/
を全削除することがあります(もちろんバックアップは取って).今回は何度消し去っても生き残る設定をまとめます,特定のプログラミング言語などの設定ではなく,設定する前の設定のようなものです.
全設定と参考ページは最後にまとめているのでコピペ用と詳細はそちらを御覧ください.
表示に関する設定
(setq ring-bell-function 'ignore) ; アラートのベルはうるさいので消す (tool-bar-mode 0) ; 表示領域を確保したいのでツールバーは非表示 (scroll-bar-mode 0) ; 重いのでスクロールバーは非表示 (blink-cursor-mode 0) ; ちらつくのでカーソルの点滅オフ
文字コードに関する設定
(set-default-coding-systems 'utf-8) ; utf-8 にする (prefer-coding-system 'utf-8)
テキスト編集に関する設定
(delete-selection-mode t) ; リージョンを削除可能に設定 (cua-mode t) ; 矩形選択可能にする (setq cua-enable-cua-keys nil) ; 矩形選択の特殊なキーバインドを無効にする
リージョン削除可能の設定を行うと,領域を選択した状態のままで何か文字を入力すれば,その領域を上書きすることができます.
矩形選択モードはC-RET
で有効化できます.
パッケージ管理に関する設定
パッケージの保存先の設定とリポジトリの追加
(setq package-user-dir "~/.emacs.d/elisp/elpa/") (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/"))) (package-initialize)
package.elでパッケージを導入したときの保存先を~/.emacs.d/elisp/elpa/
に指定します.これは,手動でインストールしたパッケージを~/.emacs.d/elisp/site-lisp/
に配置することを意識しています.
use-packageの自動インストール
(when (not (package-installed-p 'use-package)) (package-refresh-contents) (package-install 'use-package)) (setq use-package-enable-imenu-support t) (setq use-package-always-ensure t) (require 'use-package) (use-package bind-key) (use-package diminish)
偉大なEmacs設定用ライブラリのuse-packageをインストールします.bind-keyとdiminishはuse-packageと統合して使える機能なので同時に有効化しておきます.当Webページではuse-packageを前提とした設定ファイルを公開します.Emacsの設定を他のライブラリに依存するのはどうかという気持ちがあるかと思いますが,作者のjwiegleyはEmacsのmaintainerであり,org-modeやmagitの開発者でもある方なので安心です.
ここではimenu
連携とパッケージの自動インストールを有効化しています.前者はC-x i
でimenu
と自動連携してくれる設定です.を指定すると:ensure t
がデフォルトの挙動になるため今後の設定でこれを指定する必要がなくなります.
quelpa-use-packageのインストール
(use-package quelpa-use-package)
早速use-packageを使って,インストール及び設定をします.:ensure t
を指定することで,インストールされていなかったら自動的にpackage.elを利用してインストールしてくれます.
quelpa-use-packageはquelpaをuse-packageに対応させたパッケージです.依存関係より自動でquelpaはインストールされます.
package.elが対応していないパッケージがもしGitHubにあったらそのリポジトリを指定することで自動的にインストールできるようにしてくれます.GitHubにないときでも手動でDLして,そのディレクトリを指定すればuse-packageと同じ形式で設定することができます.
システムPATHの引き継ぎ
(use-package exec-path-from-shell :config (exec-path-from-shell-initialize))
GUI版のEmacsではシステムパスを引き継がないことがあるので,このパッケージでパスを引き継ぎます.これがないと,確かにインストールしたはずなのに何でEmacsから見えないんだ?ともがき苦しむことになりかねません.
コピペ用
(setq ring-bell-function 'ignore) ; アラートのベルはうるさいので消す (tool-bar-mode 0) ; 表示領域を確保したいのでツールバーは非表示 (scroll-bar-mode 0) ; 重いのでスクロールバーは非表示 (blink-cursor-mode 0) ; ちらつくのでカーソルの点滅オフ (set-default-coding-systems 'utf-8) ; utf-8 にする (prefer-coding-system 'utf-8) (delete-selection-mode t) ; リージョンを削除可能に設定 (cua-mode t) ; 矩形選択可能にする (setq cua-enable-cua-keys nil) ; 矩形選択の特殊なキーバインドを無効にする (setq package-user-dir "~/.emacs.d/elisp/elpa/") (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/"))) (package-initialize) (when (not (package-installed-p 'use-package)) (package-refresh-contents) (package-install 'use-package)) (require 'use-package) (use-package bind-key) (use-package diminish) (use-package quelpa-use-package) (use-package exec-path-from-shell :config (exec-path-from-shell-initialize))
コピペ用にまとめました.
まとめ
最低限これも設定すると便利だよ!というのが他にもあったら教えてくださるとうれしいです.