「カーソルの位置にデバッグ用のprintfを挿入」をひと工夫
id:higepon:20060212:1139757670
これまたしょうもないのですが… printfのフォーマットのところにカーソルを移動しておくと、すぐメッセージを編集できます。ちょっと便利になります。こんな感じ。
(defun my-insert-printf-debug () (interactive) (insert-string "printf(\"%s %s:%d\\n\", __func__, __FILE__, __LINE__);") (indent-according-to-mode) (backward-char 35) )
ついでに僕がRubyのプログラムを書くときによく使っている入力補完用Emacs-Lispを挙げておきます。特にruby-insert-blockが便利です。Rubyはイテレータ多用するし。
(defun ruby-insert-block () (interactive) (insert "do |") (setq p (point)) (insert "|\n end") (ruby-indent-command) (goto-char p) (ruby-indent-command)) (defun ruby-insert-escape () (interactive) (insert "#{") (setq p (point)) (insert "}") (goto-char p)) (defun ruby-insert-open () (interactive) (insert "open('', 'r') ") (ruby-insert-block) (insert "file") (backward-char 16)) (add-hook 'ruby-mode-hook '(lambda () (define-key ruby-mode-map "\C-cb" 'ruby-insert-block) (define-key ruby-mode-map "\C-ci" 'ruby-insert-escape) (define-key ruby-mode-map "\C-co" 'ruby-insert-open)))