web-dev-qa-db-ja.com

'vi'コマンドが 'vim'エディターを開くのはなぜですか?

Ubuntu12.04を使用しています。 vimが好きで、その多くの機能を好むので、不満を言っているわけではありません。しかし、なぜそれが行われるのか興味があります。 .bashrcまたは.bash_profile.ではエイリアスされていません。この動作がどこから発生するのかわかりません。誰か説明してもらえますか?また、好奇心から、古典的なviを起動することは可能ですか?

4
G.Rassovsky

Vimは手入れの行き届いたvi互換のオープンソースエディタであるため、Linuxに最適です。私は最後に、SunOS、HP-UX、AIXなどのプロプライエタリUnixでの純粋な「vi」の実装を見てきました。 BSDでも「ラッキー」になるかもしれません。 (もちろん、Vimはそれらにもインストールできます。)

Ubuntuでは、デフォルトでインストールされるのはVimの簡略版です(vim-tiny); viスタイルの編集を行うのに十分です。実際のVimユーザーは通常、グラフィカルGVIMを含むフルインストール用にvim-gnomeパッケージをインストールします。

7
Ingo Karkat

vimviの後継です。それはviが改善されたことを意味します。

/usr/bin/viはvimへの単なるシンボリックリンクです。あなたはこれを見ることができます:

ls -l /usr/bin/vi

「クラシックvi」を開始するには:

vim -u NONE myText.txt

仕組み:vimは~/.vimrcで設定ファイルを探します。これが見つかった場合、行set compatibleが.vimrcに表示されない限り、vimとして実行されます。 .vimrcの編集とその行の追加を節約するために、-u NONEオプションを指定して.vimrcを探す必要がないようにvimに指示します。

NONEの代わりに、viのセットアップにより適した別の手書きの設定ファイルを指定できます(vimの.vimrcは、最新のvim固有の追加を含む可能性があるため、viを混乱させることがよくあります)。

Viがvimのシンボリックリンクである理由については、人々の意見しか聞いていません。古いスクリプトの実行を可能にするためだったと言う人もいます。しかし、viやvimがスクリプトで呼び出されるのを見たことはあまりないと思います。他の人は、編集したいときにviと入力するのはプログラマーのためだったと言います。

6
user251764

DebianとUbuntuは、代替手段を指すためにシンボリックリンクが使用されるシステムを使用しています。これはupdate-alternativesを使用して管理されます。 (man 8 update-altnernatives

/usr/bin/vi/etc/alternatives/viにシンボリックリンクされており、それは/usr/bin/vim.gnomeのようなものにシンボリックリンクされています。

次のコマンドは、vi機能を提供するインストール済みのバイナリを表示します。

Sudo update-alternatives --list vi

これにより、viバイナリをインタラクティブに選択できます。

Sudo update-alternatives --config vi

これにより、次のように手動で選択できます。

Sudo update-alternatives --set vi /usr/bin/nvi

これにより、自動設定に戻すことができます。

Sudo update-alternatives --auto vi

他の人が言っているように、vimはvi互換モードで実行できますが、nviと呼ばれる非常に基本的なviクローンもインストールできます。

Sudo apt-get install nvi
3
kjoonlee