今だからこそ使いたい、若手エンジニア向けEmacs実践入門 エディタソフトウェアとして有名なEmacs。若手エンジニア向けに、今だからこそ「Emacs実践入門」をお送りする。 はじめまして、大竹智也と申します。過去に『Emacs実践入門』(技術評論社)を上梓し、雑誌での執筆経験もありますが、Webでの執筆は初めてとなります。そのためお見苦しい点があるかもしれませんが、何卒ご容赦ください。 突然ですが、みなさんはGNU Emacs(以下、Emacs)というソフトウェアを知っていますか? 本日はまだEmacsをよく知らない方に向けて、このソフトウェアの魅力を紹介していきます。 Emacs概要 Emacsの簡単な歴史 Emacsの特徴 Emacsの基本的な5つの機能 1. 検索と置換 2. シンタックスハイライトと自動インデント 3. ウィンドウ分割 4. 矩形(くけい)編集 5. バージョン管
その昔、自宅PCにLinuxをインストールして頑張っていた頃はEmacsを使っていたり、その延長で職場でもMeadowやxyzzyなどを活用していたものですが、Eclipseを使い始めてからめっきりEmacsから離れてしまっていました。 ところがここ最近、MacBookを使い始めたり、仕事柄サーバのメンテナンス等でターミナルを使う機会が圧倒的に増えたり、周囲の影響もあったりして久しぶりにEmacsに復帰してみることにしました。Emacsをちゃんと使うのは10年ぶりくらいですが、同僚のEmacserに教えてもらいながら環境を整備してみました。 パッケージをインストールするための準備 最近のEmacsはmeplaというリポジトリからパッケージをインストールできるようです。~/.emacs.d/init.elに以下を書いておきます。 (require 'package) (add-to-list
GNU Emacsが、プロジェクトで使用するソースコード管理ツールをBazzarからGitに移行させた(Phoronix)。 以前、「オープンソース」という言葉を広めた人物としても知られるEric S. Raymond氏がEmacs開発者向けメーリングリストに「Bazaarは死につつある」としてBazzarからの移行を提案していた(スラッシュドットの過去記事)ことも移行のきっかけになったようだ。 Emacsのソースコードを公開するGitリポジトリ自体は以前から存在したが、Emacsは非常に長い歴史のあるソフトウェアということで、その過去の履歴までを含めてGitに移行させるのは大変な作業だったようだ。 なお、リポジトリの情報やGitを使ったEmacsの開発手順についてはEmacs Wikiにまとめられている。
江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11本を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul
今日からお盆に入り、夏ももうあとわずかになってきましたが、Emacs 界隈の夏はこれからのようです。 8月末から9月にかけて、Emacs 関連のイベントが超盛り沢山となっているのです。というわけで、僕自身が把握しているものを列挙しておきます。 8月24日(金) Emacs勉強会 8月25日(土) emacs-lisp ハッカソン 8月25日(土)〜26日(日) Emacs / Lisp 温泉 9月6日(木) Shibuya.el なんというEmacs三昧。 ちなみに、僕が参加するのは24日のEmacs勉強会と6日のShibuya.elとなっています。どんな人に会えるのか、とても楽しみです。 まだ申し込み可能なイベントもあるので、興味のある方はお早めに!!
rgrep という emacs から指定したディレクトリ以下に対して grep する機能がある。M-x rgrep で実行可能。だけど一度 rgrep して *grep* バッファを削除していない場合、次に rgrep しようとしたときに "rgrep: Buffer is read-only: #<buffer *grep*>" といわれ実行できない。以前その対策をしたことがある。 *grep* バッファがあれば、M-x rgrep したときにそれを削除する処理をはさむというもの。 *grep* バッファがあっても rgrep する - わからん grep-a-lot.el はこれとは違い、*grep* バッファをどんどん増やしていくというアプローチ。 rubikitch さんの本で紹介されていた。 http://www.emacswiki.org/emacs/grep-a-lot.el
基礎文法最速マスターブームにのっかってみる。Ruby基礎文法最速マスターをだいたいEmacs Lisp(elisp)に置き換えてみる。 Emacs LispはEmacsで使われているLisp方言のひとつだ。他の言語をある程度知っている人はこれを読めばEmacs Lispの基礎をマスターしてEmacs Lispを書くことができるようになるかもしれない。無保証ではあるが。 ある程度はCommon Lispにも応用できると思うよ。 更新情報 [2010/02/03] 注釈の誤りを修正。 let*について加筆。 基礎 対話的にEmacs Lisp式を評価する Emacsを起動したときに生成されている、スクラッチバッファ(*scratch*)を使うと、Emacs Lispの式を簡単に評価することができる。M-Tabで補完できるぞ。 式を書いたらC-jを押すと、式の値が出てくるぞ。 (+ 1 3) 4
1. package.el をインストールする technomancy/package.el 以下のURLから.elをロードパスの通った場所に置くか Emacs24 : http://bit.ly/pkg-el Emacs23 : http://bit.ly/pkg-el23 auto-install がある場合は以下のS式を評価してインストールして下さい。 ; Emacs24 (auto-install-from-url "http://repo.or.cz/w/emacs.git/blob_plain/HEAD:/lisp/emacs-lisp/package.el") ; Emacs23 (auto-install-from-url "http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033
RSense を用いて,Emacsでのrubyのコーディング時の自動補完とリファレンスの表示を行います. 完成図はこんな感じ. 環境 OSX Snow Leopard (10.6.8) Emacs 23.4.1 ruby 1.8.7 事前準備 Java Runtime Environment (JRE) 1.5あるいはそれ以降のバージョンが必要.OSXの場合は,最初からインストールされているはず.auto-complite-modeと連携するようにするので,事前にインストールが必要. ダウンロード 本家からダウンロード.今回は,2012.5.7時点で最新版のrsense-0.3.tar.bz2をダウンロード. 適当な場所で展開する.自分は,.emacs.d/opt/内に展開した. インストール rsense-0.3内へ移動する.まず実行権限を付与する.
手間取ったというより、.rbenvにパスが通っておらず(通っていたのかもしれないが・・・。)rcodetoolsやanything-rcodetoolsが使えなくなってしまっていたのを改善出来たのでメモ。 事の発端はいままでRubyのバージョン管理ソフトにRVMを使用していたのを、rbenvに切り換えた為に、一部の機能が今までのように使えなくなってしまった事。 使えなくなった機能はrcodetools、anything-rcodetoolsあたりです。 結局は環境変数のPATHの通し方が悪かっただけでした。でもこの作業に随分と時間をとられてしまいました。 Emacs Lispに関しても、まったく分かっていない為、とりあえずはコピペベースでやっています。 一応、作業前の状態も記録として 残しておくことに。 rbenvで正しくPATHが通っていない状態 今回の作業をする前のエラーがでている状態
僕はこれまで下記のようなインデントで ruby のコードを書いてきました。 SuperLongClassName.super_long_name_method(hoge: 'fuga', foo: 'bar', baka: 'aho') 理由は、Emacs の ruby-mode による標準インデントが上記のような形になっているからです。今ひとつだなーと思いながら幾年月。すばらしい設定を発見しました。 (setq ruby-deep-indent-paren-style nil) とすると下記のようにインデントできます。 SuperLongClassName.super_long_name_method( hoge: 'fuga', foo: 'bar', baka: 'aho' ) おお!すばらしい…かと思ったら閉じ括弧が微妙ですね。ぐぐったらこんな設定を見つけました。 (defadvi
新iPadのケースを物色中なのですが、これだ、というものに出会えていません。アクセサリ類はいちど装着してしまえば中古品、ためつすがめつが難しいですから慎重になりますよ、特にケースは。だって、これケース、なんて言った日にゃあ…… さて、今回は「拡張子」について。最近では、拡張子が必要なかった時代のMac OSを知らない人も多いようで、いちど体系的な解説をしたいと考えていたところ。拡張子の存在を逆手にとり、Emacsの「Dired」で活用する方法もあわせて紹介してみよう。 拡張子は不滅です 現在のOS Xでは、ファイルに拡張子を付けることが一般的。なくてもファイルとして通用するが、Windowsなど他のOSとファイルをやり取りするときには欠かせず(拡張子なしのファイルを適切に扱える人は少ない)、いまや大半のアプリケーションが拡張子を前提としてファイルを扱う。 旧Mac OSを知る向きはご存知だ
「はじめに」の(没案)では、本書を書き上げた気持ちについて真っ直ぐに語りましたが、内容についてほとんど語っていないという紹介としてはあまり役に立たないものでしたので、今度は内容に触れて紹介してみたいと思います。 Web全盛期初のEmacs入門書。 Emacsの入門書は、これまでもいくつかあったかと思いますが、その多くは2000年の前半に出版されたものです。そのため、Web開発でEmacsを利用するというよりも、C言語などによる開発に特化した内容が多かったように思います。 もちろん、どちらも同じ開発なのでコードを書くということについて大きな違いはないのですが、それでもEmacsを使ってWeb開発をする際のノウハウが欠けているのは、あまり時代にマッチしているとは言い難いのではないかと思います。 僕自身も、非常に残念かつ、お恥かしいことに、C言語による開発をバリバリ経験したわけではないのですが、
dsvn.el とは psvn.el よりかなり速いらしい dsvn.el を使ってみました。 psvn.el はご存知の人も多いかと思いますが、指定された Subversion リポジトリをツリー表示して、 dired のように操作するためのパッケージです。 vc-svn に比べて高速にツリー表示ができるのですが、それでも大規模なリポジトリを表示しようとすると Emacs が固まったりします。 dsvn.el はその問題を解決が解決されており、 psvn.el では 10 秒ぐらいかかる処理も一瞬でこなします。 インストール http://svn.collab.net/repos/svn/trunk/contrib/client-side/emacs/dsvn.el 上の URL から dsvn.el をインストールして以下の設定を ~/.emacs に書きます。 ~/.emacs: (
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く