Emacs

2015年4月にバージョン 24.5 が、2016年9月にバージョン 25.1 がリリースされた。

http://www.gnu.org/software/emacs/

http://emacsformacosx.com/

<html> <div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;margin:0px 12px 1px 0px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774150029/r4wh-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51M3ahu1q8L._SL160_.jpg" alt="Emacs実践入門 ~思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)" style="border: none;" /></a></div><div class="amazlet-info" style="line-height:120%; margin-bottom: 10px"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774150029/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">Emacs実践入門 ~思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)</a><div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4774150029/r4wh-22/ref=nosim/" title="Emacs実践入門 ~思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)" target="_blank">amazlet</a> at 12.03.19</div></div><div class="amazlet-detail">大竹 智也 <br />技術評論社 <br />売り上げランキング: 3875<br /></div><div class="amazlet-sub-info" style="float: left;"><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774150029/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div></div><div class="amazlet-footer" style="clear: left"></div></div> </html>

<html> <div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;margin:0px 12px 1px 0px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/487311277X/r4wh-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/4191BPAGdkL._SL160_.jpg" alt="入門 GNU Emacs 第3版" style="border: none;" /></a></div><div class="amazlet-info" style="line-height:120%; margin-bottom: 10px"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/487311277X/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">入門 GNU Emacs 第3版</a><div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/487311277X/r4wh-22/ref=nosim/" title="入門 GNU Emacs 第3版" target="_blank">amazlet</a> at 11.10.10</div></div><div class="amazlet-detail">Debra Cameron James Elliott Marc Loy Eric Raymond Bill Rosenblatt <br />オライリー・ジャパン <br />売り上げランキング: 24550<br /></div><div class="amazlet-sub-info" style="float: left;"><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/487311277X/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div></div><div class="amazlet-footer" style="clear: left"></div></div> </html>

<html> <div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;margin:0px 12px 1px 0px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774143278/r4wh-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/517LicIhabL._SL160_.jpg" alt="Emacsテクニックバイブル ~作業効率をカイゼンする200の技~" style="border: none;" /></a></div><div class="amazlet-info" style="line-height:120%; margin-bottom: 10px"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774143278/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">Emacsテクニックバイブル ~作業効率をカイゼンする200の技~</a><div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4774143278/r4wh-22/ref=nosim/" title="Emacsテクニックバイブル ~作業効率をカイゼンする200の技~" target="_blank">amazlet</a> at 10.11.20</div></div><div class="amazlet-detail">るびきち <br />技術評論社 <br />売り上げランキング: 41668<br /></div><div class="amazlet-sub-info" style="float: left;"><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774143278/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div></div><div class="amazlet-footer" style="clear: left"></div></div> </html>

Ubuntu 9.04 で emacs-23

Ubuntu 9.04 で emacs-22 から乗り換えて emacs-23 を使う

Ubuntu 9.04 に emacs 23.1 のパッケージがないので、emacs-snapshot を入れてみる。

http://gihyo.jp/admin/serial/01/ubuntu-recipe/0073

$ sudo apt-get install emacs-snapshot emacs-snapshot-el anthy-el
$ emacs-snapshot
GNU Emacs 23.0.91.1 (i486-pc-linux-gnu, GTK+ Version 2.16.0)
 of 2009-04-05 on palmer, modified by Debian
Copyright (C) 2009 Free Software Foundation, Inc.

.emacs.el に以下を追加する。参考

(setq anthy-accept-timeout 1)

Vine Linux 時代から使っていた .emacs-faces.el は下記を削除。

;(load "~/.emacs-fontset.el")

;(font . "fontset-14") ;; デフォルトフォントセット

/usr/bin/emacs を切り替える

$ update-alternatives --display emacs
emacs -状態は auto。
 リンクは現在 /usr/bin/emacs22 を指しています
/usr/bin/emacs22 - 優先度 25
 スレーブ emacs.1.gz: /usr/share/man/man1/emacs.1emacs22.gz
/usr/bin/emacs-snapshot - 優先度 23
 スレーブ emacs.1.gz: /usr/share/man/man1/emacs.1emacs-snapshot.gz
現在の `最適' バージョンは /usr/bin/emacs22 です。

「最適」バージョンに逆らいたいので(笑)変更する:

$ sudo update-alternatives --config emacs
[sudo] password for nishi: 

`emacs' を提供する 2 個の alternatives があります。

  選択肢       alternative
-----------------------------------------------
*+        1    /usr/bin/emacs22
          2    /usr/bin/emacs-snapshot

デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください: 2
'emacs' を提供するために '/usr/bin/emacs-snapshot' を使います。
$ ls -l /etc/alternatives/emacs
lrwxrwxrwx 1 root root 23 2009-08-01 22:17 /etc/alternatives/emacs -> /usr/bin/emacs-snapshot*

emacsclient もあわせておく。

$ sudo update-alternatives --config emacsclient

`emacsclient' を提供する 2 個の alternatives があります。

  選択肢       alternative
-----------------------------------------------
*+        1    /usr/bin/emacsclient.emacs22
          2    /usr/bin/emacsclient.emacs-snapshot

デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください: 2
'emacsclient' を提供するために '/usr/bin/emacsclient.emacs-snapshot' を使います。
$ ls -l /etc/alternatives/emacsclient
lrwxrwxrwx 1 root root 35 2009-08-01 22:18 /etc/alternatives/emacsclient -> /usr/bin/emacsclient.emacs-snapshot*

iBus の設定

Ubuntu 10.04 (9.10 or later?) だと iBus が有効。 Ctrl-Space が IME のトグルになってしまい、リージョン開始の指定ができない。

  • システム → 設定 → iBus の設定
    • 一般 → 切り替え
      • Control-Space を「削除」

Mac で Emacs

/usr/bin/emacs

Mac にはターミナルから使える emacs がある。

http://muumuujo.blog63.fc2.com/ OSX用Emacs事前準備系メモ

Carbon Emacs 22

アプリケーションとしてアイコンから起動できるのは Carbon 版または Cocoa 版。

http://homepage.mac.com/zenitani/emacs-j.html

Cocoa Emacs 23

Emacs 24

since 2012-06-25

http://emacsformacosx.com/ から Emacs-24.1-universal-10.6.8.dmg が入手できる。

MacPorts 版 Emacs

since 2016-01-11

http://sakito.jp/emacs/emacs24.html

https://jakevdp.github.io/blog/2013/02/02/setting-up-a-mac-for-python-development/

$ sudo port install emacs
$ sudo port install emacs-app +patches

キーボードの設定

US キーボードで CapsLock キーを control に割り当てるには:

ターミナルからの起動

since 2011-08-08

Snow Leopard にて。

使っている /Application/Emacs.app

  • This is GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-10 on gs674-seijiz.local

~/.bash_profile の準備:

alias ec='/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -n'

~/.emacs.el の準備:

(server-start)
  • まず Emacs.app を起動
  • .emacs に(server-start) と書かない場合は手作業で M-x server-start する。
  • ターミナルで ec ~/.bash_profile などとすると、Emacs でそのファイルが開く。

Windows

since 2011-11-21

http://labs.mengurume.net/archives/141/

  • emacs-23.3-bin-i386.zip を C:\Applications\emacs-23.3 として展開。
  • 環境変数の PATH に C:\Applications\emacs-23.3\bin を追加。
  • C:/Users/nishimotz/AppData/Roaming が ~/ ディレクトリになる。ここに .emacs をおけばよいという話。
  • USキーボードの CTRL-バックスラッシュ で日本語入力。SKK っぽい LEIM が動いている。
  • インライン変換したかったら ddskk はどうかな。。

GNUPACK

2016-03-28

過去の情報

Emacs 24

http://ftp.gnu.org/gnu/emacs/windows/

emacs-24.1-bin-i386.zip に差し替えて動作を確認できた。DDSKK もちゃんと動いている。

Windows用Emacs 24.4

2015-01-02

http://rubikitch.com/2014/11/11/ntemacs64/

64bit Windows 専用。

.emacs

since 2011-11-25

nvda の開発環境のつもりでいじっている:

(global-set-key "\C-h" 'delete-backward-char)
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)

(set-default 'truncate-lines t)

;; Python
(defun my-python-mode-hook ()
  (setq tab-width 4)
  (setq indent-level tab-width)
  (setq python-indent tab-width)
  (setq py-indent-offset tab-width)
  (setq indent-tabs-mode t))
(add-hook 'python-mode-hook 'my-python-mode-hook)

;; C/C++
(defun my-c-mode-hook ()
  (c-set-style "linux")
  (setq tab-width 4)
  (setq c-basic-offset tab-width))
(add-hook 'c++-mode-hook 'my-c-mode-hook)

;; based on http://hylom.net/tag/emacs/
(create-fontset-from-ascii-font "-outline-Meiryo-normal-r-normal-normal-12-*-*-*-*-*-iso8859-1" nil "msgochic")
(set-fontset-font "fontset-msgochic" 'japanese-jisx0208 '("Meiryo" . "jisx0208-sjis"))
(set-fontset-font "fontset-msgochic" 'katakana-jisx0201 '("Meiryo" . "jisx0201-katakana"))
(add-to-list 'default-frame-alist '(font . "fontset-msgochic"))

等幅フォントが使いたいのでMSゴシックでやってみた:

(create-fontset-from-ascii-font "-outline-MS ゴシック-normal-r-normal-normal-14-*-*-*-*-*-iso8859-1" nil "myfont")
(set-fontset-font "fontset-myfont" 'japanese-jisx0208 '("MS ゴシック*" . "jisx0208-sjis"))
(set-fontset-font "fontset-myfont" 'katakana-jisx0201 '("MS ゴシック*" . "jisx0201-katakana"))
(add-to-list 'default-frame-alist '(font . "fontset-myfont"))

NTEmacs 25.1 -> 24.5

since 2016-10-18

いろいろめんどくさくなったので素直な環境を作り直す:

http://qiita.com/Tats_U_/items/e85687349b16492785b6

http://cha.la.coocan.jp/doc/NTEmacs.html

emacs-25.1-simple_ime-no_symbol.zip (2016.10.08) 57,320,175byte

追記 (2017-01-03) emacs-24.5-simple-ime.zip (2015.09.21) 53,534,119byte に戻した。

http://cha.la.coocan.jp/doc/NTEmacsBinary.html

理由はいずれ。。

Terminal でも問題ない(メニューバーは F10 または Esc バッククオート)

環境変数 HOME で指定した場所に .emacs.d フォルダを作り、その中に init.el を作る。

最初は anything と auto-complete の読み込みを無効化しておき、 M-x package-list-packages でパッケージ2個をインストール、それから require を有効化。

.emacs.d/init.el (2017)

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
(package-initialize)
;; installed packages: anything, auto-complete
(require 'anything-startup)
(define-key global-map (kbd "C-l") 'anything)
(require 'auto-complete)
(global-auto-complete-mode t)

(setq vc-handled-backends nil)
(global-set-key "\C-h" 'delete-backward-char)
(set-terminal-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(define-coding-system-alias 'UTF-8 'utf-8)

;; https://www.emacswiki.org/emacs/IndentationBasics
(setq-default indent-tabs-mode nil)
(setq tab-width 4)

;; Python
(defun my-python-mode-hook ()
  (setq tab-width 4)
  (setq indent-level tab-width)
  (setq python-indent tab-width)
  (setq py-indent-offset tab-width)
  ;; (setq indent-tabs-mode t) ;; enable for NVDA source
  )
(add-hook 'python-mode-hook 'my-python-mode-hook)

;; C/C++
(defun my-c-mode-hook ()
  (c-set-style "linux")
  (setq tab-width 4)
  (setq c-basic-offset tab-width))
(add-hook 'c++-mode-hook 'my-c-mode-hook)

;; http://dan-project.blog.so-net.ne.jp/2012-06-04
(setq backup-directory-alist
      (cons (cons "\\.*$" (expand-file-name "~/.emacs.d/backup"))
            backup-directory-alist))
(setq auto-save-file-name-transforms
      `((".*" ,(expand-file-name "~/.emacs.d/backup/") t)))
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(fringe-mode 0 nil (fringe))
 '(inhibit-startup-screen t)
 '(package-selected-packages (quote (auto-complete)))
 '(require-final-newline nil)
 '(scroll-bar-mode nil))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

設定メモ

パッケージ管理機能

Text Fill を止めたい

since 2011-01-06

http://groups.google.com/group/emacs-on-rails/browse_thread/thread/3be92a47c202a55d?pli=1

正解:M-x auto-fill-mode

間違い:M-x toggle-text-mode-auto-fill

CTRL-H で BS

http://d.hatena.ne.jp/omochist/20060228/1141145534

(global-set-key "\C-h" 'delete-backward-char)

PHP モード

PHP モードで Tab を4文字下げにする:

(load-library "php-mode")
(require 'php-mode)
(add-hook 'php-mode-hook
	  '(lambda ()
	     (setq-default tab-width 4)
	     (setq indent-tabs-mode t))
	  )

改行コード

ファイルを開いたら行末が ^M だらけに。

文字コード・改行コードを変換して開き直すやり方

  • C-x RET r (revert-buffer-with-coding-system)

coding system for following command を使うやり方

sudo port install dos2unix して変換しておく方がいいかも。。

フレーム

http://ubulog.blogspot.jp/2007/09/emacs_05.html

(setq initial-frame-alist
      (append
       '((top .    22) ; pixel
	 (left .  700) ; pixel
	 (width .  90) ; character
	 (height . 50) ; character
	 ) initial-frame-alist))

マジックコメント

NXMLモード

php のソースファイルを NXML モードで開くようにするために、ファイルの先頭行にコメントを書く:

<?php /* -*- mode: nxml; coding: utf-8 -*- */ ?>

大文字 UTF-8

大文字の UTF-8 で

# -*- coding: UTF-8 -*-

のように書くとワーニングが出る。小文字 utf-8 だとワーニングが出ない。

.emacs に

(define-coding-system-alias 'UTF-8 'utf-8)

と書くと解決する。

便利な機能

カーソル位置の文字コード確認

C-u C-x =

で下記のような情報が得られる:

             position: 5862 of 15003 (39%), column: 19
            character: ¥ (displayed as ¥) (codepoint 165, #o245, #xa5)
    preferred charset: latin-jisx0201 (Roman Part of JISX0201.1976)
code point in charset: 0x5C
               syntax: w 	which means: word
             category: .:Base, l:Latin, r:Roman
          buffer code: #xC2 #xA5
            file code: #xC2 #xA5 (encoded by coding system utf-8-dos)
              display: by this font (glyph code)
    uniscribe:-outline-MS ゴシック-normal-normal-normal-mono-14-*-*-*-c-*-iso8859-1 (#x67)

Character code properties: customize what to show
  name: YEN SIGN
  general-category: Sc (Symbol, Currency)
  decomposition: (165) ('¥')

There are text properties here:
  face                 font-lock-string-face
  fontified            t
  rear-nonsticky       t

[back]

白黒反転

putty でも有効だったので覚え書き。

emacs -nw -rv で色の反転ができる。

あるいは

emacs --reverse

文字コードを指定して開き直す

emacs.txt · 最終更新: 2017/01/04 10:28 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0