タグ

ブックマーク / hiboma.hatenadiary.jp (18)

  • Xcodeのキーバインドを深追いする - hibomaの日記

    Xcodeのキーバインドセットは「環境設定」の中から変更する事ができます。独自のカスタマイズをする場合は既存のキーバインドセットを複製して、複製した定義ファイルに手を加えていくことになります。 xcode_emacsというキーバインドセットを複製した場合、 ~/Library/Application\ Support/Xcode/Key\ Bindings/xcode_emacs.pbxkeys にキーバインドを定義するXMLがコピーされています。(環境: Xcode3.0) Xcodeの「環境設定」でもそれなりのカスタマイズができます。が、XMLファイルを直接いじることで「環境設定」だけではできないカスマイズも可能になります。Emacs厨な人はこのエントリの続きが参考になると思います。 *.pbxkeysの中身 複製したキーバインド定義のファイルをプロパティリストエディタ(/Develo

    Xcodeのキーバインドを深追いする - hibomaの日記
  • hibomaのはてなダイアリー - ウィンドウのサイズを変えたり位置を動かしたりするAppleScript を QuickSilverに登録すると快適

    現在使用中のアプリケーションのウィンドウを「全画面表示/全画面表示の半分のサイズ表示で切り替える」スクリプトと、ウィンドウを「画面の右隅に寄せる/左隅に寄せる」スクリプトを書きました(ソースは下記)。 なんてことない機能のスクリプトですけど、QuickSilverのランチャーとしてショーットカット登録しておくと、ボタンひとつでウィンドウを操作できるので快適です。(ノートPCのトラックパッドでウィンドウのサイズを変えるのって指がしんどい。キレイに並べるのも大変だし) 言葉だと実際の動き方がいまいち分かりにくいので画像を。 全画面表示が 半画面(?)表示に切り替わる。 半画面表示の時にスクリプトを走らせると全画面表示にスイッチします。 右寄せになっているアプリケーションウィンドウを 左寄せにします。 すでに左寄せになっているウィンドウにたいして使うと右寄せにスイッチしてくれます。 なんでウィン

    hibomaのはてなダイアリー - ウィンドウのサイズを変えたり位置を動かしたりするAppleScript を QuickSilverに登録すると快適
  • メモリを食いまくるプロセスがメモリ使用量に与える影響をtopで追う

    暴走してどんどんメモリをうスクリプトが OS全体のメモリ使用量(CentOS5 ... カーネルは2.6系になる)の動作にどんな影響を与えるのか ってのを見るために以下のようなテストをしてみました。仕組みはだいたい理解してるけど、細かい数値を追ったことはなかったのでやってみました。 sshでログインして、topを立ち上げる。プロセスを見張る用意をしておく 別のsshをたちあげて、 Perlワンライナーで以下のようなプロセスを走らせる(このプロセスをtopで見張る) # 1秒ごとに5MB単位でメモリをうプロセス # 数値はお好みで perl -e "while(1){ sleep 1; push @h , 1 x 1024 x 1024 x 5 } " ちなみにtopで見張るときは メモリ使用量でソートされるようにして top起動中に shift + o を押して n を押すと 実メモリ

    メモリを食いまくるプロセスがメモリ使用量に与える影響をtopで追う
    IMAKADO
    IMAKADO 2007/09/16
    top
  • 地道にEmacs Elisp - hibomaの日記

    http://www.gentei.org/~yuuji/elisp/elisplec.html elispのメジャーモード作成についてボリュームたっぷりに書かれてる。 どうせ覚えるなら基からしっかりと!ということで、印刷して気合い入れて読むとします。 はて 俺はemacsで何がしたかったんだっけ?

    地道にEmacs Elisp - hibomaの日記
    IMAKADO
    IMAKADO 2007/09/12
    メジャーモード
  • cperl-perldoc-at-point - hibomaの日記

    ここ二日間、ずっとEmacs/zsh/screen の設定をいじってました。で、 (global-set-key "\C-c\C-p" 'cperl-perldoc-at-point) という設定を入れた。ポインタの近くのモジュール/ファンクションのperldocをひく機能が標準でついてると。禿げしく便利ですね。もっと早く知りたかった。 higeponさんのelispと合わせると、いままでわざわざターミナルでperldoc hogehoge / perldc -m hogehoge とひいていた作業が簡略化されるなぁ。

    cperl-perldoc-at-point - hibomaの日記
    IMAKADO
    IMAKADO 2007/09/12
    cperl higepon さんのとあわせるとG
  • MozReplをいじってみたよ // 簡単なチュートリアル - hibomaの日記

    いまいち分かってないんだけど、Perlperlsh,Pythonの対話型シェル,Rubyのirbのような使い方ができるみたいですね。Firefoxも出力にできるJavascriptシェルといった感じでしょうか。Firefoxの内部で行われているJavascriptの処理を覗き見れるシェル型のインターフェース かな。Replというオブジェクトがシェルみたいな役割を果たしていて、repl.method()という感じでメソッドを呼び出して対話型の操作ができる。任意のJavascrptコードを打ち込むことができます。Replオブジェクト自身もJavascriptのようなので、Replを書き換えることも可能みたい。 初めの一歩 #()をつけると関数の実行 repl>repl.home() [object ChromeWindow] #()をつけないとオブジェクトの中身が見れる repl> repl

    MozReplをいじってみたよ // 簡単なチュートリアル - hibomaの日記
  • emacsのshellモードでのエスケープシーケンスを処理する - hibomaの日記

    症状:http://d.hatena.ne.jp/hiboma/20061029 診断:プロンプトのエスケープシーケンスが問題のようだ 処方:ここに書いてあったのを試した.ansi-color.elというものを読み込むらしい。 http://buxus.s31.xrea.com/pukiwiki/pukiwiki.php?UTF-8#w28bba15 ;エスケープシーケンスを処理 (autoload 'ansi-color-for-comint-mode-on "ansi-color" "Set `ansi-color-for-comint-mode' to t." t) (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) 結果: エスケープシーケンスが解決されて、色づきました!が、まだ時折挙動が怪しい。 未解決:コマンド入

    emacsのshellモードでのエスケープシーケンスを処理する - hibomaの日記
  • set-selective-displayでsubの中身を省略表示 - hibomaの日記

    \C-x $ :set-selective-display・・・指定した桁数以上字下げしている行を隠す関数とのこと http://www.bookshelf.jp/texi/emacs-20.6-man-jp/emacs_12.html#SEC80 と言われてもよく分からんので画像. こういうのが、M-4 C-x $ で (4字下げの行を隠して表示) 以下のように折り畳まれて表示される (4字下げの行を隠して表示) この場合は4字下げされた部分が省略表示になるので、Perlだとちょうどsubの中身が省略される感じになる。折りたたみ表示中でもバッファは普通に編集可能です。 使いどころがよく分かんないけど、モジュールの骨格をざーっと見てみたいとか、インターフェースどうっすかな〜っとか、関数名だけイジりたいよ〜とか、そういう時に使うと中身が一時的に見えないのは目に優しいかも。カーソル移動もちょっ

    set-selective-displayでsubの中身を省略表示 - hibomaの日記
    IMAKADO
    IMAKADO 2007/09/12
    隠す 関数作って割り当て 便利!
  • zshで最後に打ったコマンドをEmacsの編集中バッファに挿入する - hibomaの日記

    下記のelispを.emacs.el等に貼付けてから M-x zsh-last-historyすると,zshで最後に打ったコマンドを編集中のバッファに挿入します。ChangeLogとか書いてる時にコマンド履歴をいちいちコピペするの面倒だと思って書いた。 環境に依存しないとは思うけど、いちおう*scratch*で動作を試してくださいね。 (defun zsh-last-history (num) "Insert zsh's last history into current buffer." (interactive "p") (let ((command (concat (format "tail -n %s " num) (expand-file-name "~/.zsh-history") " | " "perl -e 'print map{ (split /\\d+:\\d;/)[1

    zshで最後に打ったコマンドをEmacsの編集中バッファに挿入する - hibomaの日記
  • Emacs/mode-compile.el に ruby モードを付け足す - hibomaの日記

    elispのmode-compile.elはEmacsの別ウィンドウにスクリプトの実行結果を出力//next-errorでエラー箇所にジャンプ できるのがとっても気に入っているんですが、Ruby用の設定が含まれていないようなので付け足してみました。next-errorにもいちおう対応しています。 赤文字の部分をmode-compile.elに追加していきます。 (順番に依存してないので、リストの中のどこにでも挿入してもいいんですが、Perlのそばに挿入しておきました :) (defvar mode-compile-modes-alist '( (c-mode . (cc-compile kill-compilation)) (c++-mode . (c++-compile kill-compilation)) (ada-mode . (ada-compile kill-compilatio

    Emacs/mode-compile.el に ruby モードを付け足す - hibomaの日記
  • ■ - hibomaの日記

    ターミナルやCocoaアプリではC-wで「直前の単語を削除」 だけど、EmacsではC-wはkill-regionです。たまに間違える。なので、Emacs側を以下のように書き換える.プチ便利。 ;リージョン選択中はリージョンをkill , そうでない時は直前の単語をkill (global-set-key "\C-w" 'backward-kill-word-or-kill-region) (defun backward-kill-word-or-kill-region () (interactive) (if mark-active (kill-region (point) (mark)) (backward-kill-word 1)))

    ■ - hibomaの日記
    IMAKADO
    IMAKADO 2007/09/12
    C-w リージョン内ではkill
  • Emacsでバッファ保存時にdiff を知らなかった - hibomaの日記

    昨日気づいたんだけど、Emacsでバッファの保存時に Save file /Users/hiroya/hgoe.pl? (y, n, !, ., q, C-r, d or C-h)こんなプロンプトが出てくるけど、ここで'd'を押すと、保存したいバッファの現在の状態と保存する前のファイルのdiffが出てくる. diff -c /Users/hiroya/hgoe.pl /tmp/buffer-content-11593BR2 *** /Users/hiroya/hgoe.pl 2007-03-11 11:06:46.000000000 +0900 --- /tmp/buffer-content-11593BR2 2007-03-11 11:06:57.000000000 +0900 *************** *** 1,5 **** #!/usr/bin/perl use strict

    Emacsでバッファ保存時にdiff を知らなかった - hibomaの日記
    IMAKADO
    IMAKADO 2007/09/12
    d でdiff!!
  • Emacs: perlのモジュールの関数一覧をバッファに表示 - hibomaの日記

    ;;; you need .. ;;; YAML::Syck ;;; Class::Inspector (defun perl-class-inspector-functions (class) (interactive) (let ((buffer-name (concat "*functions " class "*"))) (if (get-buffer buffer-name) (progn (set-buffer buffer-name)) (progn (shell-command (concat "perl -MClass::Inspector -MYAML::Syck -e" "'use " class "; print Dump(Class::Inspector->functions('" class "')) '")) (set-buffer "*Shell Comma

    Emacs: perlのモジュールの関数一覧をバッファに表示 - hibomaの日記
  • Emacsのabbrev-mode - hibomaの日記

    emacs には abbrev-modeなる モードがあります。 日語に訳すとabbrev(iation)は略語、略称といった意味らしいですが、emacsユーザーからは「静的略称展開」というごっつい名前で呼ばれてることが多いですね。名前の割に機能は単純で 、例えば「abb」 と入力したら その文字列を「abbreviation」 に展開する という入力補助のためのシンプルな補完機能です。 abbrev-modeを利用するには メジャーモードに応じたabbrev-table を登録する必要があります。cperl-modeだったら cperl-mode-abbrev-table、fundamental-modeだったら fundamental-mode-abbrev-tableといった具合です。どんなabbrev-tableがあるかは ?M-x edit-abbrevsとするとテーブル一覧を

    Emacsのabbrev-mode - hibomaの日記
  • 補完するならabbrev-mode => snippet.el がよさげ - hibomaの日記

    昨日ながながと書いたabbrev-modeですが、補完するために使うならsnippet.elってのが便利みたいです。id:hirose31 さんからコメントをいただきました ども〜 : ) 使い方ですが、 ;; パスの通る場所にsnippet.elをダウンロードする ;; http://www.kazmier.com/computer/snippet.el (require 'snippet) (snippet-with-abbrev-table 'cperl-mode-abbrev-table ("fw" . "$c->forward('$${args}')")) とすると、cperl-modeで「fw」 が 「$c->forward('args')」 に展開されます。argsは何か文字を入力すると消えてくれます。 $${args}の部分はプレースホルダと呼ぶらしくて、プレースホルダは複

    補完するならabbrev-mode => snippet.el がよさげ - hibomaの日記
  • Emacs で csstidy - hibomaの日記

    [vimCSSTidy] http://blog.hide-k.net/archives/2007/06/vimcsstidy.php Emacsだとこんな感じですかね 。まだちょっとしか使用してないのでバグるかもしれないけど... (defun csstidy-buffer () "Run csstidy on the current buffer." (interactive) (save-excursion (shell-command-on-region (point-min) (point-max) (format "csstidy %s --silent=true --sort_properties=true" (buffer-file-name (current-buffer))) nil t))) ;;; オプションは適当に追加 hoge.css を編集している時に、 M

    Emacs で csstidy - hibomaの日記
  • .screenrc - hibomaの日記

    いままで.screenrcのキーバインドに # alt + スペースで 次のwindowに移動 bindkey ¥033' ' next としてました。alt+スペースを連打すれば高速にwindow切り替えができるのですが、 ターミナル上での全てのCUIアプリでalt+spaceが使えなくなってしまうのがちと微妙でした。( emacsのmeta+spaceは 「スペースを一つ残して空白を削除する」just-one-space という地味に便利な機能があります) なので適当に bindkey ¥033'2' next bindkey ¥033'1' prev としてみました。 alt+1 / alt+2 でwindow切り替え。プレフィックキーをつけないと打鍵が少ないので高速に切り替えられるんで好きです。 <追記> シェルで meta+ 数字 とすると数字の回数分入力を繰り返す機能があるみた

    .screenrc - hibomaの日記
  • Emacs/cperl-mode の設定 ( ちょっとだけ ) - hibomaの日記

    (add-hook 'cperl-mode-hook '(lambda () (local-set-key "?C-j" (lambda () (interactive)(insert "->"))) (local-set-key "?M-j" (lambda () (interactive)(insert "=>"))) )) > と => を挿入するキーをセット。 C-j / M-j ってとても打ちやすい場所にあるキーなので、それを占領してしまうはもったいないとは思うけど、案外重宝してます。だってハッシュとかメソッド呼び出しとかで矢印書くのめんどいだもん! M-j の indent-new-comment-line ( コメント挿入時にインデントを自動でつけてくれる)が上書きされるのがアレです... まぁ、こんな地味に痒いところにも手が届くのがEmacsの強みだと思います。こんな地味設

    Emacs/cperl-mode の設定 ( ちょっとだけ ) - hibomaの日記
    IMAKADO
    IMAKADO 2007/09/12
    cperl [.emacs]
  • 1