ラベル emacs の投稿を表示しています。 すべての投稿を表示
ラベル emacs の投稿を表示しています。 すべての投稿を表示

2012年4月14日

elpaを使ってみた

大竹智也さんの「Emacs実践入門」を書店で見かけたので、買ってみた。
ていねいな説明で、とても参考になった。
特に開発環境の構築に関しては、いい感じ。

さて、本でパッケージマネージャであるELPAが紹介されていたので、さっそく導入。
color-themeはバージョンが古くて使えないみたいだったけれど、magitは最新版が入っているみたい。
ダウンロード、インストール、バイトコンパイルまでしてくれる便利なツール。
ほんとうは、auto-installが標準になればよかったのになあとは思うけど、僕は基本的にエンドユーザなので、あまり文句は言えないかも。

2012年3月11日

org-modeで表に行番号を表示する

結局、Wimaxは@niftyのタブレット付きにした。
届いた文書を見ると、ルータが@nifty専用と書いてあるのがちょっと気になる。
1年の縛りが終わった後も、ルータは@niftyでしか使えないのだろうか。
ちょっと困る気がするが、一年後には新しいルータが出ている気もするので、まあいいかな。

さて本題。
めっちゃ簡単な話だけれど、org-modeで表の一番左の列に行番号を表示したいと思っていた。
マクロを使うんだろうなと思っていたのだけれど、方法が分からなくて悩んでいたけれど、分かってみればとても簡単。

org-infoの「Field coordinates in formulas」の項を見れば載っていた。
現在の行番号を取得するのは、「@#」でオッケー。
通常、一行目がタイトル行なので、C-=で計算式の挿入モードに入って、「@# -1 」とすれば、目的どおり、行番号を連番で入れられる。

2011年3月17日

HomebrewでEmacs23.3+フルスクリーン


以前、同じようなネタを紹介したが、今回Emacsを23.3にあげて、フルスクリーン環境を整備した。
あのときは、Emacsのバージョンが23.2だっただけではなく、なぜかフルスクリーンにならなかった。

今回はHomebrewを使ってEmacsをインストールし、無事darkroom-modeを動かすことに成功した。インラインパッチもちゃんと動いている。

パッチのところを、ここあたりを参考に、

def patches
{:p1 => [ "http://cloud.github.com/downloads/typester/emacs/feature-fullscreen.patch"],
:p0 => [ "http://jaist.dl.sourceforge.jp/macemacsjp/47986/inline_patch-23.2-beta3.tar.gz"]} if ARGV.include? "--cocoa"
end

として、

brew install emacs --cocoa

とするだけだ。

ちょっとはまったのは、fullscreenパッチのダウンロードURLが変わっていたのか、僕がいじっているうちに変えてしまったのか、先ほどのcola-zeroさんのサイトどおりの
http://github.com/downloads/typester/emacs/featureーfullscreen.patchはだめで、http://cloud.github.com/downloads/typester/emacs/feature-fullscreen.patchでないと動かない。

あとは、darkroom-mode.elだが、こちらは以下のように、Windows用のw32なんとかと書かれているコードを削除して、(ns-toggle-fullscreen)とすればよい。


; (w32-fullscreen-off)
(ns-toggle-fullscreen)

init.elには、こんな感じがいいかもしれない。

;; Darkroom-mode
(require 'darkroom-mode)
(global-set-key [f10] 'darkroom-mode)


typester氏のフルスクリーンは、OSXのツールバーも覆ってくれるので、これを使ってdarkroom-modeに切り替えると、ほんとうにEmacsの一フレームだけになる。
液晶パネル全体のスクリーンショットは右上のような感じ。
ウィンドウの横でちらちらとFireboxのページがのぞいていたり、Mailの未読数が増えていたりすると、仕事に集中できない。
そんなときは、F10をぽんと押してこのモードに切り替えてしまえば、ほんとうに執筆に集中できる。

そうそう、執筆に集中といえば、次の二つもinit.elに追加しておくとずいぶん使い勝手があがる。

(mac-add-key-passed-to-system 'shift)
(add-hook 'minibuffer-setup-hook 'mac-change-language-to-us)

前者は、記号を入力するときに、デフォルトだと半角の記号が直接入力されてしまう問題を回避してくれる。
後者は、日本語入力をしていても、ミニバッファに入ると英語モードに切り替えてくれる。
どちらも、ちょっとした「いらっ」を解決してくれる設定だ。

2011年2月10日

anything.elで新規保存・新規作

いつも忘れていらいらするので、メモしておきます。
emacsのインターフェイスを革命的に変えたと言われるanything.el。
このおかげで、いつも使うファイルをほぼ瞬時に呼び出すことができるので、使えば使うほど手になじむコンピュータができます。

Windowsのエクスプローラとか、Macのファインダなんかはマウスで操作できるけど、使っても使っても便利にはなっていかないという問題があります。
GUIでももっと便利にできると思うんですけど、まあ、僕はほとんどemacsしか使わないから別にいいか。

さて、anythingでイライラするのは新しいファイルをつくるとき。
新しいファイル名なので補完が効かないのは当然です。なのに補完しようとするから、変なところにファイルができてしまったりして、すごくいらいらします。
ただ、よく読んでみると、ちゃんと方法があるみたいで、このとおりやれば、むしろ「めっちゃ便利やん!」って感じになります。

新規ファイルの作成

新しいファイルを作成したいときは、まず、ファイルを作成するディレクトリを決めますよね?
そこで、そのディレクトリに含まれているファイルをC-x C-f から、いくつかファイル名をタイプして見つけます。
そしてそのファイルを選択して、再び、C-x C-fです。
すると、ファイル名を入力するミニバッファがでますので、ファイル名を入力すれば、そのディレクトリに新規ファイルが作成されます。
作者のrubikichiさんの説明にちゃんとありました)

←これがうまく動かないなあ。
今のところ、該当するディレクトリのファイルを開いてから、もう一度C-x C-fして、そこで新しいファイル名を入力する方法をとっています。
めんどくさいし、何かがおかしい気がする。

新規保存

もっといらいらするのが、新規保存です。
適当なファイルをコピーして新しいファイル名で保存したいときってありますよね。
ほとんど同じようなファイルをつくるときとか、なにかのファイルをテンプレートにして新しいファイルをつくるときとかです。
僕は(1)そのファイルを開いて、(2)新規保存(ファイル名をつけて保存)=C-x C-wしていたのですが、これがうまく行かない。
なんだか変なディレクトリに保存されてしまったりするんですよね。

どうもこれ、順番を変えるとストレスがないようです。
(1)ファイルをコピーする(2)ファイルを開いて編集する
の順ですね。
ファイルをコピーするのは、C-x C-dを使い、適当なディレクトリを選択し、diredを開きます。
そして、コピーするファイルの上で、Cコマンドです。
そうするとコピー先を聞かれますので、ファイル名をいれれば、同じディレクトリ内でのコピーができます。
同じように、コピー先をパス付きにしたら、そのディレクトリにコピーされます。

まあ、発想の転換なんですが、よく考えたら、この方が、元になるファイルに間違えて上書き保存することもないので、安全ですよね。

2010年10月19日

emacsをHomebrewで使う

新しいMacbookAirには、MacPortsではなく、ちょっと話題のHomebrewをインストールすることにした。
Homebrewというのは、OSXにインストールされているプログラムは極力そちらを利用するというポリシーを持っている。
この点、MacPortsは事実上、UNIX系のツールを全部置き換えてしまうような感じなので、なんとなく、OSXのよさがもったいないと感じる部分もけっこうあった。

そこで、Homebrewを使うわけだが、emacsの利用は簡単。
brew install emacs --cocoa
とすれば大丈夫。
なのだが、inline-patchが入ってないけど、いいのかな?
と思い、とりあえず、
brew edit emacs
として、パッケージの設定を編集する。
(簡単でしょ?)
そして、--cocoaオプションを利用して、パッチをインストールする行を探して、その下に、
{ :p0 => "http://sourceforge.jp/frs/redir.php?m=iij&f=%2Fmacemacsjp%2F47986%2Finline_patch-23.2-beta3.tar.gz"} if ARGV.include? "--inline"
こんなのを追加して、
brew install emacs --cocoa --inline
とすると、自動でパッチを取得して当ててくれて、コンパイルが完了した。

出来上がったファイルは、
/usr/local/Cellar/emacs/23.2/
におかれているので、このうち、Emacs.appをアプリケーションにコピー(というか、移動した)して、完成。

inline-patch、こんな当て方でちゃんとあたっているか、なんだか不安だけど、どうすればちゃんとあたっているかどうか、チェックできるんだろう。


2010年5月30日

MacBookAir復活&環境再構築

ハードディスクを交換したMacBookAir、なんとか環境も再構築できた。
あとは開発環境だ。
iPhotoのディスクがないということをのぞけば、以前とほぼ同じ環境になった。
ただ、内蔵スピーカーを認識しないという問題がどうも発生している。考えてみれば、これはクラッシュ前からときどきおこっていた問題だ。本格的に故障しているのかもしれない。

今回の環境再構築でもっともてこずったのがemacsだ。
かなりこまごまと設定していた設定ファイルが、2月時点のバックアップしかバックアップがなかった。
おかげで改めてorg-modeの設定をやり直すことになってしまった。

再インストールの副作用というか、余禄として、ハードディスクの空き容量が大幅に増加したことがある。
ディスク自体は80Gのままなのだが、これまで実験でインストールしたものなどがなくなったせいで、中身がずいぶんすっきりしたのだと思う。

さあ、これから開発環境の再インストールが待っている。
これもやっぱりemacsを中心とした環境になるが、いっそのことだから、ちょっとまじめに勉強して、ある程度使いこなせるレベルになろう。

2010年4月19日

ESS(R用環境)でQuartz文字化け解消

Milestoneが来るのを待つ間というわけでもないのだが、今日はRを走らせる環境を整備していた。
gitでRスクリプトを管理するようにして、EmacsからgitとRを使えるようにするというのが目的だった。
EmacsはCarbon Emacsパッケージ(2009年夏版)を利用している。
gitはmagitでオッケー。(とはいえ、Emacs22だと、最新版のmagitはエラーが出てだめ。ここの情報から、0.7を使用)

Rの方は、デフォルトでessをインストールしてくれているので、.emacs.elに
(require 'ess-site)
を追加するだけかと思えば、これが問題あり。
なんとQuartzで日本語を使うと文字化けしてしまう。
RのGUIツールでは問題なく日本語も使えるのに・・・

というわけで、かなり悩んだのだけど、このサイトのとおり設定すると文字化け解消。
Carbon Emacsではこれ、設定していないのかな?

ようやく、こんなソースが文字化けなしで実行できるようになった。
x <- seq(-5,5)
y <- exp(x)
plot(x, y, main="指数関数e")
作業が一通り進んだら、M-x magit-statusして、C-cすると、ログが書ける。

経済学で実証系の分析をしていると、いろいろな分析結果をどう管理するのかってけっこう面倒。
学会なんかで発表しているうちに、どの結果を発表に使ったバージョンか分からなくなったりして、すごく時間を食ってしまったりする。
修正を繰り返すうちに、最初の分析モデルがなくなってて、また分析し直しってことも何度かある。

これからは、gitで管理すれば大丈夫。

2010年2月6日

emacsでシンプルな物書き環境

誘惑を断ち切って文章を書くのに集中したい!という人は多いようで、専用のアプリケーションが開発され、けっこう話題になった。
それが、Writeroom
(フリーのWindows版クローンがDark Room
最近ではそれに音楽と集中できる(と思える)背景をセットにしたアプリケーションも開発されている。
MOONGIFTさんで紹介されているのが、Windows用のCreaWriterとOSX用のOmmWriterレビュー)だ。

でも、文章を書くときには、普段使っているエディタがいいというのも人情。
キーバインドは違うし、いろいろ便利なモードはあるし。。。
ぽっと出のエディタと使い込んだエディタは快適さが違うのですよ。
(文章書くのに集中するんなら、あんま関係ないかもしれないけどね)

つまりは、emacsでWriteroomは実現できないのか、と思い続けてきた。
emacs+Writeroomで検索すると、いろんなサイトがヒットするが、ほとんどはフルスクリーンにしてメニューバーなどをなくすというものだ。


違う。。。


フルスクリーンにしただけだと、画面が左に寄ってしまって、右側は使えない。
今の横長全盛のディスプレイだと、ずっと画面の左を見て作業しなければらなくなる。
僕がやりたいのは、ディスプレイにまっすぐ向かって作業することだ。

つまりは、入力中のテキスト全体が中央に集められて、左右に均等幅のスペース(マージン)があるというのが理想だ。
そもそも、入力中の画面(フレーム)の左右に適当なマージンを設定するという方法がよく分からなかった。

でも、ようやく回答をみつけた。
なんのことはない、emacs用にdarkroom-modeが公開されていた。
これはWindows用だが、Windows依存部分はフルスクリーンにする部分だけだそうなので、あまり深く考えずにダウンロードして使ってみた。

darkroom-modeの10行目を
;(require 'w32-fullscreen)
として、コメントアウトすることを忘れずに。
そして、M-x darkroom-mode で起動。
ついでに、Carbon Emacsのフルスクリーンモードに移行。

できた!



あとは、設定をまとめて、何かのキーに設定すればいいかも。

追記:
darkroom-modeは自分で画面をフルスクリーンに移行する機能を持っていました。
なので、こんな感じで設定すれば、Ctrl-c dでdarkroom-modeに移行できます。
(require 'darkroom-mode)
(global-set-key "\C-cd" 'darkroom-mode)

その際、フルスクリーン関係でwindows依存部分が残っていたので、これをCarbon Emacsで利用できるように変更します。
130行目
;; (w32-fullscreen-on)
(set-frame-parameter nil 'fullscreen 'fullboth)

175行目
;; (w32-fullscreen-off)
(set-frame-parameter nil 'fullscreen nil)

2010年2月1日

org-modeからのLaTeX利用環境を整備


マニュアルをちゃんと読めば載っていることなんだけど、ついついその場しのぎをやってしまいます。
今日は一念発起して、org-modeでLaTeXをちゃんと使えるようにしようと思い、いろいろといじってみました。
まずは C-c C-x C-lでLaTeXの数式を画像に変換して、文書の編集中に見れるようにしてくれる機能(LaTeXのインラインプレビューとでも言いましょうか。Previewing LaTeX fragmentsと書かれています)を使います。

なぜかデバッガーの画面が出ますが、何度かescを押すと、ぶじインラインで表示されます。
(いいのかな、これで?)
適当な数式を作ってみますと、$Q=\frac{Y^{\alpha} Cl}{L}$が、次のような感じになります。

うん、いい感じ。

次になぜか変換したときに著者が文字化けするので、ファイルの先頭で指定することにしました。
#+AUTHOR: 岡村 土竜
#+TITLE: スローな子育ち
org-modeをインストールしたときには、この機能、ちゃんと有効だったのですが、いつの間にかエラーが出るようになっていました。
プレビューは、LaTeXで変換したdviファイルをpngに変換するものですので、この機能を提供しているdvi2bitmapというプログラムをmacportsからインストールすると、ぶじ動きました。
(この間、libpngのアーキテクチャが古いといわれ、zlibとlibpngに+universalをつけて、再インストールしました)

この他、デフォルトのタイプセット用に、jsarticleを指定して、普段使いのパッケージが使えるようにしておきました。
これはこんな感じ。
(add-to-list 'org-export-latex-classes
'("jsarticle"
\\usepackage{tabularx}
\\usepackage{longtable}
\\usepackage{graphicx}
))
(setq org-export-latex-default-class "jsarticle")
もう少しいじって、PDF画像の貼り付けを楽にしておきたいなと思いますが、それは午後に出もやることにします。
仕事も進めないといけませんしね。

2009年10月4日

key-chord.elで快適操作

Netwalker、悩んでいるうちに出遅れ気味ですね。
こうなったら、赤がでるのを待とうという気になっています。

Emacsを持ち歩けるというのはやっぱり安心感というか、それで環境を構築すればいいので、ものごとがすごくシンプルにできそうです。
Netwalkerはそういう意味では、最高のマシンですね。

最近はorg-modeを使って、授業の記録なんかもつけているので、ますます便利に。
あの学生との打ち合わせ記録は・・・なんていうのも、簡単です。
学生名を保管できるようにしておけば、なおさらいいな。
(これは近々やってみよう)

org-modeで日記というか、毎日の記録をつけるには、rememberという機能を使います。
これでテンプレートを設定しておけば、「日時(は自動)、場所、面会者、内容」などの項目名がすでに記入されたファイルが開きます。

これをさらに便利にする機能を最近知りました。
それが、key-chord.el。
複数のキーの同時押しで、emacsの適当な機能を起動できるというものです。
今までは、Ctrlキーとの同時押しで、Ctrl+x、Ctrl+cで終了、などとやっていたのですが、これが例えば、xとcを同時に押すだけで、Emacsを終了します。
(これはちょっと間違えて押すと、困るけどね)

(key-chord-define-global "re" 'remember)
とでもやっておくと、rememberの頭、reを押すと、記録用のファイルが開きます。
なかなか便利です。

情報源はこのあたりです。
org-mode初挑戦。
Ctrl+中指か薬指を使うキー操作が多いEmacsで指の負担を軽くする方法

2009年8月19日

Org-modeを使う

どうしてもEmacsが手放せなくて、ときどき、集中して便利な使い方を覚える。
そうするうちに、Emacsでやる作業が一つ増え、二つ増えして、さらに依存度が高まってしまう。
便利なスマートフォンを手に入れて、モバイルライフをエンジョイしたいよ!って思いつつも、Emacsの動かない端末なんていらん!と結局は思う。

今日はOrg-modeという、アウトライン編集とスケジュール管理に使えるツールの使い方を覚えようと、四苦八苦した。
(といっても、普通の使い方をする分には簡単)

まずは、mobilememoさんが訳してくれたマニュアルを読んでだいたいのことを理解する。
次に、最低限のメモ環境として、remember-modeをインストール。
便利に使うために、rubikichiさんのサイトから設定をもらってくる。

これで、アウトライン編集(章や節単位で表示したりしなかったり、移動したりもできる)が可能になった。

少し実験してみたのだが、LaTeXの記法はそのまま使えるみたい。
なので、移行方法としては、今まで使っていた文書ファイルをそのまま拡張子だけorgに変えて、少しずつ置き換えていくのがよいかも知れない。
まあ、section辺りの置換は一発でできるけどね。

2009年2月4日

Carbon Emacsのデフォルトフォントを変える

銭谷版Carbon Emacsをいつも使わせていただいています。
標準で同梱されているcarbon-font.elで、フォントの設定は簡単らしいのですが、デフォルトのフォントをどう変えるのか、詳しく調べることもないまま、今日まで来てしまいました。

今までは起動する度に、毎回メニューから設定していたのですが、まあ、それでもいざ検索してはまるよりは、時間が短く思えるものです。
(そんなにEmacs再起動することもないしね)
でもこのままではスキルが向上しない!と、一念発起してフォント設定を変えました。
といってもちょっとググるだけで答えがありました。
こちらを参考にすれば簡単。
以前、ちょっと試してみて、はまった「set-default-font」は気をつけたい設定にありました。
この関数は、想像と違う動きをしますよね。

今回は、
(if (eq window-system 'mac) (require 'carbon-font))
(fixed-width-set-fontset "osaka" 14)
という設定にしておきました。
正直、文章書くには、デフォルトの12ポイントだと肩が凝ります。

2009年2月1日

Emacs+Subversion+RedmineでPHP

ふと思い立って、自分の開発環境をもう少し整備することを決心した。
普段からemacsを使って原稿書いたり、開発したりしているのだが、なかなかスキルが上がらない。
なんだかんだ言ってちゃんと使い方を覚えないからだというのは分かっている。
(それでも、何となく使って、便利だ!と思えるほど、emacsは便利だと思う)

今回、一念発起して、Geeklog用に作っている地域通貨プラグインをRedmineで管理することにした。
作った環境は以下のような感じだ。
  1. 更新したファイルを一括してアップロードするシェルスクリプト
  2. Redmineをインストールして地域通貨プラグインの管理
  3. Subversionにリポジトリを作成し、Redmineに登録
  4. emacsでとりあえず、commitとaddする練習
Geeklogって、プラグインのアップロード先が、本体、公開用、管理用と3カ所に分かれているから、更新してアップするのもけっこう面倒だ。
今回、コマンド一発でアップできるようにしたところ、すこぶる快適になった。

次は、テスト環境を構築する予定だ。