Emacs のもっともおいしい機能の一つですよお。
なにかをスプレー塗装するとき、余計なところは新聞紙とかテープでマスキングしますよね?narrowing って、あれじゃないかなぁとか。
narrow-to-c-function
開発がお仕事だったころは、こんなのを使ってました
(defun mark-c-function () "Put mark at end of C function, point at beginning." (interactive) (save-excursion (push-mark (point)) (end-of-defun) (push-mark (point)) (beginning-of-defun) (backward-paragraph))) (define-key c-mode-map "\C-c " 'mark-c-function) (defun narrow-to-c-function () "Narrow to C function" (interactive) (let (begin end) (beginning-of-defun) (backward-paragraph) (setq begin (point)) (end-of-defun) (setq end (point)) (narrow-to-region begin end))) (define-key c-mode-map "\C-cn" 'narrow-to-c-function)
C ソース見てて、「む」と思ったらすかさず C-c n
その関数以外は一切見えなくなるから、検索も置換もやりたい放題