「Emacsのtips的なもの」に戻る |
---|
テスト環境
OS: Ubuntu10.10
GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0)
はじめに¶
今のEmacsの設定を見直すために org-mode仕様の Emacs Starter Kit を使おうと思ったので、eschulte / emacs-starter-kit をとってきて、起動させるまでのメモ書きです。
Emacsの設定というよりは、gitの練習になってしまっていますが、最低ラインにEmacsを起動させるまでの過程を書いています。
eschulte / emacs-starter-kit
https://github.com/eschulte/emacs-starter-kit
https://github.com/eschulte/emacs-starter-kit
インストール¶
■必要なもの
$ sudo aptitude install emacs texinfo git-core git-svn
texinfoはmakeinfoするために必要です。
emacsの設定ファイルを置くディレクトリをhomeディレクトリにつくっておく。
$ mkdir .emacs.d && cd .emacs.d
Emacs Starter Kitをgitを使ってとってくる。[1]
$ (emacs.d) git clone https://github.com/eschulte/emacs-starter-kit.git .
・
・
Resolving deltas: 100% (1325/1325), done.
・
・
Resolving deltas: 100% (1325/1325), done.
$ (emacs.d) git:(master) ls
COPYING starter-kit-bindings.org starter-kit-lisp.org README starter-kit-defuns.org starter-kit-misc.org dominating-file.el starter-kit-elpa.org starter-kit-org.org elpa/ starter-kit-eshell.org starter-kit-perl.org elpa-to-submit/ starter-kit-gnus-imap.org starter-kit-python.org eshell/ starter-kit-gnus-pop.org starter-kit-registers.org init.el starter-kit-gnus.org starter-kit-ruby.org package.el starter-kit-haskell.org starter-kit-yasnippet.org snippets/ starter-kit-js.org starter-kit.org src/ starter-kit-latex.org
.elファイルは init.el と package.el しかない。
とりあえず、自分のbranchをつくる。
$ (emacs.d) git:(master) git checkout -b hazimarino
Switched to branch 'hazimarino'
Switched to branch 'hazimarino'
.gitignoreを変更する。
## exported files
#*el
starter-kit*el
## ignore packages held in the src directory
#src
#*el
starter-kit*el
## ignore packages held in the src directory
#src
$ (emacs.d) git:(hazimarino) git commit -am ".gitignoreを変更"
一度、起動してみる。
$ (emacs.d) git:(hazimarino) emacs &
Warningが出る。
設定ファイルを読んでみる必要があるようだ。
.gitmodulesを読んでみる。
[submodule "src/org"] path = src/org url = http://repo.or.cz/r/org-mode.git [submodule "src/magit"] path = src/magit url = http://git.gitorious.org/magit/mainline.git [submodule "snippets/text-mode/org-mode"] path = snippets/text-mode/org-mode url = http://github.com/eschulte/yasnippet-org-mode.git [submodule "src/auctex"] path = src/auctex url = http://github.com/eschulte/auctex.git必要なものは org-mode magit auctex yasnippet-org-mode だと思う。
yasnippetなんたらが必要なら、yasnippetがいるはずだと思い。grepで設定を探してみる。
#+begin_src emacs-lisp (add-to-list 'load-path (expand-file-name "yasnippet" (expand-file-name "src" dotfiles-dir))) (require 'yasnippet) (yas/initialize) #+end_srcstarter-kit.orgにpathを通す設定が書かれているのでやはり、yasnippetは必要みたいだ。
とりあえず、必要なsubmoduleをとってくる。
$ (emacs.d) git:(hazimarino) git submodule init && git submodule update
これで、空だったディレクトリが埋まりました。
submoduleのブランチが空になっているので切り替える
$ (emacs.d) git:(hazimarino) cd snippets/text-mode/org-mode && git checkout master
$ (emacs.d/snippets/text-mode/org-mode) git:(master) cd ~/.emacs.d
$ (emacs.d) git:(hazimarino) cd src/org && git checkout master
$ (emacs.d/src/org) git:(master) cd ../magit && git checkout master
$ (emacs.d/src/magit) git:(master) cd ../auctex && git checkout master
$ (emacs.d/src/magit) git:(master) cd ../
$ (emacs.d/src) git:(master) git add magit org
$ (emacs.d/src) git:(master) git commit -m "空のbranchをmasterに切り替えた"
$ (emacs.d/snippets/text-mode/org-mode) git:(master) cd ~/.emacs.d
$ (emacs.d) git:(hazimarino) cd src/org && git checkout master
$ (emacs.d/src/org) git:(master) cd ../magit && git checkout master
$ (emacs.d/src/magit) git:(master) cd ../auctex && git checkout master
$ (emacs.d/src/magit) git:(master) cd ../
$ (emacs.d/src) git:(master) git add magit org
$ (emacs.d/src) git:(master) git commit -m "空のbranchをmasterに切り替えた"
org-modeはmakeしないと、org-install.elが生成されないので、ちゃんとmakeしておく。
$ (emacs.d) git:(hazimarino) cd src/org/
$ (emacs.d/src/org) make && make doc
・
・
Wrote /home/iyori/.emacs.d/src/org/lisp/org-install.elc
$ (emacs.d/src/org) make && make doc
・
・
Wrote /home/iyori/.emacs.d/src/org/lisp/org-install.elc
これでorg-install.elが作成されました。
$ (emacs.d/src/org) ls lisp/ | grep org-install
org-install.el
org-install.elc
$ (emacs.d/src/org) cd ..
org-install.el
org-install.elc
$ (emacs.d/src/org) cd ..
yasnippet.elをもってくる。
$ (emacs.d) git:(hazimarino) mkdir yasnippet && cd yasnippet
$ (emacs.d/src/yasnippet) git:(hazimarino) git svn clone http://yasnippet.googlecode.com/svn/trunk/ .
$ (emacs.d/src/yasnippet) git:(hazimarino) git svn clone http://yasnippet.googlecode.com/svn/trunk/ .
最新の状態に保つためには
$ (emacs.d/src/yasnippet) git:(master) git svn rebase
とするといい。
Feed: http://code.google.com/feeds/p/yasnippet/svnchanges/basic
$ (emacs.d/src/yasnippet) git:(master) git svn rebase
とするといい。
Feed: http://code.google.com/feeds/p/yasnippet/svnchanges/basic
$ (emacs.d/src/yasnippet) git:(hazimarino) cd ..
$ (emacs.d/src) git:(hazimarino) git add yasnippet
$ (emacs.d/src) git:(hazimarino) git commit -m "yasnippetを追加"
$ (emacs.d/src) git:(hazimarino) git add yasnippet
$ (emacs.d/src) git:(hazimarino) git commit -m "yasnippetを追加"
この状態で起動してみる。
$ (emacs.d/src) git:(hazimarino) cd ..
$ (emacs.d) git:(hazimarino) emacs &
$ (emacs.d) git:(hazimarino) emacs &
Leaving directory `/home/iyori/.emacs.d/elpa/yasnippet-bundle-0.6.1'
Compiling file /home/iyori/.emacs.d/elpa/yasnippet-bundle-0.6.1/yasnippet-bundle-pkg.el at Mon Dec 6 20:19:15 2010
Entering directory `/home/iyori/.emacs.d/elpa/yasnippet-bundle-0.6.1/'
Compiling file /home/iyori/.emacs.d/elpa/yasnippet-bundle-0.6.1/yasnippet-bundle.el at Mon Dec 6 20:19:15 2010
In yas/minor-mode:
yasnippet-bundle.el:738:38:Warning: reference to free variable
`yas/snippet-tables'
In yas/define-snippets:
yasnippet-bundle.el:1605:8:Warning: function `yas/define-snippets' defined
multiple times in this file
In yas/indent:
yasnippet-bundle.el:3174:34:Warning: reference to free variable `column'
In end of data:
yasnippet-bundle.el:4460:1:Warning: the function `yas/define-snippets' is not
known to be defined.
Compiling no file at Mon Dec 6 20:19:17 2010
Leaving directory `/home/iyori/.emacs.d/elpa/gist-0.5'
Compiling file /home/iyori/.emacs.d/elpa/gist-0.5/gist-pkg.el at Mon Dec 6 20:19:17 2010
Entering directory `/home/iyori/.emacs.d/elpa/gist-0.5/'
Compiling file /home/iyori/.emacs.d/elpa/gist-0.5/gist.el at Mon Dec 6 20:19:17 2010
Compiling no file at Mon Dec 6 20:19:19 2010
Leaving directory `/home/iyori/.emacs.d/elpa/paredit-22'
Compiling file /home/iyori/.emacs.d/elpa/paredit-22/paredit-pkg.el at Mon Dec 6 20:19:19 2010
Entering directory `/home/iyori/.emacs.d/elpa/paredit-22/'
Compiling file /home/iyori/.emacs.d/elpa/paredit-22/paredit.el at Mon Dec 6 20:19:19 2010
Compiling no file at Mon Dec 6 20:19:19 2010
Compiling file /home/iyori/.emacs.d/elpa/yasnippet-bundle-0.6.1/yasnippet-bundle-pkg.el at Mon Dec 6 20:19:15 2010
Entering directory `/home/iyori/.emacs.d/elpa/yasnippet-bundle-0.6.1/'
Compiling file /home/iyori/.emacs.d/elpa/yasnippet-bundle-0.6.1/yasnippet-bundle.el at Mon Dec 6 20:19:15 2010
In yas/minor-mode:
yasnippet-bundle.el:738:38:Warning: reference to free variable
`yas/snippet-tables'
In yas/define-snippets:
yasnippet-bundle.el:1605:8:Warning: function `yas/define-snippets' defined
multiple times in this file
In yas/indent:
yasnippet-bundle.el:3174:34:Warning: reference to free variable `column'
In end of data:
yasnippet-bundle.el:4460:1:Warning: the function `yas/define-snippets' is not
known to be defined.
Compiling no file at Mon Dec 6 20:19:17 2010
Leaving directory `/home/iyori/.emacs.d/elpa/gist-0.5'
Compiling file /home/iyori/.emacs.d/elpa/gist-0.5/gist-pkg.el at Mon Dec 6 20:19:17 2010
Entering directory `/home/iyori/.emacs.d/elpa/gist-0.5/'
Compiling file /home/iyori/.emacs.d/elpa/gist-0.5/gist.el at Mon Dec 6 20:19:17 2010
Compiling no file at Mon Dec 6 20:19:19 2010
Leaving directory `/home/iyori/.emacs.d/elpa/paredit-22'
Compiling file /home/iyori/.emacs.d/elpa/paredit-22/paredit-pkg.el at Mon Dec 6 20:19:19 2010
Entering directory `/home/iyori/.emacs.d/elpa/paredit-22/'
Compiling file /home/iyori/.emacs.d/elpa/paredit-22/paredit.el at Mon Dec 6 20:19:19 2010
Compiling no file at Mon Dec 6 20:19:19 2010
なんだかすごくWarningが出てるみたいだけど、気にしない。
これは後から修正する。
C-x C-c で終了させる。
$ (emacs.d) git:(hazimarino) ls
COPYING starter-kit-defuns.org starter-kit-misc.org README starter-kit-elpa.el starter-kit-org.el auto-save-list/ starter-kit-elpa.org starter-kit-org.org backups/ starter-kit-eshell.el starter-kit-perl.el dominating-file.el starter-kit-eshell.org starter-kit-perl.org elpa/ starter-kit-gnus-imap.org starter-kit-python.el elpa-to-submit/ starter-kit-gnus-pop.org starter-kit-python.org eshell/ starter-kit-gnus.org starter-kit-registers.el init.el starter-kit-haskell.el starter-kit-registers.org package.el starter-kit-haskell.org starter-kit-ruby.el places starter-kit-js.el starter-kit-ruby.org snippets/ starter-kit-js.org starter-kit-yasnippet.org src/ starter-kit-latex.org starter-kit.el starter-kit-bindings.el starter-kit-lisp.el starter-kit.org starter-kit-bindings.org starter-kit-lisp.org starter-kit-defuns.el starter-kit-misc.el
おお! 見事に、.elファイルが生成されている!!
もう一度起動。
$ (emacs.d) git:(hazimarino) emacs &
無事に、起動した。
あとは、この設定をもとに自分好みに拡張していきます。
Emacs Starter Kit の 解説はまた次の機会に。
参考・引用¶
■git関係
Pro Git - http://progit.org/book/ja/ch6-6.html
Memo - http://hiki.i-yt.info/hiki.cgi?Git+%BB%C8%A4%A4%CA%FD%281%29
みずぴー日記 - http://d.hatena.ne.jp/mzp/20080508/git
idesaku blog - http://d.hatena.ne.jp/idesaku/20090323/1237825080
Git Cheat Sheets JP - http://hail2u.net/documents/git-cheat-sheets-jp.html
■Emacs Starter Kit
本家 - technomancy / emacs-starter-kit https://github.com/technomancy/emacs-starter-kit
org-mode仕様 - eschulte / emacs-starter-kit https://github.com/eschulte/emacs-starter-kit
Pro Git - http://progit.org/book/ja/ch6-6.html
Memo - http://hiki.i-yt.info/hiki.cgi?Git+%BB%C8%A4%A4%CA%FD%281%29
みずぴー日記 - http://d.hatena.ne.jp/mzp/20080508/git
idesaku blog - http://d.hatena.ne.jp/idesaku/20090323/1237825080
Git Cheat Sheets JP - http://hail2u.net/documents/git-cheat-sheets-jp.html
■Emacs Starter Kit
本家 - technomancy / emacs-starter-kit https://github.com/technomancy/emacs-starter-kit
org-mode仕様 - eschulte / emacs-starter-kit https://github.com/eschulte/emacs-starter-kit
■脚注
[1] cygwinな方で、下記のようなエラーが出る場合、
応急処置として、証明書のチェックしないように設定するといいかもしれません。
もっといい方法があればいいんですが……
■引用
<s>gnarl,</s>技術メモ”’<marquee><textarea>¥- http://d.hatena.ne.jp/gnarl/20101105
$ (emacs.d) git clone https://github.com/eschulte/emacs-starter-kit.git . error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/eschulte/emacs-starter-kit.git/info/refs fatal: HTTP request failed
応急処置として、証明書のチェックしないように設定するといいかもしれません。
$ (emacs.d) git config --global http.sslVerify false
もっといい方法があればいいんですが……
■引用
<s>gnarl,</s>技術メモ”’<marquee><textarea>¥- http://d.hatena.ne.jp/gnarl/20101105