maeshimaの日記

メモ書きです

emacs

inf-ruby

使ってはすぐ存在を忘れてターミナルを使ってしまう…。C-c C-sでバッファが開く。 参考 inf-rubyメモ - odz buffer

ctagsのオプション

Rで再帰、eでemacs用の出力にしてくれる ctags -Re app

sudo-ext.elがうまく動かない件

3ヶ月前にsudo-ext.elがうまくいかない><というエントリを書いたら、id:rubikitch さん、id:handlename さんからアドバイスをいただきました。ありがとうございます!!!Macでsudo-ext.elを使う場合 - handlename::blog sudo-ext.elがうまく動作しない場…

elispの関数

やさしいEmacs-Lisp講座の第三章に出てくる関数をざっとまとめたメモ。 移動境界の検査 bobp ポイントがバッファ先頭にあればt,なければnilを返す eobp ポイントがバッファ末尾にあればt,なければnilを返す bolp ポイントが行頭にあればt,なければnilを返す …

yasnippetのコマンドとファイルの内容

yas/new-snippet 新しいsnippetの登録。今居るbufferからsnippetを保存するのに適切なディレクトリを選択してくれて、snippet-modeで新しいファイルを開く。 yas/find-snippets 定義用のディレクトリを開く yas/visit-snippet-file 今居るバッファから定義を…

ediff

デフォルトで使えるemacsでのdiff。今日初めて使ってみたけどなかなか便利に使えた。 M-x ediff-buffers M-x ediff-files とかで対象を二つ選ぶ。nやpで次の差分に移動。ただデフォルトだとediff実行するたびに新しいframeが作られて面倒。下記のようにする…

今いるバッファのsnippetを見る

!!! M-x yas/visit-snippet-file (今いるバッファのスニペットから選ぶ)もしくは M-x yas/find-snippets (スニペットのディレクトリから探す) http://d.hatena.ne.jp/kiwanami/20110224/1298526678 もっとyasnippet使いこなしたい! yasnippet - maeshim…

マーク

C-SPCで付ける印。GNU Emacsマニュアル: マークとリージョン mark-active マークがactiveなら(置いてあったらってことかな?) nil 以外を返す

call-interactively

interactiveな関数を呼ぶ関数 (call-interactively 'rgrep)

関数の定義を調べたいときには

M-x apropos としてから関数名を入れる。忘れがちなのでメモ

ナローイング

一つのバッファの移動可能な領域を制限する機能。 narrow-to-region 編集可能領域を位置1から位置2の間の領域に制限する。 (narrow-to-region 位置1 位置2) widen narrow-to-regionで設定したナローイングを解除する。 save-restriction 現在設定されている…

M-:

作成した関数を呼び出して、その戻り値を知りたいときに使う。 (hoge) のようにS式で実行する

if

想像してたのと少し挙動が違ったのでメモ。式がnil以外で合った場合にform1、nilでない場合にはform2〜formnを全て評価する。ifの値は最後に評価したformの値になる。 (if 式 form1 form2 form3 ... formn)

match-beginning, match-end

re-search-forward等の検索関数を使った後に、マッチしたポイントに移動するときに使う。 (match-beginning グループ番号) (match-end グループ番号) グループ番号には、\(\)でくくった何個目かという数値を指定する。 マッチするモノがない場合は nil 0 を…

re-search-forward

バッファ内の文字列を正規表現を使って検索する関数 (re-search-forward 正規表現 &optional 限界 エラー回避 回数) 限界は、指定しない場合はバッファの終わりまで エラー回避にtを与えると、正規表現にマッチしなかったときにエラーを出さずにnilを返すよ…

make-keymap

下記のようなシンボルとベクタのリストを返す関数だそうな。 (keymap [nil nil ... nil]) ベクタは一次元の配列のこと。

S式の実行方法その2

S式の実行方法 - maeshimaの日記に追加。ファイルのS式を実行する方法。 M-x load-file バッファを開いて M-x eval-current-buffer

compilationバッファ

M-x compileしたときなどに開かれるバッファらしい。

rvm.el

M-x rvm-use で、emacsで使うrubyのバージョンとgemsetを切り替えられる。デフォルトのgemsetは"global"で、空白にするとうまく切り替わらない。

xmpfilterをemacsで使う

gem install rcodetools でrcodetoolsいれる。gemに入ってるrcodetools.elをemacsのload-path上に配置。 (require 'rcodetools) とすると M-x xmp が使えるようになり、下記のようにRubyのコード上で実行すると # => としたところに実行結果が挿入されるよう…

sudo-ext.el

Emacsの中でsudoする方法 〜これでrootによる操作も楽々〜 - (rubikitch loves (Emacs Ruby CUI Books)) をみて導入してみる→なぜか動かない→数ヶ月放置→sudo-ext.elが依存しているっぽいsudoeditコマンドが、macに入っていないことに気づく sudo port insta…

emacs-clientで起動したバッファを終了するには

C-x #

Emacs用のIMEのon/offの切り替え

C-\でEmacs用のIMEのon/offを切り替えられる。何かの拍子でC-\して挙動がおかしくなって???となったのでメモwin版Emacs23でも一応IMEインライン入力できる:プログラミングのメモ日記

auto-complete.el入れた

入れてとりあえず使えるように設定した。だけ。 ;; (install-elisp http://www.cx4a.org/pub/auto-complete.el) (require 'auto-complete) (global-auto-complete-mode t) これだけでも同じバッファのメソッドの補完はしてくれるようで、ある程度使えるんじ…

yasnippetを修正

yasnippetで補完候補を選択するときに、なぜか C-n や C-p が効かなかった。同梱されているdropdown-listを有効にしたらうまくいった。 (require 'dropdown-list) (setq yas/prompt-functions '(yas/dropdown-prompt yas/ido-prompt yas/completing-prompt))…

undohist.elとundo-tree.elいれた

undohist.elは閉じたバッファもUndoできるelisp undo-tree.elはUndoの分岐を視覚化するelisp。C-x uで樹形図を表示。

emacs23でのjs2-modeの設定

emacs23.2を入れた js2-modeを入れた インデントが変 espresso-modeを設定しようとしたら、どうやら23.2からはemacsにとりこまれ、かつjs-modeに名前が変わったらしい これまでの接頭字 espresso- を js- に変更したらインデントが改善した

emacs23.2とIME

emacs23.2にしてから、command+spaceでIMEを切り替えるときにemacsが固まって落ちることが多くなった。原因は何だろう? 追記 とりあえずこれをやってみた Cocoa Emacs が落ちる さらに追記 かわらなかった。でも多分inline-patchまわりなんじゃないかなーつ…

egg.elでgit blame

egg.elにも少しずつなれてきた。C-c v a でgit blameしたような感じで、今開いているファイルのコミットした人とコミット情報が表示される。

emacs23にあてるパッチを変更した

これまで、Emacs 23.2 with Shift IME patch on Mac OS X - stnard.jpのようにfix-shiftmodifier-with-ime.patchをあててたけどinline-patchの方を使って再ビルドした。これでIMEがONの時にC-x oとかがうまくいかなかったのがうまくいくようになった。あとは…

yasnippet

メモ yas/root-directory snippet設定のroot。特に設定しなくてもいい? yasnnipet-config.el rubikichiさん作成のyasnippet設定用ファイル。一時的なsnippetを定義したりできるようになるみたい。 yas/reload-allコマンド snippetsファイルをリロード yas/n…

ruby-electricとyasnippetは相性悪い?

emacs23.2でruby-electrricを有効にすると、yasnippetのruby-mode用の定義が使えないみたい。

emacs 覚え書き

23.2で。 C-M-SPCで、カーソルから右に向かってシンボルをリージョン選択 リージョン範囲内のインデントはC-M-\だったけど、TABだけでよくなったみたい。

comment-dwim

これまで M-x comment-region, M-x uncomment-region してたけどこれ使ってみる。 M-; で状況にあったコメントを挿入してくれる。

isearchでカーソル位置の単語を検索する

isearch時に C-w とするとカーソル位置にある一単語を検索ワードにセットできる。

color-moccur

めちゃ使えるような気がする。とりあえずメモ。 rgrepと何が違うの occurは基本的にはバッファの検索。rgrepはファイルの検索。でもcolor-moccurを使うとバッファとファイルどちらも使い分けできる。 あとはよくわらかん color-moccur 色つけ。 grep系のmocc…

grep-edit

grepやrgrepの結果を直接編集できるelisp。carbon emacsだと標準で有効になっていたけど、23.2には入ってないので入れないといけない。auto-installでinstall (install-elisp-from-emacswiki "grep-edit.el")

egg.el

閲覧系は死ぬほど便利なのでこれから使う。更新系はよく分からん。tigとどっちがいいかは両方使ってかんがえたいところ。 キーバインド C-x v = カレントバッファのdiff C-x v l git log C-x v s git status

redo+.el

これまでも C-g C-/ でredo出来た気がするんだけど何が嬉しいのだろう?と思ったら、undoの途中に別のコマンドでbufferを変更したとき、undoが元に戻ってしまう(未来方向へundoしてしまう)のを解消して、 undoは過去にしか戻らない redoは未来にしか行かない…

emacs23に移行してるけど、なかなかうまくいかない件

なかなかうまくいかない。 保存時の確認が邪魔 ファイルによっては保存時に <filename> changed on disk; really edit the buffer? (y, n, r or C-h) のような感じで聞かれるようになった。auto-save や backup-file の設定やタイミングよって出たりでなかったり。切り</filename>…

emacsでコメントを付ける/はずす

これまでリージョン選択して M-x comment-region M-x uncomment-region ってやってたけど M-; でもできる!これからこっちでやろう

emacsコマンド補完

tabだけかと思ったらC-iでもできる!今度からC-iでやろう

emacsで正規表現を使って置換するときに忘れがちなことをメモ

たまにやると忘れてて困る。のでメモ 括弧を特殊文字として使いたいときには\(\)みたいにバッククォートを付ける 括弧を付けたものを後で参照するには\1とかする re-builderで確認する Emacs で正規表現を使うなら re-builder を使おう - ひげぽん OSとか作…

矩形操作

この二つは頭にたたき込んでおきたい C-x r o で空白を挿入 C-x r d で矩形領域を削除 emacsの矩形選択モード紹介 | tech.kayac.com - KAYAC engineers' blog

diredでファイルを削除する

dで削除マーク付けてxで消す 参考 Emacsのdiredの操作メモ

C-x m

C-x mでmail modeになってしまうのを抑制したい。