読者です 読者をやめる 読者になる 読者になる

Emacs

projectileのコマンドを他のプロジェクトに対して簡単に実行する

最近のEmacs事情に詳しくないのですが、みなさんはprojectileお使いなのでしょうか? 僕の環境では目下のところ、第一線で活躍しています。 そんなprojectileですが、以前から不満に思っていたことがありますて。 例えば、 参照用にあのプロジェクトのあのフ…

Elispで属性リストは他のリスト構造と違って参照渡しなので注意するんだ

Emacsの拡張の設定ファイルとかで属性リストが使われているのを見てから、 最近、自作の拡張とかで属性リストを使い始めてます。 今まで、key-valueな構造を作りたい時、ハッシュを使う程でもなかったり、 シリアライズしたかったりする場合は、連想リストを…

ターミナル作業向けのe2wm.elのパースペクティブe2wm-term.elを作りました

これは何? 日頃、様々な場面でターミナルを起動して作業するということがよくあるのですが、 純粋なOSのターミナルだと、なかなか不便です。 ファイルを編集しながら、コマンド実行結果を切り貼りしたりする場合などは特に。 そういう時は、Emacsからシェル…

Emacsの設定ではパスワードとかは直書きせずauth-source使うと良いよ

先日、関東Emacs勉強会に行って来ました。 そこでちらっと、設定ファイルにパスワードとかのベタ書きは auth-source使えばしなくて済むよって@kawabataさんが言ってたので、 その辺のやり方をまとめておくことにしました。 機密情報をgpgファイルから取得 au…

tss.elでeldoc対応、補完強化、コード自動挿入など

現在の最新バージョンは0.6.0です。 tss.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-tss 変更点 eldoc対応 補完強化 継承定義挿入 eldoc対応 しました。 補完強化 以下について、自動で補完されるようになり…

pophint-config.elで機能をいろいろ追加・変更しましたv0.10

現在の最新バージョンはpophint.elが0.9.0、pophint-config.elが0.10.1です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 移動用コマンド追加 リージョンをkillするコマンド追加 set…

Google Apps Scriptを補完するためのTernのプラグインを作りました

これは何? Google Apps Scriptを使ってやりたいことがあったので開発環境について調べると、 Google Apps Scriptの入力補完ができるのは、Webブラウザ上のScriptEditorか、Eclipseだけのようでした。 しかし私は、コーディングするならEmacs! な人間であり…

Emacsでバッファ内容を目視確認して目的のバッファに素早く切り替える

私は、バッファ切り替えには、通常、anything.el/helm.elを使っています。 これらを使うことで、どれだけ多くのバッファが生成されていても、切り替えにはほとんど時間がかかりません。 ただし、これは目的のバッファ名が明確にイメージされている場合に限り…

EmacsでTernのサードパーティ製プラグインを使おうとしたら Cannot find module と怒られた

Ternが補完できるオブジェクト 最近、Ternを使い始めて、 EmacsでJavascriptのコーディングがすこぶる快適になりつつあります。 ただ、Ternがデフォルトで補完できる型は、 組み込みオブジェクト以外では一部のライブラリ(jQueryとか)のオブジェクトに限られ…

Emacsでsudoを介してファイル編集する時、EasyPGを使ってパスワード入力を省略する

Emacsでは、以下のように編集権限がないファイルをsudoを介して編集することが可能です。 tramp - Emacsでsudoしつつファイルを開く方法 - DQNEO起業日記 ubulog: Emacs でファイルをsudoで開き直す その際、当然ながらrootのパスワードを入力する必要があり…

Emacsでsudoを介して開いたファイルでflymakeの動作がおかしくなる

Emacsでは、以下のように編集権限がないファイルをsudoを介して編集することが可能です。 tramp - Emacsでsudoしつつファイルを開く方法 - DQNEO起業日記 ubulog: Emacs でファイルをsudoで開き直す が、あるファイルを開いたところ、開くまでにとても時間が…

GnusでGmailのメールを日本語で検索できるgnus-x-gm-raw.elを作りました

これは何? 最近、GnusでGmailを扱おうと試みています。 Gnusではgnus-group-make-nnir-group(デフォルトで"G G")でグループ内のメール検索ができますが、 GmailのIMAPフォルダを日本語で検索すると、以下のように表示され検索できませんでした。 Couldn't r…

GnusでIMAPの日本語フォルダにあるメールが検索できない

最近、GnusでGmailを扱おうと試みています。 Gnusではgnus-group-make-nnir-group(デフォルトで"G G")でグループ内のメール検索ができますが、 Gmailのフォルダを検索すると、以下のように表示され検索できませんでした。 Couldn't request group: Search pr…

pophint.elのソース切替をいろいろな方法でできるようにしました

現在の最新バージョンはpophint.elが0.8.4、pophint-config.elが0.9.4です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 リファクタリング 逆順で切替 切替確定の遅延 各sourceにキ…

Perlのパッケージ構造を表示するe2wm.elのプラグインe2wm-pkgex4pl.elを作りました

これは何? Perlのパッケージ構造をdirex.elで表示するplsense-direx.elという拡張を以前作りましたが、 それをe2wm.elのプラグインとして使う拡張を作りました。 スクリーンショット インストール/設定など 以下にまとめました。 https://github.com/aki2o/…

e2wm.elで一つのウィンドウで複数のプラグインを切り替えながら使えるe2wm-sww.elを作りました

これは何? e2wm.elを使うと、 EmacsがIDEっぽくなって良い感じですが、各ウィンドウには一つのプラグインしか表示できません。 調べたら、e2wm:plugin-switch-commandが見つかりましたが、使い勝手はよくありませんでした。 Eclipseとかだとタブで切り替え…

Emacsでwidgetのボタン作ったけどクリックのイベントが発生しなくてハマった

現象 表題まんまなんですが、customize-groupとかで出てくるようなボタンが作りたくて、 (widget-create 'push-button :tag " Hoge " :action `(lambda (widget &optional event) (message "Clicked!!!"))) のような感じでボタンは作れました。 ...が、クリ…

plsense-direx.elで表示できるパッケージ構造を増やしました

現在の最新バージョンはv0.2.0です。 plsense-direx.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/plsense-direx 変更点 複数プロジェクト対応 mainパッケージ表示 関連パッケージ表示 複数プロジェクト対応 今まで…

e2wm.elでfilesプラグインの代わりにdirex.elが使えるe2wm-direx.elを作りました

これは何? e2wm.elのコードパースペクティブでは、 デフォルトでFilesプラグインのバッファが左側に表示されますが、 この代わりにdirex.elのバッファを扱うプラグインを追加する拡張を作りました。 スクリーンショット インストール/設定など 以下にまとめ…

pophint.elでe2wm.elの各プラグインの任意のエントリを簡単に選択できるようになりました

現在の最新バージョンはpophint.elが0.7.0、pophint-config.elが0.9.0です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 各ウィンドウ毎に適切なsourceを使ってヒント表示 e2wm.el向…

任意のウィンドウを切り替えずに操作できるowdriver.elを作りました

これは何? 私は、Emacsでファイルを編集する時、別のバッファを横に開いて参照しながら、ということがよくあります。 そういった時、そのアクティブでない参照用のバッファに対して必要になる、 スクロールとかのちょっとした操作を、scroll-other-windowや…

direx.elのバッファをanything.el/helm.elっぽくインクリメンタルに絞り込むdirex-grep.elを作りました

これは何? 最近、自然とdirex.elを使うようになってきていてなかなか良い感じなのですが、 direx.elでファイル数やディレクトリ構造が複雑なディレクトリを開いた時、 作業対象のファイルに行ったり来たりするのがちょっとメンドい時があります。 Diredだと…

guide-key.elをpos-tip.elと連携させるguide-key-tip.elを作りました

これは何? Emacsの壁のひとつにキーバインドがあるかと思います。 凡人では覚えきれない、その無数のキーバインドを把握するために、guide-key.elという便利な拡張があります。 Emacs で自動的にキーバインドをポップアップする guide-key - 備忘録 guide-k…

org-modeでTravis CIのステータス画像のリンクを入力できるorg-link-travis.elを作りました

これは何? 最近、Travis CIでCIったり、org-modeでドキュメンたりし始めて、 GithubのREADMEは、org-modeで書いてMarkdownにエクスポートすることにしています。 で、Travis CIのビルドステータスへのリンクはMarkdown形式で以下のように記述しますが、 [![…

CaskをWindowsで動作させる

2014/03/18現在、CaskはWindowsでの動作は保証していないようです。 実際、私の環境では動作しませんでした。 しかし、WindowsでもCaskをどうしても使いたかったので、試行錯誤の末、解決策を見つけました。 先に結論 こちらの拙作の拡張を使うことで可能に…

Emacs上でCaskを操作できるcaskxy.elを作りました

これは何? 以前作った拡張が、Emacsのバージョンが違うと動作しない機能があることに最近遭遇したせいもあり、 そろそろテスト環境をちゃんと整備すべきだなぁと実感して、話題のCaskを使おうと思いました。 が。どうやら、CaskはWindowsでは現状動作しない…

NTEmacsのbatch/scriptモードでは、set-process-filterなどの非同期通信処理ができないみたい

WindowsでCaskが動作しないという問題を調査中に発見しました。 以下の内容をbatch-test.elとして保存し、 (defvar now-waiting nil) (defun test-proc-filter (proc res) (message "Catch Response!") (setq now-waiting nil)) (defun proc-tester () (mess…

EmacsでPerlのパッケージ構造をdirex.elで表示するplsense-direx.elを作りました

これは何? 慣れたら便利だろなと思っていたdirex.elに、なかなか使い慣れたDiredから移行できなかったんですが、 direx.elで指摘されている問題点を私も感じていたので、最近direx.elを努めて触っています。 で、使っているとdirex.elにも不満というか願望…

org-modeでリンクの入力をanything.el/helm.elでできるorg-linkany.elを作りました

これは何? 最近ようやくorg-modeを触り始めています。 org-modeではリンクの入力/編集でヘルパー的なインタフェースが提供されているのですが、 使い勝手が良いとはとても言えず...。 この手の機能なら、anything.elやhelm.elの拡張が既にあるんじゃないか…

pophint.elがpos-tip.elと連携できるようになりました

現在の最新バージョンはpophint.elが0.6.0、pophint-config.elが0.7.0です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint pos-tip.elでプロンプト表示 pos-tip.elについての説明は割愛します…

org-modeでM-TABの補完をauto-complete.elでできるorg-ac.elを作りました

これは何? 最近ようやくorg-modeを触り始めています。 org-modeではデフォルトでM-TABにより、ポイントしているコンテキストに 合わせた補完が利用できるのですが、補完のインタフェースが使いにくいです。 そこで、auto-complete.elのインタフェースでそれ…

org-modeで他形式へのエクスポート時の処理をカスタマイズする

2014/02/28 設定に不足ありまして追記しました。すいません。 最近ようやくorg-modeを触り始めています。 手始めにGithubのリポジトリのREADMEをorg形式で書いてみたのですが、 コードハイライトが効いていなくて、どうしようかとしばし瞑想したところ、 org…

package.elにpackage.el以外の方法でインストールした拡張を認識させる

Emacsの拡張の管理は、できるだけpackage.elで行うようにしています。 ある日Emacsを起動すると、以下の警告が表示されました。 Warning (emacs): Unable to activate package `popup'. Required package `cl-lib-0.3' is unavailable 原因はすぐわかりまし…

anything/helmのコマンド動作中のキーバインドを簡単に設定する方法

anything.el/helm.elをお使いの方の中には、 anything/helmのコマンド実行により表示される候補選択バッファでのキーバインドを ご自分の使いやすいように変更している方もいらっしゃると思います。 私もその一人なのですが、その方法について以前から悩まし…

Emacsで右クリックメニューのようなコンテキストメニューを表示するctxmenu.elを作りました

これは何? Emacsの壁のひとつにキーバインドがあるかと思います。 凡人では覚えきれない、その無数のキーバインドを把握するために、以下の便利な拡張があります。 Emacs 初心者必見! one-key.el はキーバインドが覚えられない人への特効薬だ - (rubikitch…

EmacsのMUA向けアドレス帳BBDBのレコード検索/選択を簡単に行えるbbdb-.elを作りました

これは何? 最近Gnusを使ってみてます。 一般的なメーラならアドレス帳の機能は当然ありますが、 Gnusには無い様で、BBDBという拡張を別途インストールして使うらしいです。 で、使ってみたんですが、ぶっちゃけ使いにくいです。 To/Cc/Bccの指定を一度にで…

Gnusではメールの自動受信がデフォルトでは無効になっている

最近Gnusを使ってみてます。 メールの送受信はできるようになったのですが、どうも受信メールの確認が自動で実行されていないようで、 メールサーバに新着メールが届いても、グループバッファが一向に更新されません。 先に結論 以下の設定を行うことで、新…

GnusでRSSを登録したら、グループが表示されず何もできなくなってしまった

最近Gnusを使ってみてます。 Gmailのメール送受信ができるようになったので、今度はRSSを登録してみました。 登録自体は上手くいき、グループ一覧にも表示されたし、記事も閲覧できました。 …が、Emacsを起動し直して、 M-x gnus とすると、以下のエラーが表…

GnusでSTARTTLSが必要なSMTPサーバからメール送信ができない

最近、GnusでGmailを扱おうと試みています。 メール一覧が取得できたので、そのメールに対して返信しようとしたら、以下のエラーが表示されてしまいました。 smtpmail-send-it: Sending failed: 530 5.7.0 Must issue a STARTTLS command first. iu7sm330660…

GnusでIMAPのメールを扱う時、メールを日本語フォルダに移動できない

最近、GnusでGmailを扱おうと試みています。 グループモードにGmailのラベルを表示させ、そのラベルのメール一覧をサマリーモードで表示することはできました。 ところが、メール一覧からメールを「ごみ箱」に移動しようとすると、以下のエラーが表示されて…

EmacsでGnusを使ってGmailにアクセスしようとしたら起動と同時にEmacsが強制終了する

メールにはOutlookやThunderbirdを使っていましたが、テキスト関連はEmacsでこなせるようになりたいと思い、Gnusを使ってみることにしました。 そこで、下記リンクを参考にGmailへのアクセスを試みましたが、 強制終了してしまう M-x gnus とすると、Gnusの…

EmacsをVisual Basic Editor並みのVBA開発環境にするvbasense.elを作りました

これは何? 経緯は別エントリに書いたので省きますが、VBAで開発する機会がありました。 visual-basic-modeを使ってEmacsで開発し始めたんですが、機能に不満で(特に入力補完)、 YAMYでEmacsっぽいキーバインドにすることでVisual Basic Editorを使うことに…

PlSenseで定義元ジャンプができるようになりました

PlSenseは、型推論を使ってPerlでオムニ補完をするためのツールです。 詳しくは過去エントリを参照して下さい。 変更点 PlSenseと、そのEmacs用インタフェースであるplsense.el、それぞれの変更点を以下にまとめます。 PlSense 現在の最新バージョンは0.10で…

pophint.el/pophint-config.elをv0.5にアップデートしました

現在の最新バージョンはともに0.5.0です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 ウィンドウ移動する時にヒント表示 全てのウィンドウをヒント表示対象に 検索方向切り替えの無…

tss.elをv0.3にアップデートしました

現在の最新バージョンは0.3.0です。 tss.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-tss 変更点 設定方法の変更 カスタマイズ変数などの追加 特筆するような機能の追加/変更はないんですが、設定ファイルの…

plsense.elをv0.2にアップデートしました

現在の最新バージョンは0.2.0です。 plsense.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-plsense 変更点 設定方法の変更 カスタマイズ変数などの追加 特筆するような機能の追加/変更はないんですが、設定フ…

anything.el用のソースでcandidates-in-bufferを使うとき気をつけること

anything.el用のソースではcandidates-in-bufferというオプションを指定できます。 表示する候補をバッファから抽出してくれるというもののようですが、 このオプションを指定すると、絞り込みの機能がデフォルトになってしまいます。 どういうことかという…

anything/helmのmigemo対応してないコマンドでmigemoりたい時にすべき設定方法

以前から、anythingもmigemoも使っていますが、今日、あ、いや昨日、anything-migemo.elを知りました。 遅っ!!!って感じですな。 自分でも、つくづく流行についていけてない人間だなぁと思います。 したいこと と、愚痴りはさておき、 anything-migemo.el…

pophint.el/pophint-config.elをv0.4にアップデートしました

現在の最新バージョンは以下です。 pophint.el ... 0.3.7 pophint-config.el ... 0.4.0 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 バグ修正 アクション追加 さらにVimperator/Keysn…

one-key.elがInvalid lambda variableって言われてコンパイルエラーる件

現象 one-key.elを最新にしてみたら、コンパイルで以下のエラーが出ました。 Invalid lambda variable (menunum one-key-buffer-menu-number) 該当行の (defun one-key-delete-associated-menus (&optional (menunum one-key-buffer-menu-number)) を (defun…