Shammer's Philosophy

My private adversaria

Emacs

OCaml環境構築

まずは、OCamlをインストール。 $ sudo port install ocamlしかし、ここでエラー。ログを確認すると、HTTP 407 Error となっている。407 って何だ?Emacs から使いたいので、プラグインを探す。いろいろ調べたが、これが一番良さそう。 TuaregMode http://www…

Emacs行番号表示

対象は、先日インストールしたEmacs 23.2.94 on Mac OS Lion。ソースからビルドして、特に新しいパッケージとか入れなくても実現できたのでメモ。まず、~/.emacs.d/init.el(あるいは.emacs)に以下のように書いておく。 (global-set-key "M-n" 'linum-mode)…

LionにCocoa Emacsをインストール

OSもLionになったし、そろそろCarbonを卒業しようと、Cocoa版のEmacsを使用することにしました。以前も一度挑戦したけれども、インプットメソッドの都合で結局Carbonを使用し続けることに。具体的には、Ctrl+\でOS標準のインプットメソッドの入力切り替えを…

~/.emacs.d/init.el書き換え 2011/03/26

書き換え内容をメモ。 追加属性(参考:http://sakito.jp/emacs/emacs23.html) (prefer-coding-system 'utf-8) を追加 Cocoa Emacs の場合は、可能な限り、文字コードをutf-8にすることが推奨されるらしい。 (define-key global-map [ns-drag-file] 'ns-find-f…

init.el

Emacsの設定を .emacs に書くのは時代遅れらしい、とある人から聞いた。調べてみたところ、.emacs に書くのは一番古いらしく、一番最近では~/.emacs.d/init.elに書くようだ。 >mv ~/.emacs ~/.emacs.d/init.elをやったあとにEmacsを起動すると・・・何も変わ…

Emacs Lisp でファイルがあるか確認する

とりあえず、Emacs で何かやる際にファイルの有無によって処理を変えたいということはよくありそうなので、その方法を調べてみた。どうやら、file-exists-p という関数が用意されていて、それを使用すればできるようだ。 (file-exists-p "foo/bar.txt") nil …

Emacs + CLISP + SLIME

Clozure CL を使っていたが、ちょっといろいろとあって別のLisp処理系に移行することに。やっぱり、GNUで統一したいのでCLISPをチョイス。 Emacs 上で動作させるため、SLIME(The Superior Lisp Interaction Mode for Emacs)も合わせてインストールすることに…

Emacsでことえりを・・・その1

おそらく、その2その3と長く続くことを予想してこのタイトルにした。 タイトルはどうでもいいのだが、EmacsでことえりをIMEとして使用するためにどうすればよいのかを調べた。少なくとも、Cocoa Emacsではできなくても、CarbonEmacsではできていた。http:/…

Cocoa Emacs でことえりが・・・

やっぱり楽をしようとするとダメだ。dmg があった、と喜んでインストールしたが、Ctrl + \ でことえり入力方式の切り替えができなくなった。が、どうやらこれは想定通りらしい。 Emacs23 (Cocoa Emacs) 入門から中毒まで : 紹介マニア Cocoa の場合は、OSレ…

Cocoa Emacs 23.1

これまでCarbon版を使っていたが、Cocoa 版を入手した。 Index - Atomized Cocoa 版だと、行数の表示とかが容易にできるようになっているらしい。 MYCOMの記事など読みながらいろいろやってみる予定。 http://journal.mycom.co.jp/column/osx/332/index.html…

open-junk-file.el

即座に *scratch* バッファと同じようなバッファを作成でき、しかもそのバッファを蓄積しておくことを可能にする elisp があることを知った。情報源はこの本。 Emacsテクニックバイブル〜作業効率をカイゼンする200の技(技術評論社) http://gihyo.jp/book/…

The key-chord.el, My Own Keybind Helper

Emacs 使っていると、キーバインドがどうしても足りなくなる。大体のキーバインドは、 Ctrl + *** (Ctrl - x) + *** (Ctrl - c) + (Ctrl - ***) (Ctrl - c) + *** (独自割り当て用に定義) という形で使用する形になっている。でも、いちいち Ctrl を押しなが…

CygwinのEmacs

仕事の都合で、Cygwinを入れてみた。当然、エディタはemacs。 試しに使ってみたが、Ctrl/X+Ctrl/Cで終了できない。 なんだ、使えないじゃないか・・・と思って調べてみたら、かなり有名な話のようで 対処法を書いたページが容易に見つかった。 http://fuu-ga…

文字列対話置換

文字列を置換するコマンドとして、replace-stringとreplace-regexpを試してみたが、これを使用すると否応なく一括変換されてしまう。一括で変換せず、置換するかどうかを都度確認しながら置換したいという場合は、別のコマンドを使用する。 M+x query-replac…

Emacs自動改行設定

プログラムのソースコードを書いていると、自動改行してほしい・・・と思うことがたくさんある。Emacsでもデフォルトでそのパターンが定義されていたりするが、もっと細かく自分仕様にカスタマイズする方法がわかったのでメモしておく。まず、設定に関する変…

Emacsで正規表現を使って文字列置換

文字列置換は、 replace-string replace-regexp というコマンドのようだが、デフォルトではキーバインドは割り当てられていないようだ。だから、Option-x(M-x)のあとでコマンドを入力する感じだ。たとえば、 afbkd000dkle1kd11dkl12dkele22lke33lkej334keke4…

Emacsで正規表現を使って文字列検索

文字列検索や置換に正規表現は必要不可欠。とりあえず、正規表現の要素を調べてみました。なお、表中のXXXは任意の文字列を意味します。 意味 表記方法 改行以外の文字一文字 .(ドット) 0回以上の繰り返し 1回以上の繰り返し + 0回、あるいは1回を意味する ?…

let関数

Lispでは、ローカル変数の定義にlet関数を使用する。 以下のように、ある関数の実行前に変数 x が定義されていたとする。 (setf x 10)しかし、 ある関数の中でも x という変数を使用したい もと(定義済み)の変数 x はそのまま保持したい という場合などは…

シェルモード

最初に Make を使おう!って考えたのは・・・Emacs のミニウィンドウから使えるためだ。 やっぱり、あれこれアプリを起動して、つまりEmacs以外にターミナルとか起動して作業するのは ちょっと面倒。。。そういうのを全部やってくれるのがIDEなのだがIDEは重…

Emacsのデフォルト文字コードを指定する

JavaのソースファイルをEclipseで開いて・・・ということは多いかも(あまりIDEは使いたくないが)。 それを考えると、最初からEmacsの文字コードもEclipseに合わせてUTF-8にしてしまいたい。 日本語版のEclipseだとEUC-JPとかShift_JISとか選べるのかもしれ…

Emacs上で既存ファイルの文字コードを変換する

適当なJavaファイルをEmacsで作成し、それをEclipseで開くと日本語が文字化けする。 いろいろ確認したところ、Emacsのデフォルト文字コードがEUCっぽいのに対し、 EclipseはUTF-8になっているためのようだ。 これまでも、コメントは日本語で書くことが多く、…

自動インデント

Emacs をインストールして実際にソースコードを書いてみたが・・・ どうも自動インデントはデフォルト無効のようだ。 前のバージョンでは有効だった気がしたけれど変わったのかな。 とりあえず、自動インデントに慣れてしまっている自分としては不便なので …

Emacs 上でのコンパイル

ターミナルを使えば、コンパイルは cc sample.c とやると、同じディレクトリに sample.out という名前の実行ファイルが作られる。 o オプションを使用すれば sample.out 以外の名前を使用可能。 でもせっかく Emacs を使うのだから Emacs 上からコンパイルを…

Mark を使うには

Emacsのインストールや改行の設定はうまくいったが、別の問題発生。 どうもCtrl+Spaceでマークがセットされないようだ。 (OSのSpotlightショートカットを変更してもNG) 普通に半角スペースが挿入される。うまく認識されていないのか?マニュアルを確認して…

Emacsで改行+自動インデント

JavaやCでプログラムを書くと、;や{や}を頻繁に入力する。 そして、これらの後では大抵改行が入り、そしてブロックに応じてインデントもする。 この改行と自動インデントを両方同時に有効にしたい。 自分のHOMEディレクトリに、.emacsというファイルを作り、…

Mac上にC言語の開発環境を用意

会社ではWindowsを使わされているけれど、自宅ではMacユーザーだ。 MacOS X で開発環境を用意する場合、gcc Library などは購入時にバンドルされているDVDから インストールできるのでそれをインストールする。 それから、自宅と会社で両方同じ環境で使える…