LoginSignup
13
13

More than 5 years have passed since last update.

(一人勝手に) Emacs Advent Calendar 2012 - 俺にも言わせろ Emacsを使いこなすために

Last updated at Posted at 2012-12-27

syohexさんのEmacs Advent Calendar 2012 "Emacsを使いこなすために" を読
んで自分も書きたい、という思いがふつふつとわいてきたので ひとり勝手に
Emacs Advent Calendarを続けてみます。

elispをevalしまくろう

evalしたいelispをregion選択して M-x eval-region しまくりましょう。
よく設定fileにはremap設定やmode設定を書くと思います。
これらはEmacsをrestartするのではなくevalを使ってinteractiveに設定を反
映させましょう。
たとえば

(global-set-key (kbd "C-h") 'delete-backward-char)
(scroll-bar-mode 0)

といったものをregion選択しM-x eval-regionしてみましょう。即座に設定が反映
されます。

設定の反映だけでなくvariableの内容把握にも役立ちます。例えばscratch
bufferで

ac-dictionary-directories

と入力した後で M-x eval-print-last-sexp と入力してみましょう。

("/Users/kozo2/.emacs.d/elpa/auto-complete-20121203.832/dict")

このようにauto-complete.elが用いている辞書があるdirectoryのpathがわか
ります。

helm-M-xしまくろう

実現したいことに関するkeywordをhelm-M-xの後にspace区切りで入力してみま
しょう。それらしきcommandがみつかるはずです。

helm-lisp-completion-at-pointしまくろう

このcommandを使うとelispの補完ができます。auto-complete.elも便利ですが
このhelm commandをおすすめするのは前述のようにspace区切りでの候補のしぼりこみが可
能なためです。elispのcommand名などは長いことが多いのに加え、keywordがelispの
variableなりcommandなりの中で離れて存在していてもよいので便利かと思います。
しぼりこみ結果がvariableかcommandかfunctionかも表示してくれます。

package-list-packagesしまくろう

installやuninstallが簡単にできるだけでなくupdateも可能なので使いまくりましょ
う。

command (or function) をedebugしまくろう

よりくわしくEmacsの機能(==Emacsのcommand or function)を知りたい場合
edebugでcommandなりfunctionのdebugをすることがおすすめです。

  1. 知りたいcommandをM-x describe-functionで調べる
  2. Help buffer にどのelisp中のfunctionか(そのelispへのlinkにもなっている)が表示されるので、ここからそのelispのcommand箇所へjump
  3. M-x edebug-defun で知りたいcommandにbreak pointをしかける。
  4. M-x "知りたいcommand" でcommandを実行
  5. "知りたいcommand" のdebugができる

おわりに

上記のことを行うとEmacsはとてもinteractiveなものであることがわかると思
います。
ballは友達的な感じでどんどんEmacsに質問を投げてEmacsのことを知り、使い
こなしてください。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13