Loading AI tools
テキストエディタ ウィキペディアから
vi(ヴィーアイ)は、Emacsと共にUNIX環境で人気があるテキストエディタ。ビル・ジョイによって開発された。名の由来は「visual editor」ないし「visual interface」とされる[1][2]。後発のUnix系OSに搭載されているviは、上位互換のVimやnviであることが多い(viコマンドでvimやnviが起動する)。
viで空のファイルを編集中の画面。(チルド記号はファイル中に行がないことを示す。) | |
開発元 | ビル・ジョイ |
---|---|
初版 | 1976年 |
リポジトリ | |
種別 | テキストエディタ |
公式サイト |
ex-vi |
Berkeley Software Distribution (BSD) の創始者であるビル・ジョイが、最初のBSDを公開するにあたり開発していたPascalコンパイラを快適に作成するために開発したのが始まりである。当初はそのPascalのソースコードに同封され、その奥底に埋もれていたため、単体のソフトウェアとしての提供は認知されていなかった。この段階ではexと呼ばれるラインエディタであり、まだ現在のようなスクリーンエディタではなかった。
後にカリフォルニア大学バークレイ校にLear Siegler ADM-3A端末装置が導入されたのを機に、ビル・ジョイ自身により更なる改良を加えられたものが、現在のviと呼ばれるエディタである。
このような特徴は一見欠点にも見えるが、慣れにより素早いカーソルの移動や編集操作ができ、作業効率が上がるようになる。また、マウスカーソルやカーソルキーの使用を強制していないため、それらが利用できないハードウェア上でも利用することが出来る。(Vimのようなviクローンの中にはGUIやIBM-PCの一般化により、使用できるものも存在する。)
viはラインエディタのexを祖先に持ち、多くの特徴を受け継いでいる。
ラインエディタでは、目的の行を抽出、編集、更新というサイクルで編集を行う。現在主流のスクリーンエディタと異なり、内容の閲覧/編集はそれぞれ独立した機能であり、インタラクト(対話的)に動作しない。しかしそれだけでは利用が困難なので、exでは「特定のパターンにマッチする行内で内容を置換」「外部コマンドによるフィルタ」などのプログラムインタプリタ的な支援機能が充実している(sedは同様の背景をルールマッチ型にしたフィルタ記述インタプリタである)。
viはexのスーパーセットであり、閲覧・抽出に相当する部分をフルスクリーン/インタラクトに拡張して独立の移動コマンド体系を与えたものである。従って分類上はスクリーンエディタに含まれるが、設計思想はビュワーを伴うラインエディタに近い。
そのような背景から、特にWYSIWYGに慣れたユーザーに対して戸惑いを与えるユニークさが多い。有名なのは、初期状態で、打鍵した文字がテキストとして入力されるのではなく、編集コマンドとして解釈される点である。この理由で「viはモードを持つエディタ」と呼ばれる場合が多い。
viが開発された1976年時点で、ビル・ジョイは300baud~1200baudのモデムを使っていたため、そのような環境において利用されることを想定して設計されている。
viはexのスーパーセットなので、exの編集機能はすべてviでも使用できる。これをexコマンドと呼び、コマンドモードで : に続いて入力されるものが当たる。:の代わりにQとタイプしても ex モードに入り、ex コマンドが利用できる[4]。
例えばファイルを保存する :w やエディタを終了する :q など、編集のメタレベルに関わるもの、特定の行番号や正規表現にマッチする行アドレスに対して編集を行うもの、上記のマクロ機能などが含まれる。
(厳密にはiやaなどのインサートモードへ移行するコマンドもexコマンドの略記と見なされる)
viはコンパクトで負荷が小さいため、作業中にテキストファイルの一部を書き換えたり、通信速度の遅いネットワークの先にあるマシンで編集したりといった作業に向いている。 また、コンパクトで負荷が小さいという利点から、最低限のUNIX環境でも含まれている事が多く、スマートフォン、無線LANルータ、液晶テレビなど、コアシステムとしてLinuxを採用しているハードウェアの多くにviもしくはvi互換のエディタが搭載されている。
PC-UNIXにおいては現在はオリジナルのviが使われることはあまり一般的ではなく、模倣して作られたvi互換エディタ(クローン)の利用が一般的である。一般的なディストリビューションではviのシンボリックリンクがviの本来のパスに置かれ、互換エディタにリンクしている。また、オープンソースプロジェクトによる開発が多いため、UNIXの1つであるmacOS、AndroidなどのLinuxはもとより、本来互換性のない独自環境であるMS-DOSやWindowsといった他のプラットフォーム上で実行可能な互換エディタも存在する。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.