« 2010年3月 | トップページ | 2010年5月 »

2010年4月

2010年4月30日 (金)

viにおいてキーボード(kbd)は編集コマンドメニューの一覧表である

viにおいてキーボード(kbd)は編集コマンドメニューの一覧表である

Time-stamp: "Wed Jun 13 11:45:57 JST 2012"

コマンドモードとインサートモードをエスケープキーで切り替えながら使う 面倒なviが使い続けられているのはなぜであろうか。それはキーボードが編 集コマンドメニューの一覧表になっていて取っ付きやすいからではなかろう か。編集コマンドを忘れかけたらキートップの文字を見て何をするんだっけ と思い出すことができる。

(注)viにおいてエスケープキーはコマンドモードへ復帰するためであり二つの モードをトグル(toggle)する(交互切り替えする)キーではない。二度押しもコ マンドモードへの復帰である。何度押しても害はない。二回目からアラームの 「ピン」とか「ポン」が鳴る。確実のため二度押しを奨めることもある。

vimはアメリカで開発されたものでとうぜん英語向けにつくられている。 使っているのは英語圏の人たち、そして英語を毛嫌いしない少数の勇敢な非 英語圏の人たちになる。vimの使い方説明の原本はとうぜん英語で書かれて いる。したがって日本語で書かれた(翻訳された)vimの説明を読むだけでな く、英語で書かれたものにも目を向けるべきである。マニュアル類は翻訳して あっても雑談めいたブログ記事まで手が回らない。とかくマニュアルは杓子 定規であって痒いところに手が届くような親切な書き方をしない。日本語に 翻訳されてない気楽なおしゃべり記事の中にお役立ち情報がいっぱいあるに 違いない。

アルファベット順にvimのワンキーコマンドを一覧表にしたものは日本語サ イトにもある。次のようなキーボード図解にワンキーコマンドを配した cheat sheet(カンニングペーパー)は英語サイトでしか見つからなかった。 これこそが一目で分かるもっとも便利なvimのメニュー一覧である。vimに とってキーボードがメニュー一覧なのだと気付いたときには、英語サイトを 探し回る余裕がなかった。日本では専門家しか使わないvimが、アメリカな どの英語圏では非プログラマな一般の人にも割り方と使われているのではな いかと思いつく。色々調べているうちに、コマンド入りキーボード図解を見 つけることが出来た(下手な鉄砲も数打ちゃ当たる)。

vimで日本語文を書くについては仮名漢字変換との相性によりなかなかス ムーズにいかない。私はskk.vimを使うことで切り抜けた。SKKが使えるよう になるまでのvimはハードディスクの浪費だが明日への肥やしとばかりに遊 ばせていた。マイクロソフト謹製のms-imeは使いにくい。グーグルのキー ワード入力くらいにしか使わない。切らないかぎりアルファベットにさえ確 定操作が要るms-imeはうっとおしい。skkならそれが生きていても、ホーム ポジションの「l(エル)」キーを押せば直接入力になる。「半角/全角」は僻 地にすぎる。

日本でvimは、もっぱらプログラミング用に使われるだけで小説家などの物 書きに使われることはないだろう。ネット検索で「vimで小説を書くような 変態」との言い回しをする記事に思わずうなづいた。確かに、縦書き表示の 出来ないvimを本物の小説家が使うとは思えない。日本でvimといえばプログ ラマかパソコンオタクしか使わないエディタであって、多くの人が攻略に失 敗するやっかいなしろものである。そのような事情から一般向けなvim情報 は少ないと考えられる(需要のないところに供給はない)。キーボードの図解 にコマンドを書き込んだ一目瞭然な「vim虎の巻」が紹介されることはない のである。

私が使っているvimのヘルプは日本語化しているけれど、分からないことの 説明を見つけられないことがほとんどである。まずはグーグルで検索する。 それからvimのヘルプを見て、ネタ元はここであったのかと再発見する。vim ヘルプを引くための英語キーワードが分からないのである(ヘルプ内容は日 本語化されているけれど、日本語キーワードでvimヘルプを引くことができ ない)。最初から英語ヘルプを読む気にはならない。日本語である程度の情 報を仕入れてからでないと英語情報に取りかかれない。まったく知らないこ とを英文から読み取るほどの英語読解力はない。どうにも情報が見当らなけ れば仕方なく英語サイトを読む。vimの操作も英語の読解も少しずつ慣れる しかない。

viのルーツはラインエディタである。ラインエディタはその名の通り文章の 一行ずつを編集の対象とするエディタである。何行にも渡る長大な文章を編 集することには向いていない。ラインエディタはコンピュータのプログラム を書くために作られた。コピュータに対する命令書であるプログラムは、コ ンピュータが受け付けるコマンドを書き並べたものである。各コマンドには それが処理すべき対象とか出力先そして細かな注意事項(コマンドオプショ ン)を付ける。

一つのコマンドを記述するには英数字80文字あればだいたい事足りる。そう でなければ工夫して制限に収める。初期の機械ほど性能に限りがある。どう いういきさつ(経緯)で80文字に決まったのかは分からない。とりあえず機械 を設計するには仕様を定めなければならない。たぶん、声の大きい人がエイ ヤッの掛け声とともに宣言した(鶴の一声)のだろう。

ラインエディタを遡るとIBMパンチカードに行き着く。1ドル紙幣と同じ大き さの紙カードの横方向に80個所、縦方向に12個所のパンチ穴を開ける場所を 決める。紙は電気の絶縁体であることを利用して一枚のパンチカードを80× 12=960個のスイッチにする。縦12個所は12ビットの二進数を表わす。それ が80個ある。つまり一枚のパンチカードで80個の文字列になる。一枚で960 ビットの情報ともいえる。

初期のコンピュータは英数字80文字に相当するコマンドをパンチカードで入 力している。カード一枚が一つのコマンドになる。技術的な進歩により紙 カードの代りにテキストエディタを使うようになる。紙カード一枚の内容を エディタ上の一行文字列としてそれを編集する。ラインエディタによる編集 は一行毎でよい。そのことを強調してラインエディタと呼ぶ。一つのコマン ドを二枚のカードに分割することはない。エディタが複数行を画面表示でき てもその編集作業は一行単位でよい。紙カードの代替としてエディタを使う ことになったのであるからそれでよい。

紙カードの内容を変更するには新しいカードにパンチしなおす。エディタな ら機械の中にある記憶素子に書き込んだ情報をスイッチ操作(キーボード)で 変更するだけである。パンチカードのような時間の掛かる穴開け作業はな い。紙カードと違い打ち間違えてもすぐ修正できる。作業そのものは一瞬で 終わり大幅に作業効率が上がる。

パンチカードは自動織機のジャカード織機で使われる。それをヒントにして コンピュータの入力装置にしたものである。ジャカード織機は、複雑な模様 の布を織るための模様替えの位置をカードに開けた穴の場所で制御してい る。穴位置を電気的接点としたものがコンピュータのパンチカードになる。 なお、織機は一定の模様パターンを繰り返すので何枚かのカードをつなぎ合 わせてループにしている。コンピュータでも繰り返しが必要なときは最初と 最後のカードをつないで無限軌道(カタピラー)のような使い方をしたと聞 く。紙カードより紙テープならそうしやすい。

パンチカード作成はラインエディタで置き換えられた。紙カード一枚の内容 がエディタの一行だからラインエディタは一行ずつを編集できればよい。そ うしているうちにおそらくプログラムを作る人達はラインエディタをプログ ラムの作成だけではなく普通の文章書きに流用するようになっただろう。

プログラマはプログラムにコメントを付けたりマニュアルを書いたりしなけ ればならない。少くとも自分の記憶が薄れた場合に備えてメモ書きを残す。 紙カードであればその余白に走り書きしたに違いない。ラインエディタの時 代になるとメモ書きの道具として普段プログラミングで使っているラインエ ディタを使うだろう。使い慣れた道具が一番楽である。

ラインエディタは一行単位の編集ができればよいとする仕様でスタートした から何行にも渡る長文の編集には不便がある。そこで文章書きに便利な編集 コマンドが次々に付け加えていったと考えられる。

私はviのルーツであるラインエディタを実際に操作してみた。windows 3.1 までは付属していたラインエディタedlin.exeが、その後に普通のエディタ edit.exeに差し替えられていたがwindows xpで復活したと聞く。現用の windows meにedlin.exeは付属してない。そこでxp機のものをme機で使って みることにとする。バージョンチェックで撥(は)ねられたが迂回策が見つか る。実際に操作してみて、簡単なプログラム例えばautoexec.batを編集する には使える。しかし長い文章を編集することは無理であると思う。

edlin.exeには一行ごとを編集するだけの機能(編集コマンド)しか備わって ない。本当に初期のラインエディタを再現したものという感じがする。編集 できるファイルサイズにも制限があるようで100kB程度を読み込むと全体が 表示できないようであった。

viの使い方を勉強するうちにvimのexモードに気付く。vimのコマンドモード で大文字の「Q」を打つとexモードに入る。これがラインエディタexに相当 する。わざわざedlin.exeを持ち出してラインエディタを体験する必要はな かった。今使っているvimにラインエディタexの振舞いをさせることができ る。ラインエディタを体験したかったらviをexモードにすればよかったので ある。随分と遠回りをしたようだがvimのexモードではラインエディタの低 機能さを実感できなかったと思う。

コマンドモードとインサートモードの二つのモードを持つ面倒なviが現在ま で生き残っているのは何故だろうと考える。自分が使い始めるときも投げ出 しそうになった。viとemacsがエディタの最高峰だと聞かなかったら早々と 捨てただろう。viとemacsはどらも1975年頃に原型が出来上がったらしい。 古いといっても35年くらいの歴史である。それが長いのかそうでないのかは 分からない。

二つのエディタが出来る以前にパソコン入力装置のマウスは発明された。し かし実際に使われたのは1982年発売のマックからであったという。そのため これら二つのエディタはマウスを使う設計になっていない。また矢印キーを 搭載したキーボードはあったかもしれないが一般的ではなかったようでそれ を使うデザインにもなってない。ちなみに矢印キーが何時頃に考え出されて 実用になったかという記事は殆どない。

矢印キーもテンキーもない機械式タイプライター並みのシンプルなキーボー ドから操作するようにデザインされる。エディタへの文字入力もエディタに 対する編集コマンドも同じキーボードを使う。パソコン(エディタ)はキー ボードの押されたキーが文字入力として押されたのかエディタに対する編集 コマンドとして押されたのかを識別しなければならない。

viのルーツであるラインエディタは、押されたキーを文字入力として処理す るモードとそれを編集コマンドと解釈するモードの二つを使う。現在エディ タがどちらのモードにいるかによって押されたキーの目的を判断する。

それに対してemacsはモード分けをしないで文字キーが単独で押されたなら 文字入力とし、esc, meta, alt, ctrl, shiftなどの修飾キーと組み合わさ れて文字キーが押されたなら編集コマンドとみなす。なおこれら修飾キーの 頭文字を並べてemacsにコジつけたりする。

編集コマンドはその名前の頭文字になっているものが多い。例えば保存の save、検索のsearch、置換のsabstituteなどである。同じ「s」を使っても 時と場合により働きが違う。

emacsにおけるファイル保存は「ctrl+w ctrl+s」と打つ。viのファイル保存 はコマンドモードで「:w」(write)とする。viのコマンドモードにおける 「s」はファイル保存コマンドではなく置換コマンドに割り当ててあるので コロンを前置したexコマンドと呼ばれるコマンドのうち「:w」を使う。

emacsの検索(イクリメンタルサーチ)において「ctrl+s」と打つと画面最下 行のミニバッファにカーソルが移動する。そこに検索語を入力する。1文字 入力するとカーソル位置以降にある直近のその文字にカーソルが移動する。 2文字目を入力すると現在場所以降直近の二文字にジャンプする。目的のも のが見つかったら「ctrl+g」を押して検索から抜ける。

viの検索はコマンドモードで「/」を打つ。やはり画面最下行のメッセージ ラインにスラッシュが表示されその直後にカーソルが移る。ここで検索語を 入力してenterを押すと検索コマンドを実行する以前にカーソルがあった場 所から一番近いヒット個所にカーソルが飛ぶ。

viのコマンドモードにおける「s」は置換コマンドになる。カーソル位置で 小文字の「s」を打つとカーソル文字が削除されてインサートモードにな る。希望の一文字を打つこと(実は以後に何文字でも入力できる)でカーソ ル文字を置き換えたことになる。なお大文字の「S」の場合はカーソル行を 削除してその行の最初の文字があった場所にカーソルが移りインサートモー ドになる。viの「s」または「S」コマンドはそのルーツのラインエディタの 流儀を受け継いでカーソルのある行内だけに対する編集コマンドになる。

emacsの置換は、一括置換なら「meta+x replace-string」を、対話(問い合 わせ)置換では「meta+%」または「meta+x query-replace」とする。windows における「meta+x」は「alt+x」(altを押しながらxを押す)または「esc x」 (escを押した後にxを押す)とする。ただし「meta+%」は「esc %」に限る。

emacsにおける置換のコマンドキーは憶えにくい。そこで「meta+x replace-string」とか「meta+x query-replace」のようにコマンド名のフル スペルの入力でもよい。これらを一文字も間違いなく入力するのは大変と心 配することはない。最初の数文字を入力してtabキーを押すと補完機能が効 く。複数個の候補があるときは候補リストが表示される。

emacsはラインエディタの一行だけを編集対象とする流儀を捨てている。置 換は現在カーソルからファイルの終わりまでを作業対象にする。

以上のようにemacsの編集コマンドはかなり憶えにくい。それに対してviは escを押したコマンドモーからでないと編集コマンドにならないという面倒は あるが、コマンドモードに居るなら文字キーのワンキーだけでよい。そしてコ マンドの頭文字がキートップ文字になっている。windowsのマウスを多用する エディタのようなメニューバーはなくてもキーボードの各キーがメニューになっ ている。

emacsも同じようにコマンドの頭文字を割り付けているが一緒に使う修飾 キーの組み合せが何通りもあって一筋縄ではいかない。使用頻度の多い編集 コマンドほど少いキー操作で簡単に入力できるようになっていることはviと 同じである。後から付け足されたコマンドほど憶えにくい複雑な組み合せに なるのは仕方ない。

viにしろemacsにしろ編集コマンドは憶えきれないほど数多くある。そのうち 重要なコマンドには素早く打てるワンキーを割り付けてあるだろう。viなら キーボードの各キーに何が割り付けてあるかを時々マニュアルで確認すれば よい。重要な編集コマンドは目の前のキートップに書かれた文字に割り付け てある。画面にメニューは表示されなくても手元にそれはある。編集メ ニューの探しやすさではviが優れている。viの操作においてキーボード (kbd)は編集コマンドメニューの一覧表である。忘れかけたコマンドを思い 出す手掛りはそこにある。

  • 注釈つき vi コマンドリファレンス
    http://www.k3.dion.ne.jp/~jod/viusage.html (リンク切れ)
キートップ文字に対応するコマンドをabc順に解説してある。キーボードを 編集コマンドの一覧表と見る向きには至極便利である。コマンドの頭文字と 関連づけてあり憶えやすい。

「入門vi」の出版元オライリーのページのvi記事の紹介が次にある。

「vi で特に好きなのは使いやすくするためのしゃれたカスタマイズがまっ たく必要ないことだった。個人的に vi と emacs の区別は座ったどのシス テムにもちゃんとあるということだった -- ものすごくポータブル。誰か他 の人のマシンに座っても仕事がしやすいように私の emacs の設定をコピー してまわる必要がなかった。
一度 vi のまったく直感的でないスタイルを学ぶと、驚く程簡単でものすご くパワフルだ。 UNIX にまつわる多くのことと同じく、それはたんに難しく *見える*だけだ。ちょっとした障壁を越えたら、商用のワープロよりもとて もパワフルで使いやすい(しかし、emacs の真髄も然り!)
フリーソフトウェアの寵児としての emacs の光輝く経歴にもかかわらず、 私は emacs よりも vi を使っている人の方が多いと思っている。私たちの vi の本は emacs の本よりも多く売れている -- 例年ほぼ二倍近く。 emacs はフリーのマニュアルを一緒に配布しているせいかもしれない。しかし、 O'Reilly がスポンサーとなって vi vs. emacs のペイントボールゲームを 毎年やっている Linux エクスポでひとつ良い統計を見た。ふとサインリス トをチェックしたら、 emacs チームにサインしている人より vi チームに サインしている人がおおよそ二倍ほどいることに気づいたのだ(もしかした ら、単に vi の T シャツ -- チームのユニフォーム -- が emasc T シャツ より好きだっただけかもしれないが、私はそうは思わない)。
しかし、私はこの火種に油を注ぎたくはない、perl vs. tcl vs. python の 火種に注ぎたくないのと同じく。 vi と emacs はどちらも偉大なエディタ であり、O'Reilly の中でも両方広く使われている。もし私たちのエディタ のリストを見にくれば、どちらにも強力な支持者がいることが分かるだろ う。」

原文は次にある。

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

2010年4月21日 (水)

windows meでedlin.exeを動かす

windows meでedlin.exeを動かす

Time-stamp: "Wed Apr 21 12:25:43 JST 2010"

久し振りにvimを動かす。viのルーツであるラインエディタのedやexを操作 してみたくなる。解説文を読んでの仮想体験ではなく実際に操作してみた い。昔のDOSに付いていたというedlin.comかedlin.exeを探す。windows95か ら消えたけれどwindows xpで復活したと聞く。早速xp機で試すと日本語も表 示できる。もっともvistaになると日本語は駄目ならしい。これをme機で動 かせないかと思う。

windows meにedlin.comもしくはedlin.exeは付属しない。そこでwindows xp のパソコンからコピーして使う。しかし「DOSのバージョンが違います」の メッセージで使えない。そこで古いバージョンのedlin.comをネット上で探 す。起動は出来るが説明通りの動きをしない。ms-dosプロンプトからusを打 ち英語モードにしても変わらない。海外製のものが日本語モードで動かない か本来の動きをせずにおかしくなることはよくある。

「DOSのバージョンが違います」でネット検索するとプログラムの中には、 実行時にMS-DOSのバージョンを調べ、それがあわないときには実行できない ものがあるという。SETVERコマンドを使用することによって、異なるバー ジョンでしか動作しないプログラムも実行できるようになるらしい。

setverコマンドを引数なしで実行すると現在設定されている特定のコマンド に対して返すバージョン番号の一覧を表示する。windows meにはedlin.exe は含まれていないがバージョン5.00を返すように設定してある。

verコマンドを引数なしで実行するとDOSのバージョン番号が返る。現用のパ ソコンで実行してみるとme機とxp機でそれぞれ次が返った。

Windows Millennium [Version 4.90.3000]
Microsoft Windows XP [Version 5.1.2600]

setverコマンドに引数を付けて「setver edlin.exe 5.10」とすると5.00か ら5.10に変わったことが引数なしのsetverコマンドで確認できる。作業が済 んだらwindowsを再起動することでsetver.exeによる新しいバージョンナンバー が有効になる。しかし相変らず「DOSのバージョンが違います」が出 る。

ここでverコマンドに対して返ったのはwindowsのバージョンであってdosの バージョンではないことに気付く。引数なしのsetverコマンドで出るコマン ドに対して返すバージョンナンバーに8.00がある。これがwindows meの ms-dosプロンプトでのDOSのバージョンナンバーになる。実は「setver edlin.exe 8.00」も実行してみたが駄目であった。

windows xpのedlin.exeに返すべきバージョンナンバーが分からない。思案 しているとms-dos(またはsetver.exe)が返すバージョンナンバーに受け取るほ うを合わせてしまう力技のvset.exeを見つける。setver.exeを操作するのでは なくedlin.exe のほうを改造する。

「vset edlin.exe」とすると改造可能かどうかを報告してくる。可能と出た のでsetver.exeが返している5.00を引数として「vset edlin.exe 5.00」を 実行する。作業後にwindowsを再起動したところwindows meでedlin.exeが正 常に動くようになった。

古いDOSの本を見るとsetver.exeはconfig.sysで読み込むものと書いてある。 windows meにはc:\config.sysはあるものの内容は何も書かれてないサイズが ゼロのファイルになっている。もしこれに何かを書き込んだとしても再起動の 際に元の内容なしのファイルに置き換えられてしまう。windows me では setver.exeをconfig.sysに書かなくても再起動時に自動的に処理するようになっ ている。

ところでsetver.exeはセットされた内容を自分自身の中に記録する。たいて いの実行ファイルは処理すべき対象のファイルに対して何かの書き換えをし て別ファイルに吐き出すフィルターのような動作をする。setver.exeは外部 に記録を残さないで自身の中に保存する。そのためパソコン毎に保有してい る情報が異なる。同じファイル名であっても中身は違う。windows xp機で引 数なしのsetverコマンド実行でコマンドラインに表示される内容とwindows me機のそれとはまったく違う。

「「DOSのバージョンが違います」何かソフトを使っていて、このような メッセージに出会ったことがありませんか?そんなあたたにvset.exe。ごね るプログラムに無理矢理パッチをあてて、とりあえずバージョンチェックは 回避させます。
要するに、DOSのsetverみたいなものですが、vset.exeは同じ事をするのに プログラムに直接パッチをあてるという荒業を使うのでsetverと違って常駐 量0byte。」
マイクロソフトによる簡潔な説明。
簡潔な英文解説、国コード「au」はオーストラリア。
同じく簡潔な解説、コマンドオプション一覧。
``C:\Z88> EDLIN_
To edit a file on the PC you need an editor not relying on full screen 25 lines. Edlin is a line editor supplied with DOS from version 1 to 5.
Edlin Help(http://www.algonet.se/~dennisgr/edlin.zip)
Download edlin.com from IBM-DOS 2.10, 4608 bytes.
(http://www.algonet.se/~dennisgr/edlin.com)
Get the latest version of edlin from the MS-DOS 6.22 Supplemental Utilities.
(ftp://ftp.microsoft.com/Softlib/MSLFILES/SUP622.EXE)''
このページにある上記のEdlin Helpに詳しい説明がある。どこよりも詳しい (当然に英語版)。ページの国コード「se」はスウェーデンになる。
真鍋汽船氏による使い方の概略説明。
edlinのバグとのnhk報道(実際はnhkの勇み足らしい)騒動の顛末記。
edlinを日常的に使っていた人の話し。
かなり詳しい説明がある。
長文読み物、DOS全般に渡る話し。
「エディターMS-DOSのエディターは、ASCII形式のテキストファイルをディス クに書き込み、読み込む。MS-DOSには、EDLIN.EXE(旧MS-DO Sでは EDLIN.COM)というライン・エディターが無料で添付されている。このエディ ターは、パソコンの歴史を我々に教える証言者として生き残っている。 EDLIN.EXE は、ソフトウエアと呼ぶには恥かしいくらいコンパクトなプログ ラムである。サイズは8000バイト足らずの小さいプログラム。文字列を1行単 位で編集するので、ライン・エディターという。使い方は、以下のごとし。
A>EDLIN TST.TXT
新しいファイルです.
*i
1:*this is a test.
2:*^C
*e
今作ったばかりの TST.TXT をTYPEコマンドで確かめてみよう。
A>TYPE TST.TXT
this is a test.
A>
EDLIN(エドリン)の使い心地はいかがだったろうか。昔のエディターは、 EDLINと大同小異だった。一九八五年頃からは、日本にも優れたM S-DOSエディ ターがたくさん登場した。アメリカ製なら WordMastar、国産ならMIFESが代 表選手だった。日本語の機能はFEP(フロントエンド・プロセッサー)が肩代 わりした。全角処理と日本語FEPは日本独特の必要から生まれたが、中国、 韓国などの漢字文化圏へもコンピューターが普及する上で大きな貢献を果たす に至った。
これらのエディターはスクリーン・エディターと呼ばれ、ディスプレイ全体の 画面をフルに生かしてテキストを編集できる。ワープロソフトも、広い意味で はエディターの一種である。エディターに日本語FEP、文書整形機能、それに 印刷ツールを配したものが日本語ワープロソフトである。純国産のエディター は、現在、MIFES、Vz Editorなど5~6の製品が評価を得ている。検索、置換 の両機能でテキストの品位を高め、マルチテキスト編集の機能を駆使して信じ られないくらいのスピードでテキストを書くことが可能になった。」

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

2010年4月 1日 (木)

vimにクリップボード(clipbrd)から貼り付ける方法

vimにクリップボード(clipbrd)から貼り付ける方法

Time-stamp: "Sun Feb 07 09:50:18 JST 2010"

ホームページで見つけた文章をvimエディタにコピーアンドペーストしよう とする。windowsの標準であるctrl+v(コントロールキーを押したままにして アルファベットのヴィキーを押す)では貼り付けられない。

オライリーの「入門vi」はwindows版vimにおけるクリップボードからの貼り 付けにふれてない。詳しく調べればあるのかもしれない。パラパラとめくっ ただけで見つからないなら役にたたない。結局ネット検索に頼るしかなかっ た。クリップボードからの貼り付けには「shift+insert」を使う。

テキストエディタのmeadowやvimでは「ctrl+v」が別のコマンドに割り当て られているためにwindows標準の貼り付けコマンドは解釈されない。これらの エディタは元々unixの元で作られたものがwindowsに移植されたものである。 そのためunixより新しいwindowsの流儀を理解しない。

windowsはunixを真似ている。最初はunix由来の「shift+insert」で貼り付け ていたらしい。その後にマック由来の「ctrl+v」を使うようになった。 「shift+insert」は推奨しないが残しているようである。

はじめからwindowsのソフトである秀丸やサクラエディタのメニューには 「ctrl+v」しかない。それでも明示のない「shift+insert」で貼り付けでき る。ブラウザのfirefox2やoperaそしてinternet explorerのurl欄でも貼り 付く。

キーボードショートカットキーを多用しないユーザーフレンドリーなマウス で殆どの操作ができる現代のソフトウェアなら「ctrl+v」と「shift+insert」 のどちらにも他のコマンドは割り付けられてないだろう。たぶんそれらのど ちらもが貼り付けになる。「ctrl+v」で貼り付けが出来なかったら隠しコマ ンドような「shift+insert」を試してみるとよさそうである。

ここで使うinsertというキーも普通には使わないキーである。おそらく使わ ずに済んでいる人がほどんどだろう。自分も滅多に使わない。

(注)クリップボードはclipboardと書くのが正しい。windows 2000から搭載 されたクリッボードビューアの実行ファイルの8.3形式ファイル名である clipbrd.exeを真似てclipbrdとしている。
「Windows の伝統的なキーバインドは、シフトキー、コントロールキーとデ リートキー、インサートキーを組み合わせて使うものであったが、 Macintosh の影響から、コントロールキーと C・V・Xの各キーの組み合わせ も導入された。
* カット - Control+X または Shift+Delete
* コピー - Control+C または Control+Insert
* ペースト - Control+V または Shift+Insert」

クリップボードとは

一台のパソコンにインターネットを覗くブラウザとテキストエディターを起 動する。ブラウザでグーグル検索して希望の記事を見つけたなら、その抜 き書きをつくる。毎日、この作業に明け暮れている。

知らないことを知ろうとする第一歩はそれについて書かれた文章を集めるこ と、ひたすら書き写すことである。十分に情報が集まったなら自分の理解し たことを自分なりにまとめて自分の言葉で書き記す。そうして少しずつ理解 を深めてゆく。昔は手書きでやっていた作業を、今はパソコンという文房具 でする。紙と鉛筆をキーボードとディスプレイに替えただけで、やっている ことはどちらも書き写しである。

ブラウザ画面の文章をマウスで選択する。選択部分の右クリックからポップ アップするメニューでコピーを選ぶ。テキストエディタに切り替え、先程選 択コピーした文章を貼り付ける。

コピーした文章部分の一時保管場所がクリップボードである。ブラウザの画 面を選択するとき画像も一緒に指定してしまう場合がある。これをテキスト エディターに貼り付けると、エディタでは画像を扱えないので文章部分しか 貼り付けられない。クリップボードが受け取ったものに画像が含まれていて もクリップボードが送り出す先のエディタには画像を渡さないようにするら しい。相手が受け取れる情報しか送り出さない仕組みになっている。

普段は自分のパソコンのテキストエディタにブラウザからの抜き書きを作っ ている。そんななかでグーグルドキュメントを使っみた。これはインター ネット越しでグーグルのサイトにある一種のワープロソフトを使うものであ る。文書を作成するソフトウェアはインターネットでつながった先にある。 自分のパソコンからの遠隔操作でそれを使うことになる。

自分のパソコンに表示しているどこかのホームページに表示された内容をマ ウスで選択コピーしてグーグルドキュメントに貼り付ける。このときは画像 を含めてコピーできたことに驚く。グーグルドキュメントはワープロソフト と考えてよいものであるから画像が貼り付けられることは、至って普通のこ とである。普段はテキストエディタしか使っていないので、ほぉー、こんな ことができるのだと思う。

グーグル検索でヒットした何処か遠くにあるホームページの内容を、何処に あるのかも分からないグーグルサイトからつながる先の私自身に割り当てら れた遠くの場所に保存するということができるのである。

しかし可能であることと快適であることは別物である。私の通信環境とパソ コン性能を考えたらグーグルドキュメントより自分のパソコン内にあるワー プロソフトを使ったほうがはるかに快適である。

グーグルドキュメントは近々ブラウザのfirefox2をサポートしなくなるらし い。そうなると私のパソコンからグーグルドキュメントが使えなくはないだ ろうが快適には使えない。うまく動かない場面が多くなるだろう。

十年もののwindows meを使い続けるのは限界に近づいているようである。

クリップボードからvimへの貼り付け

コピーctrl+insert
ペーストshift+insert
カットshift+delete
ctrl+delete (番外)

insertをコピー(ctrl, copy)とペースト(shift, paste)で共用している。 カット(切り取り)は元の場所から無くなるのでdeleteを使うのだろう。その ときctrlとshiftのどちらを使うかを迷いそうなので、どちらでもよいとし たと考えよう。

マッキントッシュ由来のコントロールキーとc、v、xを使う流儀を先に憶え てしまったのでインサートとデリートを使う方法が身につくには時間が掛か る。windows流儀はunixから流れてきたものであろうから憶えておいて損は ないはずである。

「c」はコピー(copy)の頭文字、「v」は挿入箇所を指示するチェック印、そ して「x」は切り取る鋏の意味を持たせているとして憶えた。

「Windows環境のvimエディタでは、次のコマンドでクリップボードのデータを 操作できます。この操作は、ノーマルモード、入力モード、コマンドライ ンモード、ビジュアルモード、検索と全ての操作で使用可能です。
Controlキー + Insertキーでコピー
Controlキー + Deleteキーでカット
Shiftキー + Deleteキーでカット
Shiftキー + Insertキーでペースト」

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

« 2010年3月 | トップページ | 2010年5月 »