個人用Infoディレクトリの設定

個人用Infoディレクトリを作成

mkdir ~/info

dirファイルを作成

以下の内容のファイルを作成します.

これは,”~/info”に入れているInfoファイルの構成を

記録しておくためのものです.

今回はskkのInfoファイルを入れておきます.

This is the file …/info/dir, which contains the
topmost node of the Info hierarchy, called (dir)Top.
The first time you invoke Info you start off looking at this node.

File: dir, Node: Top This is the top of the INFO tree

This (the Directory node) gives a menu of major topics.
Typing “q” exits, “?” lists all Info commands, “d” returns here,
“h” gives a primer for first-timers,
“mEmacs<Return>” visits the Emacs manual, etc.

In Emacs, you can click mouse button 2 on a menu item or cross reference
to select it.

* Menu:

Emacs
* SKK: (skk). Simple Kana to Kanji conversion program.

“~/.emacs”の設定

サイト全体のInfoよりも個人用のInfoを優先したい場合

(setq Info-directory-list
      (cons (expand-file-name "~/info") Info-directory-list ))

個人用のInfoよりもサイト全体のInfoを優先したい場合

(setq Info-directory-list
      (append Info-directory-list (list (expand-file-name "~/info"))))

ENSIMEのインストールと設定

はじめに

scala-mode2を入れたついでに

ENSIME(the ENhanced Scala Interaction Mode for Emacs)を

入れてみます.

環境とバージョン

  • OS:Debian Wheezy amd64
  • Emacs:emacs-snapshot_20130317-1_amd64
  • Scala:scala_2.9.2+dfsg-1_all

機能

  • Highlight errors and warnings in your code buffers.
  • Inspect the type of any expression.
  • Browse packages
  • Completion for variables, methods, constructors, etc.
  • Incrementally search through classpath symbols
  • Find all references to a symbol
  • Jump to symbol definitions.
  • Semantic Highlighting
  • Automated Refactorings (rename, organize imports, extract method)
  • Source Formatting
  • AST-based selection
  • Supports sbt 11,12
  • Embedded sbt shell
  • REPL
  • Debug support

ダウンロード

Dropbox – ENSIME Releases より

ensime_2.9.2-0.9.8.9.tar.gzをダウンロードします.

Scalaのバージョン-ensimeのバージョンになっているみたいなので

インストールされているScalaのバージョンにあったtar.gzを

ダウンロードしてください.

設定

ロードパスの通ったディレクトリに展開してください.

.emacsに以下の設定を追加してください.

;; load the ensime lisp code...
(add-to-list 'load-path "ENSIME_ROOT/elisp/")
(require 'ensime)

;; This step causes the ensime-mode to be started whenever
;; scala-mode is started for a buffer. You may have to customize this step
;; if you're not using the standard scala mode.
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)

scala-mode2のインストールと設定

はじめに

scala-modeのインストールを書きましたが,Emacs24専用のモードscala-mode2があったので

今回はこれをインストールしてみます.

環境とバージョン

  • OS:Debian Wheezy amd64
  • Emacs:emacs-snapshot_20130317-1_amd64

インストール

git clone git://github.com/hvesalai/scala-mode2.git

設定

.emacsに以下の設定を追加してください.

(add-to-list 'load-path "/path/to/scala-mode2/")
(require 'scala-mode2)

改行とインデント,行連結,バックタブ

(add-hook 'scala-mode-hook '(lambda ()

  ;; Bind the 'newline-and-indent' command to RET (aka 'enter'). This
  ;; is normally also available as C-j. The 'newline-and-indent'
  ;; command has the following functionality: 1) it removes trailing
  ;; whitespace from the current line, 2) it create a new line, and 3)
  ;; indents it.  An alternative is the
  ;; 'reindent-then-newline-and-indent' command.
  (local-set-key (kbd "RET") 'newline-and-indent)

  ;; Alternatively, bind the 'newline-and-indent' command and
  ;; 'scala-indent:insert-asterisk-on-multiline-comment' to RET in
  ;; order to get indentation and asterisk-insertion within multi-line
  ;; comments.
  ;; (local-set-key (kbd "RET") '(lambda ()
  ;;   (interactive)
  ;;   (newline-and-indent)
  ;;   (scala-indent:insert-asterisk-on-multiline-comment)))

  ;; Bind the 'join-line' command to C-M-j. This command is normally
  ;; bound to M-^ which is hard to access, especially on some European
  ;; keyboards. The 'join-line' command has the effect or joining the
  ;; current line with the previous while fixing whitespace at the
  ;; joint.
  (local-set-key (kbd "C-M-j") 'join-line)

  ;; Bind the backtab (shift tab) to
  ;; 'scala-indent:indent-with-reluctant-strategy command. This is usefull
  ;; when using the 'eager' mode by default and you want to "outdent" a
  ;; code line as a new statement.
  (local-set-key (kbd "<backtab>") 'scala-indent:indent-with-reluctant-strategy)

  ;; and other bindings here
))

ホワイトスペース

不適当なホワイトスペースをハイライトし,

保存時に不要なホワイトスペースを削除する設定.

(add-hook 'scala-mode-hook '(lambda ()
  (require 'whitespace)

  ;; clean-up whitespace at save
  (make-local-variable 'before-save-hook)
  (add-hook 'before-save-hook 'whitespace-cleanup)

  ;; turn on highlight. To configure what is highlighted, customize
  ;; the *whitespace-style* variable. A sane set of things to
  ;; highlight is: face, tabs, trailing
  (whitespace-mode)
))

scala-modeのインストール

環境とバージョン

  • OS:Debian Wheezy amd64
  • Emacs:emacs-snapshot_20130304-1_amd64
  • scala-mode:0.5.99.5

ダウンロード

git clone https://github.com/scala/scala-dist.git

できたディレクトリ’scala-dist/tool-support/src/emacs’

以下のファイルすべてをロードパスの通っているディレクトリ

に置きます.

設定

初期設定ファイル(.emacs等)に以下のようなコードを書きます.

ここではscalaモードでyasnippetsを使えるように’yasnippet/snippets/scala-mode’を

scala snippetsのディレクトリとして指定しています.

(require 'scala-mode-auto)

(setq yas/scala-directory "LOAD-PATH/yasnippet/snippets/scala-mode")
(yas/load-directory yas/scala-directory)

(add-hook 'scala-mode-hook
          '(lambda ()
             (yas/minor-mode-on)
             ))

nrepl-ritz.elをインストールする

はじめに

前回の記事でnrepl.elをインストールしたので,

ついでにnrepl-ritz.elもインストールします.

環境とバージョン

OS:Debian Wheezy amd64

Emacs:emacs-snapshot_20130304-1_amd64

nrepl:0.1.7

nrepl-ritz:0.7.1

ダウンロード

git clone https://github.com/pallet/ritz.git

設定

ダウンロードしたnrepl-ritz.elをロードパスの通ったディレクトリに置きます.

初期設定ファイル(.emacs等)に以下のようなコードを書きます.

(add-hook 'nrepl-interaction-mode-hook 'my-nrepl-mode-setup)
(defun my-nrepl-mode-setup ()
  (require 'nrepl-ritz))

nrepl.elをインストールする

前提条件

nrepl.elはclojure-mode.elに依存しているので

clojure-mode.elのインストールと設定はできている

必要があります.

環境とバージョン

OS:Debian Wheezy amd64

Emacs:emacs-snapshot_20130304-1_amd64

nrepl:0.1.7

ダウンロード

git clone https://github.com/kingtim/nrepl.el.git

設定

ダウンロードしたnrepl.elをロードパスの通ったディレクトリに置きます.

初期設定ファイル(.emacs等)に以下のようなコードを書きます.

(require 'nrepl)

参考リンク

バッファメニュー on Emacs24

Ibufferとは

IbufferはBufferMenuにかわるDiredと同じようにバッファを操作できる モードです. Ibufferにはハイライトしたりさまざまなレイアウトにする機能があります. Emacs24の一部です.

.emacsの設定

(global-set-key (kbd “C-x C-b”) ‘ibuffer)
(autoload ‘ibuffer “ibuffer” “List buffers.” t)

アスタリスクで始まるバッファを隠す

私は設定していませんが,アスタリスクで始まるバッファを隠すことができます.

(require ‘ibuf-ext)
(add-to-list ‘ibuffer-never-show-predicates “^\\*”)

フィルターグループの設定

フィルターの設定をすることで,バッファをグループ化できます.

(setq ibuffer-saved-filter-groups
‘((“home”
(“emacs-config” (or (filename . “.emacs.d”)
(filename . “emacs-config”)))
(“tsutomuonoda.com” (filename . “tsutomuonoda”))
(“Org” (or (mode . org-mode)
(filename . “OrgMode”)))
(“Mail”
(or
(mode . wl-folder-mode)
(mode . wl-summary-mode)
(mode . wl-draft-mode)
(mode . mew-summary-mode)
(mode . mew-draft-mode)
))
(“R” (or
(mode . ess-mode)
(filename . “EssMode”)))
(“LaTeX”
(or
(mode . latex-mode)
(filename . “LaTeXMode”)))
(“Text” (name . “.txt”))
(“Programming”
(or
(mode . c-mode)
(mode . perl-mode)
(mode . python-mode)
(mode . emacs-lisp-mode)
;; etc
))
(“Web Dev” (or (mode . html-mode)
(mode . css-mode)))
(“Dired” (mode . dired-mode))
(“Egg” (name . “\*Egg”))
(“Help” (or (name . “\*Help\*”)
(name . “\*Apropos\*”)
(name . “\*info\*”))))))

その他の有益なオプション

空のフィルターグループを隠す

(setq ibuffer-show-empty-filter-groups nil)

自動でバッファリストをアップデートする

これは,フックの中に入れています.

(ibuffer-auto-mode 1)

フック

(add-hook ‘ibuffer-mode-hook
‘(lambda ()
(ibuffer-auto-mode 1)
(ibuffer-switch-to-saved-filter-groups “home”)))

英辞郎をSDICで使う

はじめに

SDICのインストール,設定は以前書いた記事を参照してください.

Emacs上で英和和英辞書を引くためのソフトSDICをインストール・設定する

英辞郎の購入

ダウンロードする

上記のサイトからリンクをクリックし,購入しておいてください.

解凍

ダウンロードした英辞郎の圧縮ファイルを解凍します.

コマンド

unzip EDP-135.zip

ファイル名はおそらく英辞郎のバージョンにより異なるでしょう.

私がダウンロードしたのはVer.135(2012年9月5日版)です.

sdic-eijiro

英辞郎のファイルを変換するsdic-eijiroをインストールします.

コマンド

apt-get install sdic-eijiro

ディレクトリ

英辞郎の辞書ファイルのあるディレクトリを指定します.

手動で和英辞書を作る

Building /usr/share/dict/eijiro.sdic (from /home/onoben/tmp/EIJIRO/RYAKU135.TXT) … done.
Building /usr/share/dict/waeijiro.sdic …

インストール後辞書変換処理の途中,この状態で 止まってしまったので,手動でwaeijiro.sdicファイルを作成しました.

コマンド

nkf -S -e WAEI-135.TXT | perl /usr/share/sdic/eijiro.pl –waei > /tmp/waeijiro.sdic
mv /tmp/waeijiro.sdic /usr/share/dict/waeijiro.sdic

参考ドキュメント

‘/usr/share/sdic/eijiro.pl’のコメント

Emacs上で英和和英辞書を引くためのソフトSDICをインストール・設定する

はじめに

SDICはEmacs上で英和・和英辞書を引くためのソフトウェアです.

Emacs interface for Japanese dictionaries
This package provides an Emacs-Lisp viewer for English-Japanese
and Japanese-English dictionaries.

辞書データとしてフリーな英和辞書GENE95,和英辞書EDICTを使います.

これらの辞書を導入するパッケージも一緒にインストールします.

環境とバージョン

  • OS:Debian Wheezy amd64
  • Emacs:emacs-snapshot_20121122-1_amd64
  • sdic-edict:sdic-edict_2.1.3-22_all
  • sdic-gene95:sdic-gene95_2.1.3-22_all

インストール

コマンド

apt-get install sdic sdic-edict sdic-gene95

パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
以下の特別パッケージがインストールされます:
edict
提案パッケージ:
sdic-eijiro kakasi
推奨パッケージ:
sufary
以下のパッケージが新たにインストールされます:
edict sdic sdic-edict sdic-gene95
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 7 個。
4,697 kB のアーカイブを取得する必要があります。
この操作後に追加で 14.1 MB のディスク容量が消費されます。
続行しますか [Y/n]?

そのまま,[Y]と答えてください.

設定

.emacsファイルに以下のコードを記述します.

(global-set-key “\C-cw” ‘sdic-describe-word)
(global-set-key “\C-cW” ‘sdic-describe-word-at-point)

使い方

まず,”M-x sdic”または”\C-cw”と入力します.

ミニバッファにInput Word:とプロンプトが表示されます.

ここに何か単語を入力します.そうすると検索結果が返ってきます.

次に,意味がわからない単語にカーソルを合せて,

“C-cW”と叩くと,すぐ結果が別ウィンドウで表示されます.

キーバインド

key binding 説明
ESC Prefix Command プレフィックスキー
SPC scroll-up 前方へスクロールする
< sdic-goto-point-min 先頭へ移動する
> sdic-goto-point-max 終端へ移動する
? describe-mode モード説明
Q sdic-exit SDICを終了する
b scroll-down 後方へスクロールする
h backward-char カーソルを後方へ移動
j next-line 次の行へ移動
k previous-line 前の行へ移動
l forward-char カーソルを前方へ移動
n sdic-forward-item 次の項目へ移動
o sdic-other-window 他のウィンドウへ移動
p sdic-backward-item 前の項目へ移動
q sdic-close-window SDICのウィンドウを閉じる
w sdic-describe-word 新たな単語を検索
DEL scroll-down 後方へスクロールする
<backspace> scroll-down 後方へスクロールする
<delete> scroll-down 後方へスクロールする
C-M-i sdic-backward-item 前の項目へ移動