viとvimエディターの違い
1. 概要
この記事では、Linuxコマンドラインで使用できるviおよびvimテキストエディターと、それらの関係について説明します。 さらに、使用しているものと状況ごとに選択するものを区別する方法についても説明します。
2. vi とは何ですか?
vi (「ビジュアルインターフェイス」の略)は、標準のコマンドラインテキストエディタです。 その起源は、コマンドライン用のUnixテキストエディタに由来します。 ed 、さまざまなエディターで進化し、最終的には
vi を実行するには、コマンドラインから呼び出して、編集するファイルを追加します。
$ vi /path/to/file/to/edit
viはモーダルテキストエディタです。複数のモードがあります。ファイルを開くと、挿入モードではなく、コマンドモードになります。 これが、まだファイルに書き込めない理由です。 Insert モードに入るには、次のキーを押す必要があります。
$ i
変更を行った後、Escキーを使用してコマンドモードに戻ることができます。 保存して終了するには、次を使用します。
$ :wq
(その後に Enter キーが続きます)。 変更を保存しない場合は、次のコマンドで終了できます。
$ :q
vi の一部のモード(オープンモードとビジュアルモード)は、 Single UNIXSpecificationおよびPOSIX標準で説明されています。 これは、viエディターがこれらの標準に準拠しているデバイスと互換性があることを意味します。 したがって、作業できるほとんどのデバイスでviが見つかる可能性があります。
3. vim とは何ですか?
vim は別のコマンドラインテキストエディタで、「viImproved」の略です。 vimは、ユーザーエクスペリエンスを向上させ、テキストエディタの効果を高める追加機能を備えたviの実装です。システムにインストールすると、vimを次のように起動できます。 vi:
$ vim /path/to/file/to/edit
vi と非常によく似たインターフェースが表示されますが、これも異なるモードがあります。 簡単なファイルを編集する場合の手順は、viの場合と同じです。 ただし、vimで利用可能な改善点は詳細にあります。
vimにはあるがviにはない機能のいくつかは、ウィンドウの分割とタブ、コードの強調表示、マクロ、複数回の元に戻すとやり直し、コマンドライン履歴、パターンマッチング、単語補完です。 これらの機能はすべて、開発者とライターの生産性を高めるのに役立ちます。
4. viとvimを区別する方法は?
それらの定義とマニュアルページから、vimがviで利用可能な可能性のスーパーセットをカバーするエディターであることは明らかです。 ほとんどすべてのUnixオペレーティングシステムでviを見つけることができます。
$ vi -h
vi: illegal option -- h
Usage: vi [- | -s] [-l] [-L] [-R] [-r [file]] [-t tag]
[-v] [-V] [-w size] [+cmd | -c cmd] file...
比較のために、 vim -h の出力を確認してみましょう(viが
$ vim -h
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 25 2022 22:13:25)
Usage: vim [arguments] [file ..] edit specified file(s)
or: vim [arguments] - read text from stdin
or: vim [arguments] -t tag edit file where tag is defined
or: vim [arguments] -q [errorfile] edit file with first error
Arguments:
...
エディター自体で確認することもできます。 コマンドモードで:help と入力すると、 vi ではエラーが表示されますが、vimではヘルプマニュアルが表示されます。
5. どちらを優先すべきですか?
単純なテキスト編集タスクの場合、viとvimはどちらも同じように動作します。ただし、 vi は、POSIX準拠(または少なくともほとんど準拠)のシステムであると予想できるため、推奨されます。 さらに、パフォーマンスに関しては、 vim は、そのより広範な機能のために、viよりも少し多くのリソースを必要とします。
ただし、コードの長いスニペットやより複雑な部分を扱う場合は、vimの機能が役立ちます。 vim (および vi )を習得するための学習曲線急勾配で、最初は面倒に見えることがあります。 しかし、長期的には、特に多くのコードを書いている場合は、それが報われる可能性があります。 vim の機能が実際に役立つ場合でも、編集の問題を vi の機能に減らす必要がある単純さから、viを好む人もいます。
最後に、言及する価値があります他の実装 vi それよりもさらに多くの機能を提供します
6. 結論
この記事では、最初にviとvimについて説明しました。 次に、それらを区別する方法と、どちらかを使用する必要があるかどうかを選択する方法について説明しました。