トップページ | 2008年9月 »

2008年8月

2008年8月17日 (日)

ココログを開設する

平成20年8月03日(日)にココログを開設する。編集の際に使うアカウント名 とパスワードを設定する。その他にアクセスのドメイン名を決める。後から 変更できるブログ名や開設者のニックネームそしてテンプレートもとりあえ ず指定する。開設時に決める項目が結構多い。予め申し込み画面を見て考え ておく。すべてを符丁とみなして気軽に適当なものを入れるくらいにする。 一旦設定したら変更できないと言われると構えてしまう。いよいよになった ら全部廃止して新に作り直すという手もありかなと思う。

ページデザインとしては、本文の左右にゴチャゴチャと並べる形式は取りた くない。画面の横幅いっぱいに本文を配置したい。左右に管理項目を配置し ないようにしても本文が画面の中程の三分の一の幅に収まった、やたらと細 長い配置になる。単に左右に並べる項目を取り去っただけのものになる。

画面の横幅いっぱいに本文を配置するには「ページ全般の設定」の中にある 「列の横幅」をデフォルトの「400 ピクセル」から「可変」に設定変更すれ ばよいことに気付く。ようやくのことで画面の左端から本文が始まるように なる。

すると本文全体が左寄りで右側に空白部分のある形になる。編集画面(記事 の作成)で入力した一行文字数がそのままに表示される。そこで段落内の改 行文字を手動で消す。これでようやく画面横幅いっぱいに本文が表示される ようになる。

htmlタグの入ったソースファイルでの改行文字は無視される。改行タグ<br >を入れなければならない。タグの入らない文章を編集画面に入力していく と裏で自動的にタグの入ったhtmlを作成してゆく。それを見てhtmlでの編集 もできる仕組みと見る。

何度も編集を繰替えしているうちに本文編集(記事の作成)とhtml編集のタブ が現われるようになる。それなら予めhtmlタグの入ったものをブラウザで確 認しながら作ってココログのhtml編集画面にコピペ(コピーアンドペースト) したほうが早い。

普段使っているテキストエディタは七十文字(全角三十五文字)に詰め込んで 改行文字を自動的に入れるようになっている。これをコピペでココログの地 の文章編集画面(記事の作成)にコピペすると改行文字がそのまま移る。ココ ログの編集画面の横幅は狭いのでそれはそれで丁度よい。ページ確認すると 全角三十五文字の入力文章がそのまま正直にhtmlに変換されるから、画面右 に空白部分の多い不恰好なページになったわけである。

そこで編集画面(記事の作成)にhtmlタグの入らない地の文章を入力するのを やめる。エディタでタグ入りのものを作りブラウザで確認する。一般のホー ムページと同じ作り方で原稿を作る。出来上がったらココログの編集ページ にコピーアンドペーストする。「記事の作成」タブだけで「html編集」タブ がない場合でも、たぶん本来はタグなし原稿を入力するべき場所と思われる 「記事の作成」タブに貼り付けてしまう。それでもちゃんと処理してくれる。

ココログの編集画面を使わずhtmlファイルを直接アップロードする方法もあ るらしい。その際は文字コードをutf-8にするようである。こちらは試して ない。

| | コメント (0) | トラックバック (0)

2008年8月10日 (日)

vi本

viを使うようになったのは、コマンドラインから使うsed(stream editor)によ り文書の整形作業を始めたことからだった。5000行くらいあるテキストファ イルになると目視による手動での整形作業は辛い。そこでテキストエディタ の編集マクロを一つのコマンドとして独立させ非対話的に実行するコマンド であるsedを使う。

sedのコマンドセットはラインエディタedそしてその機能拡張版ex(extendな ed)とうり二つである。新しいコマンド名を考えるよりはそれまでに使われ てきたものをそのまま流用したほうがユーザーに優しい。

何せunixのコマンドは分かりにくい。ディレクトリ情報表示のlsコマンドは 何の省略形なのか分からない。これがlistに由来すると書いている本は少な い。これに相当するms-dosのコマンドdirはdirectory の頭3文字で分かりや すい。

コンピュータと対話する手段がキーボードだけだった時代には、出来るだけ 打鍵数を減らして入力の手間を省こうとしたらしい。一文字のコマンドが一 番速いが使える文字数に制限がある。何のコマンドかの察しが付きにくい。 そこで二文字のlsにしたのだろう。この省略は想定外のものであるために却っ て記憶に残りやすいという想定外の結果となっている気がする。

sedが何時でも使えるためには日頃からそのコマンドに馴染んでいるのが よい。使わないと人間はすぐに忘れてしまう。そこで同じようなコマンドを 使うviに慣れようと考える。

viが動くようになってから本屋に参考書を買いにゆく。unix本を多く出し ているオライリージャパン社のvi本しかない。一年位前だったか、vim本を本 屋で見かける。その他にもう一冊のvi本があったような気がする。なんか気に なったが普段からemacsを使っている。手元にviの現物がなく、そして面倒そ うなvimは敬遠する。

viに挑戦する遥か以前からemacsを使っている。コントロール、オルト、エ スケープという普通のwindowsアプリケーションでは殆ど使うことのないキー を使いまくるemacsは取っつきにくいエディタとして敬遠する人が多い。

vi本をアマゾンで探す。案外少ない。上位には3冊しかない。ランキングの 中にemacs本も混じる。現在入手できるのは昔からあるオライリー本と最近 に出たもう1冊だけである。

emacs本は、本屋さんの常備は少ないが取り寄せなら何種類もある。たぶん vi本より多い。viは最低限使いこなせるに必要な知識は少ない。emacsより はとっつきやすい。ただし奥行は広く深い。windowsのエディタに慣れてい たなら特別の思い入れがないかぎり、こんな面倒なものとは付き合ってられ ないと放り出すだろう。

最初に買ったvi本はオライリー本である。meadowの場合もそうだったが、 まずviをインストールして動くことを確認してから解説本を入手するという泥 縄式である。先に解説本で予習してから現物に触る真っ当な順番を踏まない。 動くものがそこになければ本を買う気にならない。動いても思い通りには動か ない、ウーン、ワカランで止むを得ず本を買いに走る。

リンダ・ラム、アーノルド・ロビンズ著、福崎俊博訳「入門vi」2002年 オライリー・ジャパン

使い方についてはよくわかるがカスタマイズの情報が少ない。そこで次を 買う。

手間と取り扱いやすさを考えたら日本語版を買ったほうがよい(3380円)。A5 版で600ページある。カスタマイズの記事が参考になる。

viでは、編集画面下に表示されるステイタスラインがデフォルトでは無い。 ファイル名と変更の有無やカーソルのある行番号などを表示するステイタス ラインは、meadowでは設定しないでも表示される。viでは設定しないと現れ ない。gui版ではメニューバーがあるがcui版では何もないとてつもなくシン プルな編集画面である。

| | コメント (0) | トラックバック (0)

2008年8月 9日 (土)

エクスプローラのフォルダツリーが表示されなくなる

インターネットのスピード計測サイトでは最新のadobe flash playerを要 求されることが多い。自宅でもadsl開設により回線が速くなり、windows自体 のアップデートも気軽にできるようになる。そこでインターネットエクスプロー ラの更新をする。

これらの作業後に、ファイラーであるエクスプローラのフォルダツリーが 表示されないトラブルとなる。フォルダツリーの部分が灰色に塗り潰されて右 上角にバツ印があるだけになる。なんとも不恰好になる。右側覧のファイル名 一覧しかない。「フォルダツリー」がないと不便である。

「エクスプローラ」と「フォルダ表示しない」をキーワードにして検索する。 質疑サイトのやり取りにフォルダツリーが表示されないとある。この場合の キーワードとしては「フォルダツリー」が最適だった。検索では何をキーワー ドにするかで検索効率に大差が出る。

対策はマイクロソフトのサイトにあった。インターネットエクスプローラ6 のインストール後にエクスプローラのフォルダツリーが表示されない場合があ るらしい。

http://support.microsoft.com/default.aspx?scid=kb;ja;832698

インストール時に次のレジストリが正しく更新されなかった場合に、この現 象が発生することが報告されています。

HKEY_CLASSES_ROOT\CLSID\{EFA24E64-B078-11d0-89E4-00C04FC9E26E}\InProcServer32

値の名前: (標準)

Windows 2000 上の Internet Explorer 6 の正しい値: %SystemRoot%\System32\Shdocvw.dll

Windows 2000 上の Internet Explorer 6 の不正な値: %SystemRoot%\System32\Browseui.dll

Windows 98 上の Internet Explorer 6 の正しい値: C:\WINDOWS\SYSTEM\SHDOCVW.DLL

Windows 98 上の Internet Explorer 6 の不正な値: C:\WINDOWS\SYSTEM\BROWSEUI.DLL

レジストリエディタから長ったらしいキーを探すのに一苦労する。不正な 値である「BROWSEUI.DLL」がしっかり登録されている。これを正しい値 「SHDOCVW.DLL」に書き換える。ファイル名では大文字小文字の区別をしない のがms-dosやwindowsの流儀であるが、ここでは指示通りの大文字を使う。レ ジストリエディタを終了した直後にエクスプローラを開くとフォルダツリーが 表示される。どうやっても直さなければと奮闘した後だけに感動してしまう。

Windowsのインストールファイルのcabファイルからexplorer.exeを取り出し て上書きしようかとかレジストリ操作の「窓の手」で直らないだろうか、あ るいはwindowsの修復セットアップかと考える。検索で有効な対処方が見つか りホッとする。

修復セットアップの途中でwindowsのプロダクトアイディーとかプロダクト キーを聞かれることはないだろう。これらはレジストリに記録されている。も しものときのために予め読み出しておくのがよい。修復セットアップには長時 間が掛かるし途中で止ってしまうかもしれない恐怖がある。

マイクロソフトはレジストリを公開したくなかったと聞いたことがある。常 に「最悪windowsが起動しなくなる恐れがある」と注意書きというよりは脅 し文句を書く。ユーザーが自己責任で触って起きた不都合をマイクロソフト のせいにされては困るが本音だろう。この脅し文句が効きすぎているのかユー ザー間の情報にさえも書かれる。

これほど簡単に症状が直ってしまうとレジストリを研究しようという気にな る。かつてレジストリの整理によりwindowsを速くすることを目指したこと がある。体感速度が上がったとは感じなかった。今回該当キーを探す際にレ ジストリの巨大さに驚く。ものすごい情報量である。不要キーの整理は重要 かもしれない。

| | コメント (0) | トラックバック (0)

2008年8月 7日 (木)

viとmeadowでskkのユーザー辞書を共有してはいけない

viでskkを使い初めるとき、meadowで使っているユーザー辞書を指定する。 viとmeadowでユーザー辞書を共有しはじめてから変な変換候補が出るようにな る。そこで「.skk-jisyo」を、文字コードを明示する別のエディタに読み込ん でみる。そうすると所々に文字化けがある。そこで一部が壊れているユーザー 辞書を「a.skk-jisyo」にリネームして設定のユーザー辞書が存在しない状態 にする。meadowで日本語入力してユーザー辞書を新たに作る。meadowを終了し た時点で新しいユーザー辞書「.skk-jisyo」が出来る。さっそく出来たばか りの「.skk-jisyo」を文字コードを表示してくれるエディタに読み込む。文 字コードはeuc-jpで改行コードはlfである。

同じことをviでするとユーザー辞書の文字コードはシフトjisで改行コード はcr+lfになる。viとmeadowでユーザー辞書を使い回すとそれぞれが保存す る際に違う文字コードを使う。これがユーザー辞書の壊れる原因である。

対策はviとmeadowで使うskkのユーザー辞書を別々のものにするしかない。 そこでvi のユーザー辞書を.skk-jisyo-viに変更する。

skkの基本辞書SKK-JISYO.Lの文字コードはeuc-jp、改行コードはlfである。 skk.vimもやはりeuc-jpとlfである。skk.vimはコメントだけでなくスクリプ 本体にも日本語を使うから文字コードは何でもよいわけではない。viが作る skkのユーザー辞書はシフトjisとする仕様になっているのであろう。

なお、基本辞書SKK-JISYO.Lは読み込まれるだけで書き込まれることはない。 何時になっても元のままである。変換履歴がユーザー辞書に書き込まれる。 まずユーザー辞書を検索して候補なしなら基本辞書から探す。そのことで変 換スピードを稼ぐ仕組みらしい。

ネット検索してもviの細かい情報は少ない。viとmeadowでskkを使う人はい ないのかな。なおホームディレクトリに置く設定ファイル名を「.vimrc」としては 駄目で「_vimrc」のようにアンダーバーで始まるファイル名にしないと有効にな らない。このことはgvim.exeのあるディレクトリのgvimrcに書かれている。 「.vimrc」では「.skk-jisyo-vi」にはならずに、おそらくデフォルト設定された 「.skk-jisyo」で保存される。

windows版vimで文字コードがシフトjisでないファイルを読み込むと[変換済] という表示が出る。それを保存するときにもやはり[変換済]と出る。内部で 一旦シフトjisに変換してから扱うらしい。保存のときは元の文字コードに 戻す変換をする。新規ファイルを保存するときにはファイルメニューのエン コード指定でシフトjis以外にしないかぎりデフォルトのシフトjisで保存す る。

vimがskkのユーザー辞書を作るときにはエンコード指定しないから当然にシ フトjis になると考えられる。そういえばvi起動後の最初の漢字変換でもた つく。しかもモードラインに何やら新ファイルを作ったと出る。丁度のファ イル名のものは見当らず末尾に.swpの付いたファイルがある。これを文字コー ドを明示してくれるエディタに読み込むとシフトjisである。冒頭は文字化 けというかバイナリファイルのようだがスクロールしてみると基本辞書 SKK-JISYO.Lである。もたつきの原因はeuc-jpの基本辞書をシフトjisに変換 するための時間らしい。なお。ユーザー辞書の.swpファイルも作成される。

SKK-JISYO.Lは3.95MBある。試しにこのeuc-jpの辞書をvimに読み込んでみる と表示されるまでに二・三秒の間が空く。最初の漢字変換のとき大急ぎでシ フトjisに文字コードを直しているとみる。

| | コメント (0) | トラックバック (0)

2008年8月 6日 (水)

vimでskkを使う

skkはemacs専用の仮名漢字変換と思っていた。viをネット検索していたら、 vimでskkが使えることが分る。skk.vimという92kBのファイルを runtime\pluginディレクトリに入れて_vimrcに辞書ファイルとユーザー辞書の ディレクトリを書くだけでよい。もちろん必要に応じて他の設定も書き込むこ とにはなる。なによりもとりあえずskkが動くことが先決である。細かいこと は後で考えればよい。

skkの設定の仕方はskk.vimのコメントに日本語で書かれている。 readme.txt が付属しないので仕方なく現物をエディタに読み込んでそれに気 付く。これを使おうとする人は日本語が読める人である。だから生の日本語で の注釈でよい。

エスケープキーを押せばその時点でskkが引っ込む。再び入力モードに戻れ ばちゃんとskkが復活する。デフォルトではskkが切れるが、設定に 「let skk_keep_state=1」を書き加えることで希望の動作にできる。

viを使って日本語のないテキストを編集するならコマンドモードと編集(入力) モードはスムーズに切り替えられる。仮名漢字変換が入ると面倒になる。

コマンドモード→編集モード→仮名漢字変換オン→日本語入力→ 仮名漢字変換オフ→コマンドモード

コマンドモードに戻るためにエスケープキーを押しても仮名漢字変換がオン のままになっていると、コマンド入力に仮名漢字変換が介入してくる。半角 入力にしておけば目的のコマンドは打てるが変換の確定操作(エンターキー を打つ)が必要になる。その度の仮名漢字変換オフ操作は面倒である。

gvimにはエスケープキーを押すと自動的に仮名漢字変換をオフにしてくれる 機能がある。エスケープキーを押したら仮名漢字変換のツールバーが消える ことで、それが分かる。

エスケープキーは左上の指が届きにくい場所にある。その代わりにコントロー ルキーと開き角括弧の同時押し(ctrl + [)という手がある。短所は逆に長所 にもなる。遠く離れた僻地にエスケープキーがあるために押し間違えは少な い。コマンドモードに入ることを左手の大きな動きで身体が意識する。

atokなどの普通に使われるfepでローマ字入力するときに数字を入れると全 角数字になってしまう。skkは数字を半角にする。文章の中に一桁の数字を 使う場合は全角数字のほうが見て呉れはよい。何桁もある数字の場合は間延 びして見栄えが悪い。その度に半角にするキー操作は煩わしい。skkは数字 を全角にしない。

全角数字はコンピュータにとっては絵文字でしかない。本来の数字とみなさ ない。日本語環境で動く表計算ソフトは、入力された全角数字を半角数字に 翻訳する。全角数字を入力して変換を確定(エンターキーを押す) するとす ぐに全角数字が半角数字に変わるのを目にする。

四桁程度の全角数字は我慢できるが億円規模になると数字がまばらすぎて格 好が悪い。全角の括弧も場所を取りすぎる。skkでは全角入力でも半角括弧 が入る。

skkは全角空白を入れない。windowsの、多分すべての仮名漢字変換は半角モー ドでないかぎり全角の空白を入れる。編集画面では全角空白1個なのか半角 空白2個分なのかが読み取れない。そのことがトラブルの原因になることが ある。日本語の正規表現検索では全角と半角の空白の両者を指定しないと予 期せぬ動きをする場合があるかもしれない。

全角空白は日本語専用の絵文字である。日本語文章整形ツールでは一字下げ の段落開始と解釈することが多い。

skkで疑問符(?)、感嘆符(!)、コロン(:)、セミコロン(;)を打つと全角 版が入る。またマイナス(ー)は音引きになり、角括弧は[]は「」になる。 句読点も全角の「、。」になる。小数点のある数字を打つときは半角モード にしなければならない。

viでskkを一度使うとwindowsのimeが起動しなくなる。skk側が主導権を取っ てしまうらしい。

| | コメント (0) | トラックバック (0)

2008年8月 3日 (日)

vistaのdos窓

vistaのdos窓でdiffコマンドを使ったらディレクトリ区切り文字が円サイン からバックスラッシュに変わる。英語モードになってしまいdiff出力の日本 語部分が文字化けする。jpやusはunknown commandで受け付けない。

そこでms-dosの本を読み返すとchcpというコマンドがあった。たぶんchange code pageの省略だろう。国番号が日本は「932」、アメリカ合衆国は「437」 と定められている

   
chcp 437    
日本語モードから英語モードに移る    
chcp 932    
英語モードから日本語モードへ移る

ネット検索により、vistaでは「日本語を使う16ビットプログラムがサポー トされない」ことが分った。vistaには、16ビットプログラムで日本語を表 示するために必要なドライバが付属しないという。16ビットプログラムには 英語版と同じ16ビット環境が提供されるために日本語は文字化けしてしまう。

16ビットプログラムと32ビットプログラムを識別するにはどうするか。マイ クロソフトのサイトに次がある。

エクスプローラから実行可能(.exe)ファイルのプロパティを見る。16ビット プログラムの場合、「バージョン」タブがない。

他のネット検索からの情報ではプロバティに「プログラム」や「フォント」 のタブがあれば16ビットアプリケーションであるという。そのらしきものの プロバティを見ると「メモリ」、「画面」、「その他」タグもある。

32ビットプログラムをテキストエディタに読み込んでみると、ファイル冒頭 に次がある。

This program cannot be run in DOS mode.

16ビットプログラムにはこの文句がない。どうやら冒頭に必ず「MZ」がある ものらしい。

(注)近畿大学福岡の角藤 亮教授のサイトに次の情報がある。

Windows 95/98 の場合、

This program cannot be run in DOS mode.

となって、Win32 コンソールプログラムが実行できないように設定 されて いることが稀にあるようです。この場合以下のようにすれば Win32 コンソー ルプログラムを実行できるようになります。

       
  1. MS-DOS プロンプトのウインドウを開く。
  2.    
  3. ウインドウの左上隅の [MS-DOSプロンプト]のアイコンをクリックする。
  4.    
  5. 現れたメニューの[プロパティ]をクリックする。
  6.    
  7. そうすると[MS-DOSプロンプトのプロパティ]なるダイアログボックス が     開くので、[プログラム] タブを選択して [詳細設定(V)...] をクリック     する。
  8.    
  9. 現れたダイアログボックスで、 [MS-DOSプログラムにWindowsを検出させ     ない(P)] にチェックが 入っていたらこのチェックをはずして OK をク     リックする。
  10.    
  11. 現れた警告ボックスで OK をクリックする。
  12.    
  13. [MS-DOSプロンプトのプロパティ] ダイアログボックスの OK をクリック     する。
  14.    
  15. MS-DOS プロンプトウインドウを閉じる。

これで次回からは、MS-DOS プロンプトウインドウで、 Win32 コンソールプ ログラムを実行できるようになります。

| | コメント (0) | トラックバック (0)

トップページ | 2008年9月 »