関係無いですが、PCのキートップって結構削れませんか?
家で使っているやつは“a”と“i”、“o”、“k”、“n”あたりの削れ方が半端なく、特に“i”なんて削れてしまって何の文字だか判別ができません。
爪がのびても放置してるからだな。
これらのキーはちょっと指を引きつけて指先が立った状態でタイプするからですね。
“a”なんておもいっきり左手の小指がCtrlキーから移動するときに、上からキーを叩くからだと思うし、“i”、“k”の方は右手の中指の爪先がキーを叩くからですね。
仕事で使ってるPCの方はこの調子で報告書を書いたりプログラムのコーディングするものだから、もはや他の人には使うことができないような状態になっています。1/4とまではいかなくても、全部のキートップのうちの1/5強はキートップの文字が削れてしまっているものなぁ。
まぁ、アルファベットに関してはそれでも全然気にならないのですがねぇ。
さすがに半角記号についてはある程度目で確認しないとわからないことが多いのですがね。ホームポジションから離れているからでしょうね。
まぁ、世の中にこんな状態、というかもっとすごい人とかがいっぱいいるならば、HHKみたいなキートップの印刷がまったく無いキーボードが成立する意味もわかるというものだ。
もしかしたらEmacsのキーバインドのせいで Ctrlキーとの組み合わせのキーを打つ機会が多いのも関係あるのかなぁ。今となるとEmacsの、というよりはSKKFEPの、という気もしますが。。。
昔、Emacs の前は vi 使いだったんですよね。当時の vi (vim にあらず。)は日本語の入力に難があったので、それで当時話題が出始めていた Mule for Windows (後の Mule の原形となったもの)に手を出したものでした。その前にも NEmacs とかをコンパイルして使ったりもしていました。
で、この前ちょっとどこかでみかけたネットの記事で、vim の2ストロークのキー操作のことがあったりして。
そんなの使うんだったら vi 使う意味ないやんと思う私は古い?
vi の利点はホームポジションからほとんど手を離さないでカーソル移動も入力もできることにあるのだと思っていたものですから。最近の vim は色々とマクロが増えて機能が充実してきているのですが、なんだかなぁ、と思ったりする古い vi 使いなのでした。
まずカーソル移動は、左は“h”、右は“l”、上は“k”、そして下は“j”をタイプすればよくて、例えば2行下に移動するなら単に“2j”とタイプすれば良い。コントロールキーとの組み合わせはダイヤモンドキーと呼ばれる上下左右に並んでいるキーで上下左右の移動が可能でしたが、基本は hjkl ですね。
そして文字を入力するときは、その場所にカーソルを移動して“i”とタイプして、それに続いて入力する文字を打って、最後に ESC を押します。硬派だから入力モード中にカーソルを移動させてはいけません、というか、この時点ではカーソルキー無しで移動しているからカーソルの移動そのものができないんですよね。もっともカーソルキーを押したとしてもコントロール文字が入力されるだけですけど。
これだけじゃ面倒じゃん、と思うなかれ。カーソル行の下に行を追加するなら“o”と押せば行が1行空いて行の先頭にカーソルが移動します。で、最後にやっぱり ESC と。
行を削除するなら、その行のところで “dd”とすれば良いし、カーソル位置から後の部分を全部書き換えるなら“c$“とすば良いと。この“c”は便利で、例えば英単語2語分を書き換えるなら“2cw”で済むと。わざわざ2語分を削除(“x”を押す)する必要はなくなります。2語削除するだけなら“2dw”だけですみますが、こちらは2語削除してそのあとにすぐ別の文字列が入力できるのです。
他にも vi の場合は “:”によってコマンドモードになるので、そこから複数行の削除とか文字列の置換とかできるのですが、こちらは多分今の vimer も使ってるんじゃないかなぁ。ここのコマンドがかなり複雑になってるから複雑なことができるようになってると理解しています。ここは sed コマンドの s コマンドとか使えるのも便利で好きでした。Perl も s コマンドありますね。
なんでこんなこと力説してるかというと、実は最初に vi を使ったときにはなんと全然スクリーンエディターになってなくて、ラインエディター状態だったんです ^^;;;
意味がわかりますでしょうか。
vi コマンドでファイルを開くと最初に1行目しか表示されないというやつ。で、“j”を連打すると1行づつ表示されるのでその下の行も見れるようになると。
実際はあとで環境変数の TERM が設定されていなかったことだと発見されたのですが、そこにたどりつくまでが大変でした。何せインターネットになんてつながりませんから、manコマンドでちまちま調べるしかないと。。。 TERM=vt100 としてからexport TERM とすることで、ようやっと vi がスクリーンエディターになりました。
今じゃ信じられない環境ですね。その当時、システムが壊れてて、先輩がUnixのシステムをインストールしなおしていたのですが、正規の方法でやらなかったので、色々と設定が抜けていたというのが真相なのですが。まぁ、もっとも DOS マシンから Lan カードに付属していた telnet コマンドを使ってログインしていた時代ですから、やっぱり TERM の設定は必要だったわけですがね。.profile の存在を発見するまでは、いつも呪文のようにログインすると TERM を設定していたものでした。
そんな使い方をしていたおかげで、vi の上記のような使い方を自然に(?)おぼえてしまったのですね。むしろ少ないキーストロークで結構複雑な編集ができるので、他のスクリーンエディターよりも vi を使う方が好きでしたっけ。日本語が駄目でしたが。。
で、上の説明で薄々気付いてる人がいるかもしれませんが、vi では ESC キーを連打します。
おかげで一太郎ではないですが、ESC がお友達になってしいまいました。
Emacs には M- といわゆるメタキーといっしょに操作するキーストロークが Ctrl キーとの組み合わせと同じく大量に出てくるのですが、当時は ESC を一旦押してから該当するキーを押すという操作が主でした。今は多分 Alt キーといっしょに押すというのがメインじゃないかなぁ。私はむしろ Alt は全然触れもしなかったりしますけどね。。。
Emacs は vi に比べると2ストローク操作とか M-x に続いた elisp の評価による編集操作なんかの関係でキーを打ち込む量が格段に増えました。でも、日本語を満足に使おうとするとまずは SKK だったことと、いくつかの elisp のプロジェクトに顔を見せていたおかげで、すっかり Emacs 使いになったのでした。
今は Emacs 上のメールソフトがお仕事で使えなくなってしまったので、プログラミングのときぐらいしか Emacs を使わなくなってしまったんですが。
でも、今だに SKK ライクな入力操作からは離れられない体になってしまってるのですが。
まぁ、キータッチ量が増えた vi なんて vi じゃないやい、というぼやきでした。
今と昔ではできることの量も質も違ったからなぁ。。
vi の先祖はスクリーンエディターじゃなくてラインエディターなんですよ。vi の “:”に続いたコマンドの元も、実は ex コマンドそのものだし、ex は超原始的な、(もしかしたら Unix で最初に搭載されていたエディターでは唯一だった) ed コマンドの流れを継いでいますから。
今とはまったく設計思想が異る時代のお話ですね。こういう時代の人は、IDE とかの単語補間機能とか使ってると、時々表示が遅くてイライラしてしまい、文字列を選ぶよりも入力する方が早いと思ってしまうのでした。今はプログラムで使う関数やら機能やらの数は膨大なので、スニペッドがないとやっていけないのですがね。
どうせ Fortran にはそんなもんいらんよ。。