Emacs歴実質3日目くらいです。↓を読みながら勉強中。変なとこあればやさしく突っ込んでもらえれば...
![[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus) [改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)](https://images-fe.ssl-images-amazon.com/images/I/513bqny7PYL._SL160_.jpg)
[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)
- 作者: 大竹智也
- 出版社/メーカー: 技術評論社
- 発売日: 2017/09/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
インストール
ダウンロード
GNU Emacs download - GNU Projectを見てソースをダウンロードしてくる。
wget http://ftp.jaist.ac.jp/pub/GNU/emacs/emacs-25.3.tar.xz wget http://ftp.jaist.ac.jp/pub/GNU/emacs/emacs-25.3.tar.xz.sig
HTTPになってるので一応GPGで署名を検証しておく。
$ gpg --recv-keys 7C207910 gpg: requesting key 7C207910 from hkp server keys.gnupg.net gpg: /home/user1/.gnupg/trustdb.gpg: trustdb created gpg: key 7C207910: public key "Nicolas Petton <nicolas@petton.fr>" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) $ gpg emacs-25.3.tar.xz.sig gpg: assuming signed data in `emacs-25.3.tar.xz' gpg: Signature made Tue 12 Sep 2017 05:43:53 AM DST using RSA key ID 7C207910 gpg: Good signature from "Nicolas Petton <nicolas@petton.fr>" gpg: aka "Nicolas Petton <petton.nicolas@gmail.com>" gpg: aka "Nicolas Petton <nicolas@foretagsplatsen.se>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 28D3 BED8 51FD F3AB 57FE F93C 2335 87A4 7C20 7910
28D3 BED8 51FD F3AB 57FE F93C 2335 87A4 7C20 7910
は公式ページに書かれているフィンガープリントと一致するので大丈夫そう。
ビルドとインストール
Windows用のX Window Serverが、XmingにしてもVcXsrvにしてもsourceforgeなのがなんとなく不安だなと思い(偏見)、とりあえずしばらくはコンソールで使ってみることにする。
参考:
tar xf emacs-25.3.tar.xz cd emacs-25.3/ # 一時的にASLRを無効に echo 0 | sudo dd of=/proc/sys/kernel/randomize_va_space ./configure --without-x --without-dbus make sudo make install # ASLRを再度有効に echo 2 | sudo dd of=/proc/sys/kernel/randomize_va_space
.emacs.d/init.el
キーバインディング
BackSpaceキーを押すと文字を削除できるようにする。
https://www.emacswiki.org/emacs/BackspaceKey
(define-key key-translation-map (kbd "C-h") (kbd "<DEL>")) (define-key global-map (kbd "C-x ?") 'help-command)
レポジトリの設定とパッケージのインストール
レポジトリの追加は、marmaladeはたぶんもう使わない?
(require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (package-initialize) (setq pkgs '(helm company ess dracula-theme flycheck quickrun projectile magit)) (package-refresh-contents) (dolist (pkg pkgs) (unless (package-installed-p pkg) (package-install pkg)))
custom-file
を別ファイルに
参考:Saving Customizations - GNU Emacs Manual
(setq custom-file "~/emacs.d/custom.el") (load custom-file)
補完はcompany
特にこだわりはないけどこっちで。
(add-hook 'after-init-hook 'global-company-mode)
テーマはdracula
これもなんとなく。
(load-theme 'dracula t)
Helm
Helmはもうちょいいろいろ設定した方がよさげだけどとりあえず動く程度に。
(require 'helm-config) (define-key global-map (kbd "M-y") 'helm-show-kill-ring)
TODO
- magit
- ESS
- projectile
- flycheck
- quickrun
- wgrep/agあたり...?