miau's blog?

テキストエディタマニアとして

こういうのは結構好き。

テキストエディタをまた〜り語ろう ver.21


480 :名無しさん@お腹いっぱい。:2006/11/27(月) 08:39:54 ID:UXsv/QcH0
vimで、
ice coffee
hot coffee
ice tea
hot tea
ice milk
hot milk

coffee
tea
milk
にする最小の手順を書け
なおカーソルはice coffeeのiの位置にある(ヒント:7手)

7 ストロークってことでよければサクラエディタでもできそうだなー、ということでとりあえず試してみた。




とりあえず、

・修飾キーはストロークに数えない
・全行 CRLF で改行されていて、余計な行はない

前提でやってみよう。

・Alt+→(矩形選択開始)
・Shift+Ctrl+→(単語の右端に移動)
・PageDown
・↑
・DEL
・Ctrl+A(全選択)
・Alt+M(マージ)

んー・・・確認ダイアログが出ちゃうから、実際には 8 ストロークになっちゃうな。
あと、これやってて、矩形選択中に EOF の行がフリーカーソルモードにならないことに気づいた。ちょっと不便だなあ。

じゃあ、こっちはどうだろう。

・Ctrl+R(置換ダイアログを開く)
・「.* 」(置換前文字列の指定)
・Alt+A(全置換)
・Ctrl+A(全選択)
・Alt+M(マージ)

これも確認ダイアログが 2 回入るから、結局 9 ストロークか・・・。
やっぱこういう作業は vi 系のほうが強いしエレガントな感じ。


その後のレスでもあったけど、こういうパズルっぽいのは結構やってて楽しいと思う。
実は以前こういう練習用ソフトを作ろうとしたこともあったりして・・・エディタを一から実装してたんだけど、編集機能を色々追加するのが面倒になってやめたんでした。
マクロでストローク数を数えられるエディタとかあれば、そっちで作ったほうが早いでしょうしね。

問題自体は少し手元に残ってるので、気が向いたら blog ネタにしてみます。


(追記)

詰め vi のページ

ここ軽く読んで、blog ネタにする気無くなった。
こういう完成度は無理。


(2006/11/30 修正)

なぜか「Alt+A(マージ)」とか書いてたので修正。
Alt+A(ソート)→Alt+M(マージ)という流れが多いから間違えたっぽい。
posted at 08:13:51 on 2006-11-28 by miau - Category: TextEditor No Trackbacks - Permalink

TrackBack

このエントリにトラックバックはありません
現在トラックバックは受け付けていません。

Comments

No comments yet

Add Comments

現在コメントは受け付けていません。
お手数ですが、 こちら のコメント欄にでも記載していただければと思います。