• ベストアンサー

viの操作の特殊性

エディタの「vi」についてなのですが、 なぜ特殊なコマンドが多いのか、疑問に思ってます。 :wや:q、ZZは別に構わないのですが、 カーソルのかわりにhjklを使ってみたり、 Deleteのかわりにxを使ってみたり、 HomeやEndのかわりに0や$を使ってみたり… ("かわり"という表現は正しくないかな) そういうキーを使えない理由があるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.3

viの特殊性は元々exというラインエディタを元にスクリーンエディタとして拡張されたという経緯からですね。 Routine-Work:/index.html - vi 概要 http://cefiro.homelinux.org/vi/printable/ 大昔は「ディスプレイ」という表示装置自体も珍しかったので、電卓みたいな1行表示の表示装置、紙に1行ずつ印字される文字を見ながらとかで操作を行っていました。 > そういうキーを使えない理由があるのでしょうか。 当時からexを使っていた人には、この方が使いやすかったんです。

infinity
質問者

お礼

そのような経緯があったのですか。 「行」の概念にこだわるのも、 そういった表示装置によるものだったのですね。 ありがとうございました。

その他の回答 (3)

noname#10642
noname#10642
回答No.4

どんなキーボードにも必ずついているアルファベットと数字キーを使うようにしているからです。 そのおかげでどんなマシンを端末にしてもviエディタの操作は可能です。 そう考えると実に合理的なエディタでしょ? ファンクションキーやカーソルキーなどはマシンに固有の特殊キーです。

infinity
質問者

お礼

なるほど、Delete等もマシンに固有のキーなのですか。 そのようなキーボードを見たことが無かったので存じませんでした。 それなら確かに納得ですね。 ちなみに手元の環境でviを使ってみたところ、 カーソルキーもDelete、BSキーも使えました。 使えるよう変えられたものもあるのかな。

回答No.2

viは元々unixで動くものですから、その辺に理由 があると思います。 タッチタイプで、右人差し指のホームポジション はjですよね。その周りにカーソル移動を配置して あるわけです。昔はunixを使う人なんてほとんど いなくて、使える人==タッチタイプ出来るみたい なものでしたから、これがもっとも効率がよかっ たわけです。 それと、コンピュータ(メインフレーム, ATARI, AMIGA, X68000, ...)のプラットフォームに依存 しないようにしている、という面もあってHome などを使わないのだと思います。 ちなみにページャのlessもjとか使いますね。

infinity
質問者

お礼

タッチタイプがどうのこうの、 という説明は検索していていくつか目にしましたが、 タッチタイプでもhomeやBS、カーソルキーは使えますよね。 私自身そうですので、理由にはならないのではないかと… ホームポジションから動かさずに済むから、 より速く操作できる、という表現なら納得するのですけどね。 回答有難うございました。

  • mokonoko
  • ベストアンサー率33% (969/2859)
回答No.1

テンキーがキーボードにあって当たり前ではなかったから。 特殊機能キーも同様。 タッチタイピングで全て操作できるというメリットもあり。

関連するQ&A