Subscribed unsubscribe Subscribe Subscribe

sci

最果て風呂

Emacs でも使うのはマウスだけ

これは下記の記事の続きのようなものです。開発の速度が速いので、状況がすでに変わってしまっているかもしれません。
正字(旧字体)と親しむスクリプトと Emacs の紹介 - sci

ご注意!!状況が変ってしまいました。スクリプトの一部が本家にマージされたので、下記の手順を踏まなくてもメニューから変換作業ができるようになりました。

プロジェクトは頻繁に更新されていて、新しい機能や語彙の増加など、私個人としては見ているだけで楽しいし勉強になるのであった。しかし、ネット上を見渡してみれば「使ってみた〜」等の反応が皆無なのである(ここで私のアンテナが狭いという点は考慮しない)。

必要としている人がほとんど居ないという可能性もあるが、やはり Emacs に対する抵抗感があるのではないかと思う。便利なものが存在するのに試してみることもしないとは...これはとても残念なことだと思う。そのようなわけで、前回よりも手軽さを一段進めた紹介をしてみる。

今回は「コマンド入力をすること無しにマウスのみで置換しちゃう」というのが目標です。一番最後に添付したスクリプトをメモ帳などにコピペして保存する作業でキーボード入力が必要になってしまうけど、それは見逃してくれよ〜。


以前の記事を読まれた方は GitHub のプロジェクトページから seijiseikana-el の最新版をダウンロードしてください。雲ZIPアイコンをクリックすれば最新版をゲットできます。たぶんhttps://github.com/moriyamahiroshi/seijiseikana-el/zipball/masterにアクセスすれば得られる(と思います)。まだの方は以前の記事を読んで Emacs と seijiseikana-el を取得してください。

次にこの記事に添付したスクリプトをコピーして、メモ帳などにペーストします。保存先はダウンロードして展開した seijiseikana-el ディレクトリと同じ場所にします。名前はとりあえず seijiseikana-menu.el としておきましょう。


f:id:nakinor:20120629200426j:plain
次の操作は前回の記事とは異っていますので注意してください。まずは Emacs を起動します。続いて先程保存した seijiseikana-menu.el の方をドラッグ&ドロップします。


f:id:nakinor:20120629200452j:plain
あとはメニューバーから「Emacs-Lisp → Evaluate Buffer」を選択してスクリプトを有効にします。


f:id:nakinor:20120629200502j:plain
メニューバーに注目してください。「SSU」というメニューが追加されていると思います。これでメニューバーから変換をすることができるようになりました。


f:id:nakinor:20120629200524j:plain
最初はグレースケールでメニューを選択できないようになっていますが、変換したい文章をマウスで選択すれば黒くなって選択できるようになります。


いかがでしたでしょうか?面倒な初期設定ファイルの作成やコマンドの入力をすること無しに「正字と略字を相互に変換する環境」を手にすることが出来ました。邪道なんですけどね。


添付スクリプト

;;; seijiseikana-menu.el --- menubar for Seiji Seikana Utiliteis

;;; Commentary:

;; Usage:
;; 1. Put this file at the seijiseikana-el directory.
;; 2. Open this file.
;; 3. M-x eval-buffer

;;; Code:

(require 'easymenu)
(defvar ssu-menu-lang 'ja)

(defvar ssu-mode-menu-spec-en
  '("SSU"

 --------- 省略 ---------

(provide 'seijiseikana-menu)

(add-to-list 'load-path ".")
(require 'seijiseikana)
;;; seijiseikana-menu.el ends here

カレントディレクトリをロードパスに含めるという正統でない方法を使っていますが、M-x eval-buffer を 2 回やるのも面倒なので require で読み込めるようにするため、やってしも〜た。Pull Request をしてみるけど、はたしてどうなるか。