narrowing

それよか こいつを覚えないと。

一気に全部置換とかすると、いらんとこまで置換されちゃってせつないことがある。

また、検索とかでも、余計なとこまで検索されすぎちゃって、あー へんなとこに飛んじゃった おれがいじってたの どこだっけ? てな感じに せつなくなる

こーゆーのは、narrowing を知らないからだ。

narrowing をおぼえれば、「いちいち置換していいですか? (y/n)」なんてタコな機能は、もう一生使わないので窓から捨てて ok

narrowing (ナローイング) は、

指定したリージョン以外を全部隠しちゃう機能だ。

俺はいまこの関数だけをいじってる。あるいはこの <p> 〜 </p> だけ料理してる。って場合は、そこんとこを narrowing する。
すると、そこ以外は Emacs から「見えなく」なる。

あらゆる編集操作はナローイングしてるとこにしか効かないので、置換まくりも検索まくりもやりたい放題。おわったら戻せば (widen) よい。

鉄な人なら、ナローイングは「(領域を)狭くする」、狭く? あー ナローゲージのナローか、といえばわかるとおもう

模型な人なら、エアブラシかけたいところとか、耐水ペーパーかけたいところだけを残してマスキングしちゃう、あの感覚だといえばわかるとおもう
そう、まさにそれだ

いじりたいところを

set-mark して、C-x n n
これで、いま選択したリージョン以外が隠れる。

おっと、生まれてはじめてナローイング使った、って場合は「ほんとにいいんか? これからもナローイング使うんか?」って聞かれる。
これは、「ナローイングで見えなくなる」のと、「消去されちゃった」のが、視覚的には一緒なので、シロートがうっかりナローイングしちゃってやべー消えたーとかパニクるのを防ぐためだ。

もっとも、ナローイングつかってる場合は、モードラインに Narrow とか出ているのだが。

おわったら

C-x n w

これで「マスキングをはがす」

むかし

ぼく C でプログラム書いて暮らしてますよ? な人だったころは、「いまカーソルが入ってるところの関数だけをナローイングする」マクロを多用していた。つーか、これがないとしぬ。

VB で、編集中の Sub だの Function だけがコード編集のウインドウに出るのと一緒だって? あぁ、そうだね..

つーか

一回、ゆっくりマニュアル読んでみなされ。

目からうろこが 20 枚、生産性が 30 倍、生きる喜びが 40 倍はふえること 必定