‘Emacs’ カテゴリーのアーカイブ

Emacsでタブ・全角スペース・行末の空白文字列を目立たせる

最近Emacsの記事を書く率が異常に高い気がします。今日は、タブ、全角スペース、行末の連続する空白文字列に色を付ける、という話題です。

それ何度も見たよ、という方も多いかと思いますが、今回はtext-modeでも色がついたよ!という部分が(おそらく)新ネタなので勘弁してください。

まずは設定方法を先に紹介しておきます。.emacsにdotemacs-show-white-spaces.txtの内容を貼付けてください。これで色がつくようになったはずです。

emacs-spaces.png

上図が設定後のtext-modeです。色のセンスが非常に悪いので、何とかした方がいいと思います。

(続きを読む…)

プレゼン用にEmacsの色合いを変える方法

またまたEmacsの話題です。プレゼンでソースコードを見せたいときなど、デモでEmacsを見せたり、プレゼン資料にEmacsのキャプチャ画像を貼付けたいことがあると思います。ところが、プロジェクタは大抵コントラストが弱いため、Emacs上の文字が読みにくいことがあります。

だったらEmacsの色合いを変えればいいわけですけど、どうやって?という人もいるのではないでしょうか。

(続きを読む…)

同じ.emacsを異なる環境で使い回すコツ

社内の雑談でdotfileを家と会社で共有するには、というような話題が出ました。Subversion管理しておくと何だかんだ言っても楽じゃない?みたいな話だったのですが、それ以前に共有できるような設定ファイルを書くのは少しコツがあるように思います。.bashrcなんかもそうでしょうけど、僕は.emacsも少しコツがあると思います。

というのは、requireの方法に関してです。よく下記のような設定例があると思うんですけど、これだと.elファイルが無い環境では.emacsの解釈途中でエラーで止まっちゃうんですよね。

(require 'twittering-mode)
(setq twittering-username "hnw"
      twittering-timer-interval 75)
(add-hook 'twittering-mode-hook
          (lambda () (twittering-icon-mode))))

.emacsを共有しようとする全サーバに同じ.elファイルを用意できればいいですけど、そうとは限らなかったりします。インストール直後のサーバに.emacsを持って行って、慣れた設定でファイル編集しようと思ったらエラー!なんてちょっと我慢できませんよね。

でも奥さん、そんなときでも安心。なんとこんな手があるんです。

(続きを読む…)

DashboardでEmacsのコマンドタイピング

Screen shot
こちらでは初めまして。スタートアップ研修記の方で記事を書いてたりする新入社員のuchiumiです。
Dashboard上で動く、メタキーの使えるEmacsのコマンドタイピングゲームを作ってみました。
画面上に出てくるEmacsのコマンドを、ひたすら打って覚えよう!というような感じのものです。
遊び方は、解凍後、ダブルクリックでインストールしていただき、「保持」というボタンがあるので、それを選択するとDashboardに表示されるようになります。

Emacsを学んでいくうちに、コマンドのタイピングゲームみたいなのががあったら良いなぁと思い検索してみたところ、素敵なものを発見しましたが、残念ながらcommandキー(メタキー)がうまく使えないようでした。
どうやらブラウザなどのコマンドの方が先に優先されてしまうみたいです。
どうしたらメタキーが使えるか先輩社員の方に相談してみたところ、Dashboard上で動かせば大丈夫なんじゃないかという素晴らしい提案をいただいただきましたので、さっそくwidgetsを作ってみることにしました。

(続きを読む…)

Emacs使いのためのzsh設定

こんにちは、hnwです。今日はEmacsユーザー向けのzshの設定について紹介します。

私はかれこれ8年くらいbashを使っていました。これまでzshユーザーから「zsh便利だよ?zsh使いなよ」と言われて試しに起動してみたことはあるのですが、コマンドライン編集の細かい動きが違うのが気になってすぐbashに戻していました。

zshがbashと何が違うかというと、M-f(カーソルを1単語進める)の挙動です。bashもzshもデフォルトではEmacsライクな動作ということになっていますが、zshはEmacsと微妙に動作が違っているのです。bash(やそれ以前に使っていたtcsh)ではそんな違和感を覚えたことは無いのですが、zshはその点が少しイライラしました。私以外でも、重度にEmacsに毒されている人なら気になって仕方がないんじゃないかと思います。具体的には下図のような挙動の違いがあります。

(続きを読む…)

dsvn.elでemacsでsubversion

こんにちわ。arashoです。

emacs使いの皆さんはsubversionを使用するときは何を使っているのでしょうか?
シェルからコマンドラインベースでったりpsvn.elだったりでしょうか。
(続きを読む…)

オレオレrpmパッケージの作り方(ビルド編)

こんにちわ。arashoです。今回は前回のエントリに引き続きrpmパッケージのビルドのコツや効率よくパッケージングを行う小ネタなどを書いてみたいと思います。

パッケージのビルドオプションについて

RPMのパッケージングには意外と時間がかかります。rpmbuildコマンドでソースコードの展開からパッチの適用、コンパイル、テンポラリディレクトリへのインストール、パッケージングをやっているので巨大なソフトウェアではコンパイルに時間を取られたりします。

(続きを読む…)

1つのEmacsで複数のウインドウを表示する

こんにちは、hnwです。今回はEmacsの基本的すぎるくらいの機能を紹介します。大半のEmacs使いには「バカにすんなよ?」って言われそうな気もしますが、そう思っていると案外反響があったりするので今回も懲りずにいきます。

EmacsがXやWindowsやMacOSなどのウインドウシステム上で動いているときに限りますけど、「C-x 5 2」という3ストロークを打つとEmacsのフレーム(通常のウインドウシステムで言うウインドウのことをEmacsではこう呼びます)が増えます。増やしたフレームは「C-x 5 0」で消せます。この増やしたフレームは同じEmacsに属しているので、開いているファイルやkill ring(コピー&ペースト用のバッファ)なども共有していて便利です。

こんな便利な機能に毎回3ストローク打つのは悲しいので、私は下記のように.emacsファイルに書いています。こうすれば「M-2」[M-0」でこの機能が使えます。

(global-set-key "\M-2" 'make-frame)
(global-set-key "\M-0" 'delete-frame)

別のウインドウが欲しくなるたびに別のEmacsを起動している人がいるかもしれないな、という思いつきで書いてみました。

iTermでCommandキーをMetaキーの意味にするパッチ

タイトルの通りですが、MacOS用のターミナルソフトであるiTermについて、Emacs使い向けのパッチを作りました。私の手元で3週間ほど動いていますので公開します。iTerm 0.9.5に対するパッチですが、CVS上の最新版に対しても適用可能だと思います。

以前の記事「シェルの操作にAltキーを使おう」でも紹介しましたが、私はシェルの操作をするのにEmacs風にMeta(Windows環境なら通常はAlt)キーが使えた方が入力効率が良くなると考えています。特にEmacs使いならエディタでもシェルでも同じキー操作ができますから、慣れるメリットは大きいはずです。

ところで、私は最近メイン環境をMacに移行しました。Macに移行してみての最大の不満は、ターミナルソフトでCommandキーをMetaキーの意味で使えない点です。私はTerminal.AppとiTermの2つしか試していないのですが、少なくともこの2つではCommandキーをMetaキーにすることはできないようです。OptionキーをMetaキーにすることはできるのですが、Optionキーはキー配置的に押しにくく、慣れるのは無理だと感じました。

Carbon EmacsではCommandキーをMetaキーにしていることもあり、何とかターミナルソフトでもCommandキーをMetaキーにしたいと考えていたところ、ドイツのDiedrichさんが同じ意図の(本人によればquickかつdirty hackな)iTermのパッチを作っているのを見つけました。これを更に私なりに改造したパッチを公開します。
iterm-cmdkey-as-meta-patch-20071030.txt」です。機能は下記の通りです。

(続きを読む…)

Carbon EmacsでCtrl+Spaceが使えない問題の解決

こんにちは、hnwです。会社用のノートPCとして買ってもらったMacBookが今日届きました。私はMac初心者なので、しばらくインストールに苦しむ予定です。

さて、Mac OS X上では大半のアプリケーションでCtrl+aなどのEmacsバインディングが利用できます。素晴らしいですね。その一方で、Emacsユーザーを無視しているようなデフォルト設定も複数存在します。例えば、Spotlightと「ことえり」がCtrl+Spaceを奪ってしまう問題もその一つです。Emacs使いでCtrl+Spaceが使えなかったらストレスで死にそうになると思うのですが、Spotlightと「ことえり」の開発陣にEmacs使いはいなかったのでしょうか。愚痴を言っていても始まらないので、今回はこれを解決します。

(続きを読む…)