elisp

Debian testing(Buster)でhaml-elispをインストールし設定する

haml-elispとは

Hamlマークアップ言語のためのEmacs Lisp モードです。

haml-elispのインストール

# apt install haml-elisp 

このコマンドにより、依存関係にあるソフトも同時にインストールされます。

haml-elispの設定

‘/etc/emacs/site-start.d/50haml-elisp.el’には、オートロードの設定が書いてあるので

‘.emacs’にはファイルの関連づけの設定だけを書きます。

  • 50haml-elisp.elの内容
(autoload 'haml-mode "haml-mode"
  "Major mode for editing haml-mode files." t)
  • .emacsに追加する内容
(add-to-list 'auto-mode-alist '("\\.haml\\'" . haml-mode))

Debian testing(Buster)でelpa-highlight-indentationをインストールし設定する

elpa-highlight-indentationとは

Emacsのバッファでインデントレベルをハイライトしてくれるマイナーモードです。

このパッケージは2つのマイナーモードを提供しています。

  • highlight-indentation-mode

インデントレベルごとにガイドを表示します。

  • highlight-indentation-current-column-mode

ポイントを含んでいるラインと同じレベルにインデントされた他のラインを示すガイドを表示します。

elpa-highlight-indentationのインストール

# apt install elpa-highlight-indentation

elpa-highlight-indentationの設定

Python-modeに設定するには、以下のコードを’.emacs’に書きます。

(require 'highlight-indentation)
(add-hook 'python-mode-hook 'highlight-indentation-current-column-mode)

highlight-indentation-modeとhighlight-indentation-current-column-modeのどちらがよいかは自分で試して決めるとよいでしょう。

私は、表示のうるさくなかった’highlight-indentation-current-column-mode’を設定しました。

また、デフォルトでは、ハイライトの色が黒だったので、薄い黄色にしました。

(set-face-background 'highlight-indentation-current-column-face "#e3e3d3")

Debian testing(Buster)でocp-indentをインストールし設定する

ocp-indentとは

emacsとvimのためのOCamlのインデントツールです。

ocp-indentのインストール

# apt install ocp-indent

ocp-indentの設定

.emacsに

(load-file "/usr/share/emacs/site-lisp/ocp-indent.el")

と書きます。

設定ファイルは’~/.ocp/ocp-indent.conf’に置きます。

設定ファイルの定義を上書きしたい場合は、現在のディレクトリに’.ocp-indent’ファイルを置きます。

また、コマンドラインオプションは設定ファイルの値を上書きします。

Debian testing(Buster)でdevelock-elをインストールし設定する

develock-elとは

Emacsで開発する人のための追加のフォントロックキーワードです。

develockはマイナーモードで、ファイルバッファの不必要なホワイトスペース、長い行などを教えてくれます。

対応しているモードは

  • Lisp modes
  • ChangeLog mode
  • Texinfo mode
  • C modes
  • OCaml modes
  • Coq mode
  • LaTeX mode
  • Java mode
  • Jde-mode
  • CPerl mode
  • Perl mode
  • HTML modes
  • some Mail modes

develock-elのインストール

# apt install develock-el

develock-elの設定

‘/etc/emacs/site-start.d/50develock-el.el’に

(cond ((featurep 'xemacs)
       (require 'develock)
       ;; `turn-on-develock' is equivalent to `turn-on-font-lock',
       ;;  except that it does not highlight the startup screen.
       (add-hook 'lisp-interaction-mode-hook 'turn-on-develock)
       (add-hook 'mail-setup-hook 'turn-on-font-lock))
      ((>= emacs-major-version 20)
       (require 'develock)
       (global-font-lock-mode 1))))

と、書かれているので特に設定する必要はありません。

Wanderlustの設定

‘/usr/share/emacs/site-lisp/develock-el/develock.el’に書いてあるfont-lockをサポートしていないWanderlustのドラフトモードでDevelockを使う設定です。

以下のコードを’.wl’ファイルに書きます。

(require 'develock)
(require 'message)

(setq wl-highlight-body-too nil)

(defadvice wl-highlight-headers (around dont-highlight-draft
                                        (&optional for-draft) activate)
  "Don't highlight draft buffers."
  (or for-draft ad-do-it))

(defun wl-draft-setup-develock ()
  "Function used to setup to use Develock in `wl-draft-mode'."
  (if (featurep 'xemacs)
      (put 'wl-draft-mode 'font-lock-defaults
           '(message-font-lock-keywords t))
    (make-local-variable 'font-lock-defaults)
    (setq font-lock-defaults '(message-font-lock-keywords t t)))
  (turn-on-font-lock))

(add-hook 'wl-mail-setup-hook 'wl-draft-setup-develock)

(setq develock-max-column-plist
      (plist-put develock-max-column-plist 'wl-draft-mode t))

(let ((elem (copy-sequence (assq 'message-mode develock-keywords-alist))))
  (setcar elem 'wl-draft-mode)
  (setq develock-keywords-alist
        (cons elem (delq (assq 'wl-draft-mode develock-keywords-alist)
                         develock-keywords-alist))))

‘/usr/share/emacs/site-lisp/develock-el/develock.el’には他にもMew,Ediff,Texinfo用の設定が書いてあります。

あと、各メジャーモードごと個別にDevelockモードを有効にする設定も書いてあるので参照してみるとよいでしょう。

パッケージ「elpa-beacon」のインストールと設定

 

これは何?

highlight the cursor whenever the window scrolls Whenever
the window scrolls a light will shine on top of your
cursor so you know where it is.

 

環境

 

  • OS:Debian (stretch)
  • Emacs:24.5.1
  • elpa-beacon:1.3.2-1

 

インストール

# apt-get install elpa-beacon

 

設定

文章系のバッファを開いた時には自動的にbeacon-modeをonにします。

(let ((function #'(lambda ()
  (beacon-mode 1)
  )))
  (dolist (hook '(find-file-hooks
  ;; ...
  mail-setup-hook
  message-setup-hook))
  (add-hook hook function)))

バッファメニュー 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”)))

[Emacs]Emacs24.1にDDSKK14.4をインストールする

はじめに

Emacs24.1の新機能であるpackageシステムについて調べようと 思っていましたが,まだ利用できるパッケージ数が少なくインストール したいパッケージもなかったので,Emacs24.1の環境構築について 書いていこうと思います.最初は日本語入力システムのDDSKKから.

インストール

SKK Openlab – DDSKK よりddskk-14.4.tar.gzをダウンロードしてください. 適当な所で展開します.

$ cd ddskk-14.4
$ make what-where EMACS=/usr/local/bin/emacs-24.1
$ sudo make install EMACS=/usr/local/bin/emacs-24.1

/usr/local/share/emacs/24.1/site-lisp/skkにインストールされます.

ロードパスの設定

/usr/local/share/emacs/24.1/site-lisp/はロードパスに含まれているので .emacsで設定は不要です.

.emacsの設定

(require ‘skk-autoloads)
(global-set-key “\C-x\C-j” ‘skk-mode)
(global-set-key “\C-xj” ‘skk-auto-fill-mode)
(global-set-key “\C-xt” ‘skk-tutorial)

;; SKK を起動していなくても、いつでも skk-isearch を使う
(add-hook ‘isearch-mode-hook ‘skk-isearch-mode-setup)
(add-hook ‘isearch-mode-end-hook ‘skk-isearch-mode-cleanup)

;; Org mode のときだけ句読点を変更したい
(add-hook ‘org-mode-hook
(lambda ()
(require ‘skk)
(setq skk-kutouten-type ‘en)))

;; 文章系のバッファを開いた時には自動的に英数モード(「SKK」モード)に入る
(let ((function #'(lambda ()
(require ‘skk)
(skk-latin-mode-on))))
(dolist (hook ‘(find-file-hooks
;; …
mail-setup-hook
message-setup-hook
wl-draft-mode-hook))
(add-hook hook function)))

.skkの設定

整理されていないので後日追加する.

[JAVA][Emacs]malabar-modeのインストール

環境

OS:ubuntu12.04LTS openjdk-7-jdkインストール済み CEDET(Emacsのバージョンが23.3.1なので同梱済み)

Mavenのインストール

malabar-modeのインストールに必要なのでdebパッケージで入れる.

$ sudo apt-get install maven

2012年6月12日時点で,バージョン3.0.4がインストールされる.

malabar-modeのインストール

malabar-modeはGitを使って取得します.

git clone git://github.com/espenhw/malabar-mode.git

pom.xmlにmavenのバージョンが書いてある所があるのでそこを 3.0.4に変える.

<maven.version>3.0-SNAPSHOT</maven.version>
→ <maven.version>3.0.4</maven.version>

ビルド後のテストに失敗するのでテストをしないようにオプションで指定する.

$ mvn -Dmaven.test.skip=true package

ビルド終了後,targetディレクトリにmalabar-<version>-dist.zipファイルができているので これを適当な所に展開する.

できたmalabar-<version>/lispディレクトリにロードパスを通す.

.emacsに以下を追加./path/to/malabar/libは適切なディレクトリを指定する.

(require ‘cedet)
; (semantic-load-enable-minimum-features) ;; or enable more if you wish
(require ‘malabar-mode)
(setq malabar-groovy-lib-dir “/path/to/malabar/lib”)
(add-to-list ‘auto-mode-alist ‘(“\\.java\\'” . malabar-mode))

(semantic-load-enable-minimum-features)は有効にしているとエラーが出たのでコメントアウトしておいた. これは調査中.

[Emacs]anything.elのフォークhelm-modeをインストールする

インストール

(1)GitHubのリポジトリから取ってきます.ロードパスを通すディレクトリは任意です.

$ git clone https://github.com/emacs-helm/helm.git /path/to/helm/directory

(2)~/.emacs.d/init.elに以下の内容を書きます.

(add-to-list ‘load-path “/path/to/helm/directory”)

(require ‘helm-config)

基本的な使い方

(1)M-x helm-miniで起動するか,~/.emacs.d/init.elに以下の内容を記述します.

(global-set-key (kbd “C-c h”) ‘helm-mini)

この設定によりミニバッファにpatternを入力するように求めらます.helm mini バッファにマッチするバッファ,最近開いたファイル,バッファ作成などの選択肢が表示されてC-n/C-pで選択し,Returnで決定するとそのアクションが実行されます.

(2)helmにコマンド補完させたい場合は,M-x helm-modeとするか,~/.emacs.d/init.el に以下の内容を記述します.

(helm-mode 1)

この設定により例えば,DiredモードでC-x C-fとするとhelm-mode-find-fileという バッファが表示されてC-n/C-pで選択し,Returnで決定するとそのファイルが開けます.

高度な使い方

・Wiki

Home · emacs-helm/helm Wiki · GitHub

を参照してください.

雑感

今回はREADMEの内容をまとめただけですが,これだけでもかなり使えるでしょう. 次回からはWikiを参照しながらカスタマイズをしていこうと思います.

参考URL

・公式サイト

emacs-helm/helm · GitHub