brose-kill-ringのインストールと設定

brose-kill-ringとは

キルリングから対話的に項目を挿入するモードです.

環境とバージョン

  • Emacs:emacs-snapshot_20130520-1_amd64
  • OS:Debian Jessie amd64

インストール

emacs-goodies-elパッケージに入っているので

コマンドラインから

apt-get install emacs-goodies-el

で,インストールできます.

.emacsの設定

(require 'browse-kill-ring)

カスタマイズ

  • “C-c y”でbrowse-kill-ringを起動する
(global-set-key (kbd "C-c y") 'browse-kill-ring)
  • ヤンク直後でない場合,代わりに`browse-kill-ring’を起動する
(defadvice yank-pop (around kill-ring-browse-maybe (arg))
  "If last action was not a yank, run `browse-kill-ring' instead."
  (if (not (eq last-command 'yank))
      (browse-kill-ring)
    ad-do-it))

(ad-activate 'yank-pop)

参考リンク

emacs-goodies-elのInfo

twittering-mode-3.0.0のインストールと設定 on Emacs24

はじめに

5月7日にtwittering-modeの3.0.0がリリースされていたので

インストールしてみました.

前提

  • cURL
  • GNU Wget
  • OpenSSL
  • GnuTLS
  • GnuPG
  • ImageMagick or GraphicsMagick
  • gzip

上記ソフトウェアがインストールされていること.

自分の環境ではcURLがインストールされていなかったので

インストールしました.

apt-get install curl

ダウンロード

twittering-mode – Browse Files at SourceForge.net

からダウンロードできます.

インストール

ダウンロードしたら,ロードパスの通っているところに,

展開します.

.emacsの設定

(require 'twittering-mode)

;認証済みaccess tokenをGnuPGで暗号化して保存する
(setq twittering-use-master-password t)

(setq twittering-use-ssl t)

;アイコン表示
(setq twittering-icon-mode t)

;タイムラインを5分(300秒)間隔で更新
(setq twittering-timer-interval 300) 

;アイコン取得時の情報表示をデフォルトで抑制するか
(setq twittering-url-show-status t)  

;全てのアイコンを保存するか
(setq twittering-icon-storage-limit t)

;最初に開くタイムラインを設定する
(setq twittering-initial-timeline-spec-string
      '(":replies"
        ":favorites"
        ":retweets_of_me"
        ":home"
))

;短縮URLにbit.lyを使う
(setq twittering-tinyurl-service 'bit.ly)
(setq twittering-bitly-login "hogehoge")
(setq twittering-bitly-api-key "hoge_key")

展開したディレクトリ内のREADME.markdownを見て設定ました.

以前の設定がそのまま使えました.

 

2ちゃんねるナビゲータNavi2chのインストール,設定 on Debian jessie amd64

インストール

apt-get  install navi2ch

設定

.emacsに

(autoload 'navi2ch "navi2ch" "Navigator for 2ch for Emacs" t)

起動方法

`M-x navi2ch <RET>’ で起動する.

カスタマイズ

その他のカテゴリに入れる板を追加する

`~/.navi2ch/etc.txt’ というファイルを作成し,

ニュース速報+
http://news.2ch.net/newsplus/
newsplus

のように書く. (ニュース速報+板を追加する場合)

モナーフォントを使う

インストール

apt-get install fonts-mona xfonts-mona

`~/.navi2ch/init.el’に以下のように書く.

(setq navi2ch-mona-enable t)
(setq navi2ch-mona-face-variable 'navi2ch-mona16-face)

参考リンク

navi2chのinfo

パッケージシステムの設定

はじめに

Emacs24から簡単にEmacs Lispパッケージをインストールできる

新しいパッケージシステムが追加されました.

今回はその設定です.

インストール

package.elはEmacs24に同梱されています.

次にmelpa.elをインストールします.

以下のEmacs Lispコードを*scratch*バッファに貼り付け’C-x C-e’で評価してください.

しばらくすると’~/.emacs.d/elpa/melpa-0.3/’以下にインストールされます.

(progn
  (switch-to-buffer
    (url-retrieve-synchronously
      "https://raw.github.com/milkypostman/melpa/master/melpa.el"))
  (package-install-from-buffer  (package-buffer-info) 'single))

.emacsの設定

(require 'package)

; package-archivesに追加
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))

; 初期化
(package-initialize)

; melpa.el
(require 'melpa)

package.elのシンボリックリンクを作成

デレクトリ’~/.emacs.d/elpa’にpackage.elがないとエラーが出力されるので

シンボリックリンクを張りました.

cd ~/.emacs.d/elpa
ln -s /usr/share/emacs/24.3.50/lisp/emacs-lisp/package.elc package.el

使用方法

‘M-x package-list-packages’でパッケージリストを取得します.

あとは一覧から選んでインストールできます.

 

日本語でgrep検索する設定

はじめに

Emacsからもgrepコマンドで検索を行うことが可能です.

ここでは,主に日本語で検索できるようマルチリンガル

に対応したlgrepで検索する設定を紹介します.

.emacsの設定

(if (file-exists-p "/usr/bin/lgrep")
    (setq grep-command "lgrep -n ")
  )

使用方法

M-x grep RETとコマンド入力すると,ミニバッファに

Run grep (like this):lgrep -n

と表示されるので

Run grep (like this):lgrep -n grep-pattern files

のように入力します.

コーディングシステムを指定したい場合は,次のようなオプションが

必要です.

-A<coding-system>
Set all coding systems to coding-system.

-I<coding-system>
Set input coding system to coding-system.

-K<coding-system>
Set keyboard coding system to coding-system. If it is not set,
output coding system will be applied to it.

-O<coding-system>
Set output coding system to coding-system.

-P<coding-system>
Set pathname coding system to coding-system.

-D<coding-system>
Set default (fall-back) coding system to coding-system.

coding-system:
a: auto-select
c: iso-2022-cn
j: iso-2022-jp
k: iso-2022-kr
ec: euc-china
ej: euc-japan
ek: euc-korea
et: euc-taiwan
u7: UTF-7
u8: UTF-8
l1..9: iso-8859-1..9
l0: iso-8859-10
lb,ld,le,lf,lg: iso-8859-11,13,14,15,16
s: shift-jis
b: big5
h: HZ
r: raw mode

詳しくは,

man lgrep

してください.

検索履歴が保存されているので,’M-p’で後方に,’M-n’で前方に

辿ることができます.

検索した結果は,*grep*バッファに表示されます.

*grep*バッファに移動し’C-x `’で順に検索結果の該当行を表示します.

特にタグジャンプしたい行がある場合は,その行にカーソルを移動し,

‘C-c C-c’でその行の該当個所を表示します.

 

emacsclientによるアプリケーションとの連携

はじめに

シェルコマンドからEmacsを起動したり,

GUIからEmacsにファイルを開かせる方法です.

.emacsの設定

(require 'server)
     (unless (server-running-p) (server-start))

この設定で最初に起動したEmacsをサーバにします.

もし起動時にサーバが起動されていない場合,

自動的にサーバを起動します.

KDEでのファイル関連付けの設定

まず,スタートボタン⇒システム設定⇒ファイルの関連付け設定を開きます.

既知のタイプのtextをクリックするとファイルタイプが出てくるので

plainをクリックします.

次に,アプリケーションの優先順位で’Emacs Snapshot (client)’を

最上位にもってきます.

‘適用’ボタンをクリックします.

 

自動圧縮モードの設定

はじめに

foo.tar.gzやfoo.zipなど圧縮ファイルをdiredバッファから選択した場合,

その中身を見れる機能です.

.emacsの設定

(auto-compression-mode t)

通常のファイルと同様に圧縮ファイルを開くと,

そのまま展開してdiredでディレクトリ表示したようになります.

その中のファイルを開き,編集して保存することもできます.

個人用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)
))