Hatena::ブログ(Diary)

わからん

2011.06.17

[] C-x C-x で移動したときにリージョンを目立たせないようにする

C-x C-x はマークとポイントを入れ替えるコマンド。最後に Ctrl-SPC した場所に移動したいときに使っている*1。移動後にリージョンに色が付くのが嫌だったので消しました。そういえば世の中にはすごい人がいるもので、 xxx.el というのもある。使ってませんけどね。

;; C-x C-x でリージョンを目立たせない
(defadvice exchange-point-and-mark (after my-exchange-point-and-mark activate)
  (if (and (transient-mark-mode mark-active))
    (keyboard-quit)))

 追記 2012/3/25

expand-region.el とは相性が悪いです。

[] 空振り

( func || function(){} )();

[] 第2引数に 0 を指定している setTimeout() の役割

setTimeout(callback, 0) ってよく見かけます。0 を指定して何かメリットがあるのかと思いましたが、サイ本に解説がありました。

setTimeout() をつかった便利なテクニックの1つに、0 秒後に関数が呼び出されるようにする、というテクニックがあります。指定したコードは直ぐに呼び出されるとは限りませんが、できるだけ早く実行されます。実際には、このような形式で setTimeout() を呼び出すと、イベントハンドラの実行が完了し、ドキュメントの状態更新が終了した時点で、指定した関数が呼び出されます。ドキュメントコンテンツを取得したり変更したりするイベントハンドラは、このテクニックを使って、ドキュメントが安定した状態になるまでコードの実行を遅らせる必要があります。


 2013/5/24 追記、関連リンク

*1:マークを辿って戻るだけなら C-u C-SPC C-u C-SPC C-u C-SPC ...も便利

Google