mieki256's diary



2010/08/26(木) [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴っていたので、PM03:30〜PM05:00の間、自宅サーバを止めてました。申し訳ない。

今年は雷が多過ぎる…。いや、そもそも、雷が少ないとは言えない福島県内で、自宅サーバを立ててること自体がマズイのだろうか…。

#2 [nitijyou] 従兄が埼玉から来訪

電気屋さんをやっている従兄(兄弟2人)が、親父さんとお袋さんの寝室にエアコンを設置するために埼玉から来訪。わざわざ遠いところ、お疲れ様です…。

親父さんがメールをやり取りしていた際、最近エアコン設置を検討してる云々の話が出て、そういう流れになったらしいけど。わざわざ埼玉から呼び寄せなくても…。親父さんは、従兄からすれば叔父なので、そりゃ断りづらいだろう…。

とりあえず、寝室の奥の部屋 ―― 衣類乾燥機用に別途コンセントを用意してある部屋にエアコンが設置された模様。消費電力は500W前後。衣類乾燥機が1000W以上だから、同時に使わなければ問題無いはず。万が一オーバーしても、ブレーカーは別になっているから、他の部屋まで被害は出ないはず。

#3 [nitijyou] 部屋の中の箪笥を移動した

今現在部屋に引き込んでいるLANケーブルはCAT5なのだけど、一応念のためにCAT5eにしておきたいなと。同時にルータの設置場所もONUの近くにしたい。で、LANケーブルを引き込んでいる穴は、箪笥の裏にあるわけで。作業しやすくするために、箪笥を移動した。

箪笥の上に置いておいたゲーム機やコントローラを持ち上げようとしたら、土台にしていたプラスチックの箱に貼り付いて剥がれない。無理矢理剥がしたら、ゴム足が溶けて変形していた。貴重なセガサターン用コントローラが…。まあ今後使うことがどれだけあるかと考えるとアレなんだけど。

移動するために箪笥の引出しを外したら、箪笥の外側?中?が悲惨な状態になっていた。引出しを支えつつ滑らせるための、ガイドに相当する木の棒や板が、折れたり剥がれたり。道理でまともに引き出せないはずで。いや、それ以前に、あまりにも作りが雑というか、場当たり的に作った感じの構造で。 などと素人ですら容易に対策が浮かぶほどの杜撰さ。巷でたまに見かける、昔の日本人は丁寧な仕事をしていた、てな言は嘘じゃないのか。

まあ、早く安く作ろうとして、こうなっているのだろうけど…。そもそも、しっかりした真っ当な箪笥なら、重量もあるだろうから、自分一人で移動させることもままならなかっただろうとも思える。そう考えると、これはこれで、なのだろうか。

20100827追記。 :

作りが酷いのは当たり前だった。お袋さんの話では、40年前に7,000円で買った箪笥なのだとか。…箪笥のように見える別の何か、だったのだな。

親父さん・お袋さんの寝室にあるちゃんとした箪笥を確認したら、想像してたとおり、側面の板の厚みがちゃんとあって頑丈な作りになっていた。その代り、重量がかなりありそう。自分一人で移動なんかできそうにない感じ。これが本来の箪笥なのだな。

#4 [xyzzy][emacs] xyzzyで文字列を置換する際にカーソル位置の単語を取得できるのだけど、それをemacsでやりたい

xyzzy も emacs も、replace-string や query-replace で文字列を置換できるわけだけど。その際、バッファ上のカーソル位置にある単語を置換元文字列としてミニバッファ上にコピーしたいと思うわけで。

単純な置換をする場合、置換前の文字列は、既にバッファ上に存在する。ていうか。バッファ上に存在してる文字列を置換したいと思ったからこそ、置換を呼び出すわけで、実に当たり前の話。

で。既にバッファ上に文字列が存在しているのに、それを手入力で打ち込み直すなんて、実に馬鹿げている。目的とする文字列は既にバッファ上にあるのだから、そのままコピーして利用すればよろしい。となると問題は、「その文字列のコピー・貼り付け作業をどれだけ簡単に行うか」「どれだけ少ない手順で行うか」になってくる。

xyzzy なら、置換前文字列を入力する際に ―― ミニバッファ上に何かを入力しようとした際に、Homeキーを押すことで、バッファ上のカーソル位置の単語が順次ミニバッファへコピーされる。実に快適。少し調べてみたが、lisp/minibuf.l で、minibuffer-copy-word という関数が定義されていて、それが Home に割り当てられている模様。

さて、これと似たようなことを emacs でやるにはどうしたらよいのか。検索してみたが、そういう機能があるという話は見かけなかった。

一応、手作業でやれなくはない。
  1. 文字列をリージョンで選択して、
  2. M-wを押してコピーして、
  3. C-x C-x でコピーした文字列の先頭までカーソルを移動して、
  4. 置換を呼んで、
  5. C-y で貼り付けして、
という手順でも一応は行える。が、xyzyy の「Homeキー一発、もしくは連打でコピー」に比べると、手順が多くて面倒。

もう少し減らすこともできる。
  1. 置換を呼んで、
  2. M-/ でdabbrev(単語補完)を使ってバッファ上に存在する文字列の一部を打ち込んで文字列を選択。
でも、一部とは言え単語の手入力が発生する。微妙に馬鹿馬鹿しい。いい手はないものか。

置換とは何ぞや。 :

このあたり、色々考えるべき点があるような気もする。

例えば。xyzzy と emacs は、「順番」が違う。
  • 置換を呼んで、置換前文字列をコピー・貼り付けする。(xyzzy)
  • 置換前文字列をコピーして、置換を呼んで、貼り付けする。(emacs)
xyzzyは「置換する。○○を」だけど、emacsは「○○を。置換する」になってる。どちらが分かりやすいだろうか…? 一見すると後者だが、しかし前者は、「置換呼び出し→置換前文字列を指定→置換後文字列を指定」という、emacs系エディタの置換処理の順番に合致しているので、実はこちらのほうが、その場では自然に思えてくる。ような気もする。

また、リージョン(選択範囲)を、何の指定として用いるかという問題も。
  • リージョン範囲に対して置換はできない。(xyzzy) ―― その場合はあらかじめ narrow-to-region を使って対象範囲を「事前に用意」しておく。
  • リージョン範囲だけを置換できる。(emacs)
前者なら、リージョンを置換前文字列の取得に利用することも可能なのだけど。後者は、リージョンを置換を行う範囲として使ってしまうので、置換前文字列の取得には使えない。その代わり前者よりも、特定の範囲だけ置換、がやりやすいというメリットがある。

置換処理は、要求される項目がある。
  • 処理を行う範囲
  • 置換前文字列
  • 置換後文字列
置換後文字列については、コンピュータがソレを知る術はない。置換後文字列がバッファ上に存在しない場合も多々あるので、人間が手入力で打ち込んでやらないと、コンピュータがソレを知ることはできない。だからコレは比較的どうでもいい。手入力は避けられない。だが、他の2つは、既にバッファ上に情報が存在する。どれだけ少ない手順で、この2つを伝えてやるか。そこが問題になるのだろう。

…てな感じでモヤモヤと考えていたのだけど。そもそも置換を行う場面ってのは、一体どれだけあるのだろう…。頻繁に行うなら、手順を少なくすることが作業効率の改善に繋がるが、置換ってのはそう頻繁に行うことでもないような…。とっぴんぱらりのぷぅ。

isearch利用時のソレをメモ。 :

なんだか忘れてしまっていたのでメモ。C-sを押すと、isearch が使えるけれど、その直後 C-w を押すとカーソル位置の単語を取得して検索ができる。xyzzy も emacs も同じ。たしかそのはず。

検索時には、バッファ上の文字列をコピーすることの便利さにちゃんと気付いていたのに。なぜ置換時も便利だと気付かなかったんだろう…。>emacs。

以上、1 日分です。

過去ログ表示

Prev - 2010/08 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project