よく読んでなくて危なく車輪の再発明をしようとしてしまうところだったのでメモ。
anythingで何か行う際に、現在のカーソル位置にある単語を使いたいときがあったりする。例えばanything-occur
でバッファ内にある同じ変数名を探すときなど。普通にM-x anything-occur
を開くとminibufferには"pattern: "と出るだけでそこから自分で入力して絞り込みをしていかないといけない。初期値として何かを設定した状態でanythingを開くには、anything
関数を呼び出す際に:input
Keywordsを指定してやることで実現出来るらしいけど、そうするとそれを呼び出すanything-***コマンドまで定義を書き換えなくてはならない。
そんなことしたくないなーと思ってanything.elのドキュメントをよく読んでみたら、
:default A default argument that will be inserted in minibuffer with M-n. When nil of not present `thing-at-point' will be used instead.
と書いてあるのに気付いた。
:default
Keywordsに何も指定されずにanythingが呼ばれた場合、thing-at-point
で得たものがM-n(next-history-element)
でもってくることができる、ということ。なので、minibufferのpromptは最初は空っぽでも、M-n
で一発でその場のカーソルの単語をもってくることができる。
知らなかった…
thing-at-point
は、カーソル位置の情報を取得してくれる関数。
カーソル位置の情報で遊ぼう。 - 日々、とんは語る。
ということで、例えば何か分からない関数やシンボルがあって調べたいときは、カーソルをそいつのところに持っていって、
でanything-c-apropos
を呼んで、すぐにM-n
を押せばその単語で絞り込めるのでサクッとその定義を調べることができる。便利!