home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

Emacs/ナローイング(選択範囲で○○する)

Emacs/ナローイング(選択範囲で○○する)

Emacs / ナローイング(選択範囲で○○する)
id: 366 所有者: msakamoto-sf    作成日: 2003-05-30 14:53:46
カテゴリ: Emacs 

sakuraエディタを初めとするWindows上で動作する一般的なテキストエディタでは、「選択範囲に限定して」置換する機能があります。これはプログラミング時に非常に便利で、vimにも搭載されています("V" or C-v で範囲選択した状態で":"にすると、開始-終了が選択範囲になったコマンド入力モードになります)。

Emacsでそれを行うには、「ナローイング」という機能を使います。

詳しい説明は以下のURLを参照して下さい。
http://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp_7.html

基本的な使い方としては、まず範囲を選択するにはC-@でリージョン選択を開始した後、範囲選択後

C-x n n

or

M-x narrow-to-region

を実行します。
初回実行時には「本当に実行しますか?」と聞かれます。y or yesで実行され、以降は質問されません。

すると、選択範囲外のテキストが一切見えなくなります。
なぜ初回実行時に質問されるかというと、ナローイングを知らない初心者にとっては混乱を招くからです。

この状態で検索や置換を行うと、表示されている範囲のみが対象になります。これで「選択範囲内での検索・置換」を行えます。

ナローイングを解除するには widen コマンドを実行します。

M-x widen

or

C-x n w

C-x n はnarrowing 系のプレフィクス・キーで、n がナローイング、wがwidenning と覚えればキー・マップもわかりやすいでしょう。

なお、自分で作成した関数をナローイング対応させる場合の注意点については上述のURLを参照して下さい。簡単にまとめると、save-restriction, save-excursion という二つの特殊形式(special format)を使用して「一時的に」ナローイングを解除して、処理終了後に戻すようにする必要があるかも知れません。



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-26 15:02:56
md5:b6ae76cadf22d459183e66ef5078ec91
sha1:859076737fe547332a5e9330cb091f78d74c32ee
コメント
コメントを投稿するにはログインして下さい。