文字列検索、コピペ、カーソル移動はI/Fなので持ち歩きたい。

1.文字列検索
普段Emacsを使っている僕ですが、もちろんそれ以外のアプリを使うこともあります。で、別のアプリを使っていて「この時がきたか…」と思う瞬間があります。目当ての文字列が見つけるため、検索機能を使うときです。そして大抵自分の求めるように動いてくれず、目を皿のようにして目を頼りに探す事になるのです(そして、この部分を、Emacsに置き換えられないかなーと思ってしまうのです。まぁ自分が使っているのはMeadow(Windows版)なのですが、可能であれば Meadowにファイルを渡す事のできる gnuclientw などを使うことになります)。

まず検索で嫌な例ですが、自分の探したい文字列が、ただGUI上の表示で、検索対象になっていなければどうしようもありません。なぜ検索対象にしてくれないのか、いつも悩むのですがどうしようもありません。EmacsDired(DIRectory EDitor)などでは全ての文字列が、検索対称なのでエクスプローラーとは使い勝手は比べ物になりません(エクスプローラーのフォルダ表示のような物がほしければ Alt+x speedbarを使いましょう)

また、Ctrl+f、Ctrl+f、Ctrl+f…と押し続けて、大抵自分は目当ての物を通り過ぎてしまうのですが、「一個前の検索に戻る」が出来るかどうかが重要です。これは「進むボタン」と「戻るボタン」が別になっている場合、またプルダウンで進行方向を「下へ」「上へ」と選んで「次を検索」を押して戻る方法などがあるでしょう。どちらかがあればいいのですが、本当にない場合もあります。

Emacsではここは「Back space」を押せば(検索文字列は変化せず)戻るという事になっています。押した回数だけ戻っていき、検索で進んできたのの逆をやってくれます。最後には検索開始位置に戻り、検索文字列も消えています。これは慣れればいいのですが、こういう実装になっている物はあまり見ませんし、実装してくれとも思いませんが。

またEmacsの文字列検索で便利なのはCtrl+s(Meadowの検索はCtrl+sです。嫌な人には嫌でしょうけど)を押した後にCtrl+wを押すと、カーソルの下の文字列を英語ならword単位で検索対処に追加していく事です。日本語だと「漢字おくりがな」でwordとみなされてしまうので、これは少し使い勝手が、よくないです。「漢字」までで止める方法を探したのですが、結局わからずあきらめました。

2.コピペ
これもEmacsにはいいシステムがあります、マウスで文字列を選択しようとしたときに、選択開始位置が1,2文字ずれていたなど気づくときがあります。このときEmacsではCtrl-x Ctrl-xと押すと、選択開始位置(マークといいます)、とカーソル(ポイントといいます)を入れ替える事ができます。これで選択終了位置を確定してから、マークとポイントを入れ替えて、ずれていた選択開始位置を動かす事が出来ます。

またプログラムなどは行単位で削除したい事がよくあります。これもCtrl+kでカーソル位置以降の行をカット可能です。カーソル移動などもせず、Ctrl+kを押し付けていると、それらの行はすべてクリップボードに入っていきますので、ペーストも出来ます。

3.カーソル移動
カーソル移動は色々とあるでしょうけど、Emacsの場合、

Ctrl+a 行頭に移動
Ctrl+e 行末に移動
Ctrl+v ページスクロールダウン
Alt+v  ページスクロールアップ
Alt+<  ファイル先頭に移動
Alt+>  ファイル末尾に移動
Ctrl+d Delete

が殆どホームポジションから指を移動せずに入力できます。たとえば改行のたくさんある、文章をHTMLにするため1行にしたければ、Ctrl+e,Ctrl+d,Ctrl+e,Ctrl+d,…と繰り返せば一行になります。Home、End、PgUp、PgDnに手を伸ばすのは僕にはめんどくさいです。

またEmacsにはカーソルの下の単語を対称にする操作がいくつかあります。w3m-search, sdic-describe-word, lookup-word, などです。単語単位の移動(Ctrl+→)などを使いながら、読んでいる単語の近くにカーソルがあるように、移動させておくと以上の関数がすぐに呼び出せます。

そしてMeadowにはファイラーや、MUAや、テキストブラウザや、2ch専用ブラウザがありますが、殆ど全部の範囲に文字列検索や、カーソル移動が出来ます。

そこで以下のようにしてMeadowは持ち歩いてます。
USBメモリでMeadow[LifeHack][Meadow]
http://www23.atpages.jp/changelog/2010-12-07-1.html

まぁとにかく、テキストを目の前にしたとき、うえの1.文字列検索, 2.コピペ, 3.カーソル移動、はインターフェースだと思っているので、出来るだけ持ち歩きたいですね。