この記事は abicky.net の JSX の Emacs 環境を整備してみた 〜 jsx-mode.el 0.1.0 をリリースしました 〜 に移行しました
「横道にそれすぎ」に書いた事情で、EmacsでJavaScriptソースコードを読む環境を少し整えようかと。 次の2つのツールを導入してみよう、っと。 js2-mode: http://code.google.com/p/js2-mode/ エグズーベラント(EXUBERANT)Ctags: http://ctags.sourceforge.net/ 内容: より良いEmacs JavaScriptモード -- js2-mode 強烈なタグファイル作成ツール -- エグズーベラントCtags エグズーベラントCtagsを調べてみる EmacsでJavaScriptソースを読む ●より良いEmacs JavaScriptモード -- js2-mode 以前(2006年7月)、ひげぽんさんの記事で、「ecmascript-mode.el < javascript.el みたいだ」と書いてあった
更新履歴 2008-06-20: 公開 js2-mode をおとなしくさせる js2-mode は Emacs で JavaScript を書くための major-mode です。 外部の JavaScript 処理系無しに (flymake のように) 文法上のエラーを表示するなど、 かなり意欲的な機能を備えています。 しかしその一方で、js2-mode のデフォルトの挙動はかなり独特です。 ここでは、それらの挙動を他の major-mode とそろえる方法を説明します。 インストール js2-mode はファイル単体で配布されていますので、それを load-path の通った場所に置きます。 % wget http://js2-mode.googlecode.com/files/js2-20080616a.el % mv js2-20080616a.el /PATH/TO/js2.el
Scalaでタグジャンプ exuberant-ctags のインストール ubuntuの場合 $ sudo apt-get install exuberant-ctags .~/ctagsの設定 ctagsはデフォルトではscalaに対応していないようですが、 設定を加えることで簡単に対応させることができます。 ~/.ctags に次のように設定します。 参考: Scalaのための.ctagsとvim - ARGENTO CUORE これでctagsでscala用タグファイルが作れるようになります。 タグファイルの作成 ソースコードのあるディレクトリに移動し、次のコマンドを実行。 $ ctags -Re Rはrecursive, -eはEmacs(etags用)のファイルを作成する、というオプション。 これでScalaでもタグジャンプが可能になります。 ただしENSIMEを使っているとM-
この記事は カーネル/VM Advent Calendar : ATND のために書かれました。 カーネルネタとか思いつかなかったので、今日はGNU GLOBALの話をするよっ。 このGLOBALさん、emacsからのタグジャンプがetagsより賢いのがお気に入りで(特に同名関数がたくさんあるばあい、etags.elは問答無用で最初にマッチした関数にジャンプするので全然役に立たない)長いこと愛用してる。 で、最近困ってたのがrubyの開発しててrubyとC言語を行ったり来たりするので、ruby上でついいつものクセでC-. とか押して「イラッ」とかしてた。だってもうクセになってるんだもん で、ソース見たら案外拡張が簡単そうだったのでさくっと対応してみた。2時間いらなかったんじゃないかな。調査時間含めても。いや、まじめにやるとRubyの構文解析は死ねるんだけど、なにせ今がgrepでしのいでいる
EmacsでJavaScriptソースを快適に読むために:js2-modeとエグズーベラントCtags を参考に、自分の環境にもセットアップしてみた。 js2-modeに切り替えましょう: js2- modeホームページのFeatured Downloadsから、js2-20080616a.el(今日の時点の最新バージョン)をダウンロード。 js2-20080616a.elを、js2.elとして、Emacs(僕はMeadow3)のsite-lisp/の下にコ ピー。 site-lisp/をDiredで開いて、 M-x byte-compile-file RET js2.el RET でコンパイル。js2.elcが出来ているのを確認。 ~/.emacsを編集(すぐ下)。 ;; js2-mode (autoload 'js2-mode "js2" nil t) (add-to-list 'au
Emacsではウィンドウを分割した際,C-x o でウィンドウ間の移動ができます. しかし,よく使う機能にもかかわらず,2ストローク必要とします.*1 さらに画面を3つ以上に分割した場合は思ったところに1回で飛べるとは限りません.*2 これは非常に生産性が落ちてよくないですね. したがって,1ストロークで,かつ狙ったところにいけるのが望ましいキーバインドです. 僕は以下のように割り当てています.(Vimのカーソル移動風に) ;; 反対側のウィンドウにいけるように (setq windmove-wrap-around t) ;; C-M-{h,j,k,l}でウィンドウ間を移動 (define-key global-map (kbd "C-M-k") 'windmove-up) (define-key global-map (kbd "C-M-j") 'windmove-down) (defi
新年明けましておめでとうございます。今年こそRuby/Railsをやってみようという人もいるかと思います。ここではRubyのコードを読むのに便利なツールを2つほどご紹介したいと思います。 ドキュメント生成ツールのRD、RDoc、SDoc ソースコードに埋め込んだコメントを、そのままドキュメントとして抽出するツールがRubyにはいろいろあります。いちばん古くからあるのは、RD(Ruby Document Format)と呼ばれるもので、Markdownなどと同様に構造を記述できます。 現在、Rubyに標準添付されているのはRDocです。RubyのソースコードからHTML+CSS+JavaScriptを吐き出して、ブラウザで閲覧しやすくしてれます。もう1つ、RDocに似たものにSDocがあります。Sはsearchableのことで、ブラウザ上でクラスやメソッド名をインクリメンタル検索できるのが特
通常、emacsでバッファを切り替える場合、C-x C-bでlist-buffersを表示すると思います。しかし、標準のC-x C-bでは、ファイルの他にディレクトリや*scratch*、*Messages*等も一覧表示される為、目的のバッファが見分けづらいことがあります。 これに対して、M-x bs-showをlist-buffersを表示すると、デフォルトでファイルのみが表示されます。(cキーを押せば、ディレクトリ等も表示できます) また、私の場合、.emacsに次のように記載し、C-xC-bをM-x bs-showに変更しています。 (global-set-key "\C-x\C-b" 'bs-show) ;C-xC-bをM-x bs-showに変更
Emacs では、M-x shell とすることで、内部シェル (sub shell) を起動することができる。Emacs から移ることなく、コンパイルしたファイルを実行したり、インストール作業のログを取ったり、と使い方は様々。 さて、そんな Emacs のサブシェルだけども、二度目の M-x shell を実行しても、二つ目のサブシェルを作ることは出来ない。代わりに、最初に作った sub shell が開く (これはこれで便利だけどね :P)。 ではどうするか。答えは簡単で、数引数 (C-u) を取ってやればいい。つまり、二つ目以降の M-x shell からは、 C-u M-x shell としてやる。すると、Emacs は Shell buffer (default *shell*<2>): と聞いてくるので、*shell*<2> というバッファ名でよければ RET を打つ。 もう一
2011/12/29更新 時代遅れの手順になってしまいました。 Clojure+Emacsな開発環境を作る(late 2011) - λab's Blogを参照してください。 ネットブックにUbuntu 10.04 を入れたので emacs から Clojure を使う手順を最初の最初から書いてみる。2ヶ月ぐらい前にやったインストール方法だとだめでした。 環境 Ubuntu Netbook Edition 10.04 GNU Emacs 23.1.50.1 機種 HP mini 2140 emacs をインストールする emacs23とか22とかいろいろあるみたいですがよく分からないので最新っぽいのをインストール $ sudo apt-get install emacs-snapshot $ sudo apt-get install emacs-snapshot-el $ sudo apt
「今すぐフォローすべきスーパーエンジニア」まとめ 流れに乗り遅れた感がハンパないんですけど, Emacs界がなかったのでまとめてみました. 順番は頭に出てきた順番です. 作者とかメンテナとか開発者っていう 表現が間違っていたらごめんなさい. 最後の方は力尽きてます. 中には Twitter IDが見つからなかった人もいました. 他にも書いてほしいとか, 抜けてるぞ, ってのがあったら 教えてください. 追記します. @rubikitchさん Emacsテクニックバイブルの作者で anythingのメンテナ ブログ http://rubikitch.com/に移転しました @kiwanamiさん deferred.el, calfw, e2wm等の作者 Emacsで 3Dゲームを作ったりしてます. とても広い視点で Emacsを見ている方です. まさに Emacsは環境だなと思わせてくれます
Auto completion with popup menu. Downloads and full documentation are found at the following page: https://github.com/auto-complete/auto-complete FeaturesVisual interfaceReduce overhead of completion by using statistic methodExtensibilityLightweightWorks in both TTY and X interfacesScreenshot ExtensionsLisp:auto-complete-extension.el is some enhancement by AndyStewart. Clang source for Auto Comple
以下環境構成。 Ubuntu10.04 Emacs23.1.1 Scala2.8.1 yasnippet install 参考 Scala, Emacs and Yasnippet | The Scala Programming Language Google Code Archive - Long-term storage for Google Code Project Hosting. ググらないで済むように: scala用Yasnippet emacsのelpaでyasnippetをインストールするだけ。 elpaが環境整えてくれているようで、 個別にyasnippetをaptとかDLしてインストールする必要はなさそうです。 Emacs、そんな設定で大丈夫か? 大丈夫だ、問題ない! 下記のelisp設定をしなくても、上記だけで本家ビデオのsnippetがある程度動作してる>< って、
自動バイトコンパイルを行う auto-async-byte-compile.el をリリースしました。以前のバージョンではRubyが必要でしたが、auto-async-byte-compile.elはEmacs Lispで完結しています。 リンク先のbyte-compileスクリプトも持っておくとコマンドラインからload-pathを気にせずにバイトコンパイルできます。 その発想はなかった! 新しい自動バイトコンパイルでEmacsを高速化する - http://rubikitch.com/に移転しましたより。 Emacs Lispをバイトコンパイルすると動作が高速化するのは常識である。しかし、バイトコンパイルには致命的な欠点があって、Lispファイルの方がバイトコンパイルファイルよりも新しい場合は、古いバイトコンパイルファイルが読み込まれてしまうのだ!!そのため、Lispファイルを更新した
► 2023 (1) ► 06 (1) ► 2022 (3) ► 09 (1) ► 06 (1) ► 03 (1) ► 2021 (4) ► 10 (1) ► 09 (1) ► 06 (1) ► 04 (1) ► 2020 (5) ► 11 (1) ► 10 (1) ► 09 (1) ► 06 (2) ► 2019 (7) ► 09 (1) ► 06 (4) ► 05 (1) ► 03 (1) ► 2018 (14) ► 12 (1) ► 11 (1) ► 10 (5) ► 09 (3) ► 06 (1) ► 05 (1) ► 03 (2) ► 2017 (76) ► 09 (5) ► 07 (2) ► 06 (5) ► 05 (1) ► 04 (2) ► 03 (11) ► 02 (23) ► 01 (27) ► 2016 (39) ► 10 (11) ► 09 (12) ► 06 (4
ソフトウェアに付属するコードや,フレームワークで自動生成したコードには,スペースとタブが混在している場合が少なからずあります。それらのタブ幅(tab-width)が自分の設定と異なる場合,インデントが崩れて見えてしまいます。次の設定を dot.emacs に貼り付ければ,シフト+右矢印/シフト+左矢印でニョキニョキとタブ幅を調整できるようになります*1。もちろん,閲覧中のファイルを変更しているわけではありません。 (defun my-increase-tab-width () (interactive) (setq tab-width (+ tab-width 1))) (defun my-decrease-tab-width () (interactive) (when (< 1 tab-width) (setq tab-width (- tab-width 1 )))) (global
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く