You are here: Home → 原稿・資料 → Software Design 2008年2月号 「Emacsマスターへの道」 原稿
You are here: Home → 原稿・資料 → Software Design 2008年2月号 「Emacsマスターへの道」 原稿
全国のprintデバッグ愛好家の皆様、こんにちは。VSとかEclipseとかのIDE以外でデバッガを使ったことのない僕がやってきましたよ。 最近、C言語でヒーコラ言ってる真っ最中な訳ですが、C言語だとprintデバッグがやりにくい訳で、デバッガ様の力を借りてみたくなった訳です。という訳で、巷で有名な gdb をちょっと試してみました。 基本的な使い方は、以下を参考にしてます。gdb を用いたデバッグ方法GDBウノウラボ Unoh Labs: gdbの使い方 で、なんだか Emacsからも使えるみたいなんで、試してみたんですが、これが使いやすくてびっくり。"M-x gdb" で起動すると、Emacs のソース上に、現在の行が黒三角で、ブレークポイントが赤丸で表示されます。後は、コマンドラインでの操作と同じように、s とか n でステップ実行できます。 あー、もしかして、Perl とか Rub
emacserの間で密かなブームとなっているyasnippet.elをインストールしてみました。 実はsnippet的なものを使うのは初めてだったので、ちょっと細かく覚える意味も含めてインストール方法から書いてみます。 インストール方法は簡単で、2つ方法があります。横着は人は上記ページの「yasnippet-bundle-0.3.1.el.tgz」をダウンロードしてきて、解凍してできたyasnippet-bundle.elを適当なディレクトリ(例えば$HOME/.emacs.d/plugins/とか)に置いて、以下のように設定します。 (add-to-list 'load-path "~/.emacs.d/plugins") (require 'yasnippet-bundle) このyasnippet-bundleってやつは、各種言語用(など)のsnippetの設定もlispの中に同梱し
"Yet Another Snippet Package | M-x all-things-emacs"で知った、yasnippetがすご過ぎる!!!!1112345!これは、同じ作者が以前に作っていたsmart-snippet.elのリライト版?みたいなものらしいのだが、ともあれGoogle Codeにてプロジェクトが開始されたのが3/7というから、アツい。 まぁ、とりあえずこれを見てくださいよ(YouTubeの画質だとアレだという場合は、上記プロジェクトページからaviの動画が落とせるので、そちらを見るのが良いです)。 最初のあたりは、まぁ、emacs-railsでも使われているsnippet.elとかでも十分可能なことなのだけど、複数のテンプレート候補が選択リスト表示されたり、メニューバーからテンプレートを挿入できたりするのがいい感じだし、後半、どんどんヤバくなってくる。一箇所に入力
はまるとなかなか 前半は Emacs の設定。 後半はプログラミング言語としての Emacs Lisp の話と、Emacs Lisp のライブラリ関数の話 もくじ 分からないことの調べかた カスタマイズグループ(customize-group) ヘルプコマンド aproposで項目説明に移る(apropos-follow) チュートリアル info Info modeでの(default)キー操作 man FAQ(Frequently Asked Question) サンプル.emacsコードを得る XEmacsがconfigureされたときのオプションを知る キーバインドを調べる(where-is / describe-bindings) Emacs Lispの関数名,変数名からそれを定義するソースファイルをひらく Minibufferのログ キーバインドについて キーバインドを変更
追記: id:rubikitchさんに、auto-revert-modeってのを教えていただきました!素晴しい!!!1 /path/to/pmlistをauto-revert-modeした状態にしておけばcronの更新が反映されるはず。 そこで(global-)?auto-revert-modeですよ - (rubikitch loves (Emacs Ruby CUI Books)) というわけで、そっちを使うように書き直した。 「EmacsでPerlのモジュール名を補完する - subpop - subtech」で書いたネタだったりするのだけど、ともあれ、Perlモジュール名を補完(dabbrev)したいよー的な要求について。上記リンク先で書いたのは、cperl-mode初回起動時にコマンドを流していて、すごく重くていらいらしてたので、あらかじめモジュールの一覧だけのファイルを作るよう
Emacsのコマンドが覚えきれない。 他のアプリケーションなら無理してでも使っていればそのうち覚える。 作業効率が多少犠牲になるが...。 だが、Emacsの場合コピペさえも独自のコマンドなため使い続けることができない。 効率が犠牲になるなんてものじゃない。 作業できない。 作業とEmacsの練習、どちらも立たない。 じゃあ、タイピングゲームはないのか? ない。 文字入力のタイピングゲームはあるが、コンビーネーションキーのものが見つからない。 盲点だった。 探すのをあきらめ、自分で作成することにした。 #存在しないものは創造するのがプログラマである。 とりあえず、動くことが目的だったので飾り気のない作りになっている。 javascriptで作成している。 はじめは主要ブラウザに全て対応する予定だったが、ブラウザから取得できるkeycodeが違いすぎる。 今バージョンでは諦め、Firefox
エディタで行末に存在するスペースを強調表示する設定。 今流行の.emacs & .vimrc - グニャラくんのグニャグニャ備忘録@はてな Emacsだと、 Elips is just a typo of Elispのdevelock.el.gz がよさげです。 こんな感じ: こんだけ目立てばインデントおかしなコードを書くのを防げます。が、副作用として他人のコードをかたっぱしから直しなくなるので注意が必要です。 ついでにそのほか色関連のを晒します。 (defun recenter-and-fontify-buffer () "comment..." (interactive) (recenter) (font-lock-fontify-buffer)) (define-key esc-map "\C-l" 'recenter-and-fontify-buffer) ;; カーソル位置のfa
僕の周りで強引に流行らせている、 エディタで行末に存在するスペースを強調表示する設定。 この設定をすると、人が書いたコードの行末のスペースが大変気になってしまい、 その人に設定を押し付けて…といった伝染力を持ちます。取り扱い注意。 この設定の流行り始めた段階では、 Subversionの差分で「どこが変わったの?」と思うような差分が多く出現します。 .emacs (when (boundp 'show-trailing-whitespace) (setq-default show-trailing-whitespace t)) .vimrc highlight WhitespaceEOL ctermbg=red guibg=red match WhitespaceEOL /\s\+$/ 追記その1 Vimでtabを使っていると、2つめ以降のタブで強調表示されないようだ。 2007-09-0
ウノウでは少数派なEmacsユーザのbokkoです。 今回は自分でEmacsLisp(以下、elisp)を書いてEmacsを拡張する際のTipsについて紹介します。 拡張する際に気に留めておくこと Emacsを拡張する上で覚えておくべきなのはEmacs上で行える対話的な動作は「M-x 関数名」で実現できるということです。例えば、C-bはカーソルを1文字分左へ戻しますが、これは「M-x backward-char」とタイプすることと同じです。もしC-bが押しにくい(多分私だけです)のであれば、以下のようなelispを評価してキーバインドを変更することができます。 (global-set-key "\C-l" 'backward-char) Emacsではこのようなキーバインドに限らず、あらゆる操作をelispを使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し
pukiwiki-mode.el を試してみました。 これは Emacs でpukiwikiを編集・閲覧できる優れものです。 最近長文を書くことがあるので Emacs で編集できたら便利かなと思い。 設定してみたのですが、僕の環境(Emacs + Mona Wiki)ではうまく動かなかったので、深追いしまくって何とかゴリ押ししてます。 Basic認証の突破もこれで合っているのか自信無し(うまく動いているけど)。 (setq pukiwiki-auto-insert t) (autoload 'pukiwiki-edit "pukiwiki-mode" nil t) (autoload 'pukiwiki-index "pukiwiki-mode" nil t) (autoload 'pukiwiki-edit-url "pukiwiki-mode" nil t) (setq pukiwik
最近emacsにおけるヘルプに関する機能をそこそこ使いこなせるようになってきました。(n‘∀‘)η゚ C-h fとかC-h iとかC-h bとかC-h vとかC-h cとか使いまくりですw ちなみに自分がヘルプで良く使う機能は以下のような感じです。 C-h f 関数の意味を知る 使用頻度 ☆☆☆☆☆ ; 超使う。便利すぎ C-h v 変数の意味を知る 使用頻度 ☆☆☆ ; まぁそこそこ使う。関数ほどではないけど C-h b apropos command 正規表現コマンド調査 使用頻度 ☆☆☆ ; 使いこなすとすごく便利らしいが、使いこなせていないので頑張って使ってるところ。これを使いこなせるようになると一人前といったところかな C-h d apropos document 正規表現doc調査 使用頻度 ☆☆☆ ; 同上.やはり便利らしいが使
Emacs で JavaScript のシンタックスエラーを検出する これ読んですぐ導入したflymake。上記サイトのを少し改造したらperlでもできたのでいまはjsとperlでリアルタイムでシンタックスエラーチェックができている。 僕はすごくtypoがおおいと思うのだけどこれを導入してからtypoではまることがずいぶん減った。もうないとこまるelispのひとつになってる。 ちなみにperl版はこんな感じにしている。 (require 'flymake) ;; flymake for perl (defvar flymake-perl-err-line-patterns '(("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1))) (defconst flymake-allowed-perl-file-name-m
まえおき この文章では、Emacs上のアプリケーションからSSHを経由してネットワークにアクセスする方法を述べています。無保証です。猛犬注意。濡れていて滑ります。 ほとんどの部分は 上野さんが公開していたEmacs with SSH からのパクりです。 準備 open-network-stream の代替 open-network-streamの代替関数を用意するために、まずは以下の関数を考える。 (defun open-ssh-stream-internal (&rest plist) (let ((name (or (plist-get plist :name) name)) (buffer (or (plist-get plist :buffer) buffer)) (host (or (plist-get plist :host) host)) (service (or (plis
Emacsをまだインストールしていない人は、インストールしてから、この先を読んでください。 可能な限り、Javaとの対比をしながら説明します。 目次 Emacs Lispとは 開発環境 Emacs Lispの雰囲気(Javaとの比較) 関数型言語 Emacs Lisp;言語の基礎 なんでもオブジェクト シンボル コンスセル(リスト) 関数 その他(連想リスト、ベクタ、ハッシュテーブル) Emacs特有の型(バッファ、マーカ、etc.) 実践 ループ使ったら負け? 変数に代入したら負け? Emacs Lispとは マーケティング要素無しの、「write once, run anywhere」な言語です。 Javaの場合、次の欠点があります。 マシンにインストールされている保証が無い 他人のマシンに勝手にインストールするのは迷惑 Emacs Lispの場合、上の問題がありません。
Menu はじめ ● tips ● TipsDirectory ● Memo ● ニュース ● 雑談 ● 運用とか ● 質問箱 ● QuickTour ● 履歴 NetInstaller ● インストール方法 ● パッケージ一覧 文書作成 ● 初めてのxyzzy ● リファレンス ● QandA ● 用語集 プログラミング ● xyzzyでプログラミング 他 ● trash ● Games ● アンケート Emacs風キーバインドに近づける † ファイル名は emacskey.l または rms.l ?? とりあえず必要最小限なものから。足りないものは追加してください。 ; key bind (global-set-key #\C-/ 'undo) (global-set-key #\M-v 'previous-page) (global-s
back はじめに このマニュアルは emacs (あるいは mule) を使いはじめてまだ間もない頃の 人のためのものです。emacs を一度も使ったことのない人は残念ながら 対象としていません (そういう人には emacs 付属のチュートリアルをすすめます)。 これを読んでも emacs が快適に使えるようになるかどうかはあなた次第です。 emacs はマウスやカーソルキーで操作することもできますが、 これらを使っているようでは上達しないということも 覚えておいてください。このマニュアルはよその人にも読めるように書いた つもりですが、基本的に csc (東工大 情報工学科 計算機室) で emacs を 使用する人を対象としています。そのため、日本語入力環境やメール環境については 必ずしもあなたのサイトとは一致しないかもしれませんので注意してください。 基本的なこと ファイル操作 カー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く