5

私は最近 vi を手に取り始め、いくつかのチュートリアルを経てそれに慣れようとしました。しかし、私はまだそれについていくつか質問があります。

小さな 1 つのファイルの変更には適しているように思えますが、大きな変更を行うようになるとすぐに、それが不足しているように思えます。たとえば、コードの書式設定、インポートの整理、すべてのパッケージの簡単な概要、および IDE が提供するその他の機能に慣れています。vi を IDE として使用する方法に関するチュートリアルをいくつか見ましたが、せいぜいぎこちなく感じました。

vi の一般的な使用例は何ですか? 通常、小さなファイルの編集に使用されますか、それともより大きなプロジェクトに使用できますか? 大規模なプロジェクトで使用する場合、どのように機能させるのでしょうか? それとも、vi キーバインディングで IDE を使用する方がはるかに簡単でしょうか?

4

12 に答える 12

24

人々は次の理由でコーディングにVi(m)のような非IDEエディタを使用します。

  1. それらは気を散らすものではなく、仕事に集中することができます。
  2. 彼らはあなたの画面領域を乱雑にせず、あなたにより多くのコードスペースを提供します
  3. 彼らはより速い
  4. 彼らは指のストロークでより良い/より速い/より涼しいテキスト操作を持っています
  5. たまたまキーボードから手を離してマウスを保持し、あちこちにドラッグしてクリックします。
  6. また、デバッガー、ドキュメントビューアーなどの他のツールをサポートする柔軟性もあります。
  7. また、コード折り畳みなどを取得する方法もあります。

理想的な作業サイクルが座っている通常のプログラマーの場合、コードを記述し、テストし、デバッグし、さらにコードを追加し、デバッグをテストします。Viは、作業をより速く、より効率的に行うためのシンプルで強力な環境を提供します。

IDEを何年も使用していた人にとっては、先史時代のツールを使用しているようなものかもしれませんが、最初の数日間を終えると、振り返ることはできません。彼らはこれ以上良いものはないように感じるでしょう。

于 2009-08-21T08:35:14.933 に答える
12

なぜ、ああ、なぜ、それらを行う #?@! ナッツヘッズはviを使用しますか?

于 2009-08-21T08:25:49.773 に答える
7

Python で大規模なプロジェクトと呼べるようなことは何もしていません (小さなテスト スクリプトのみ) が、Vim は大規模な組み込み C アプリケーションを作成するためだけに使用しており、IDE の必要性を感じたことはありません。

Vim は、起動も使用も非常に高速で、(少しカスタマイズすれば) IDE でできることのほとんどを実行できます。コード補完、コードの自動インデント、再フォーマットを行い、リファクタリングに非常に優れています。プロジェクト プラグイン http://www.vim.org/scripts/script.php?script_id=69を使用すると、多数のファイルを含むプロジェクトを簡単に管理できます。タグリスト プラグイン http://www.vim.org/scripts/script .php?script_id=273は、ソース コードの閲覧に最適です。また、C コードを Python コード、アセンブリ コード、latex ドキュメントと並べて開くこともできます。それぞれに別のツールを使用する必要はありません。

全体としては、Vim が提供する非常に価値のある機能が 1 つありますが、それは他のエディターがほとんど提供していないものであり、それを失うのは非常に難しいと思います。ウィンドウを次のように 3 つの部分に分割することができます。

GVIM 分割ウィンドウ

各サブウィンドウには、個別のファイルまたは (スクリーンショットのように) ファイルの個別の部分を表示できます。私は emacs がこれを実行できると思いますが (私が間違っている可能性もあります)、多くの IDE が実行できるとは思えません。これは、リファクタリングやファイルの他の部分の参照に非常に役立ちます。

于 2009-08-21T08:33:13.737 に答える
6

VI(M) と Emacs を主なエディターとして何年も使用してきました... IDE に切り替えようとしましたが、なかなか抜け出せないことがわかりました。しばらくすると、いつも VI(M) または Emacs に戻ってしまいます。主な理由の 1 つは、IDE ではマウスが頻繁に必要になるため、手がキーボードから離れる必要があることに気付いたことです。

于 2009-08-21T08:20:41.530 に答える
3

これが私がそれを使用する理由です。

  1. 起動が速い
  2. 複数のプラットフォームで利用でき、すべての Unix マシンで使用できます
  3. 使用するのが速い(一般的な操作のキーストローク、単語/段落に基づく操作など)

しかし、大規模な開発作業には IDE を使用しています。なぜなら、IDE のコード認識機能とリファクタリング機能を考えると、生産性で打ち負かすことができるとは信じられないからです。私は Eclipse を使用していますが、それに VI エディター エミュレーターを接続しています。詳細については、この回答を参照してください。

于 2009-08-21T08:21:51.060 に答える
2

私は頻繁にリモートシステムで作業したり、クラスターのプログラミングを行ったり、ヘッドレスボックスで構成ファイルを編集したりしています。これらはすべて、ファイル転送、通常のIDE、および別のファイル転送で実行できますが、SSH経由でVIMを使用する方がはるかに高速です。

于 2009-08-21T08:38:23.367 に答える
2

VI を IDE として使用する方法に関するチュートリアルをいくつか見ましたが、せいぜいぎこちなく感じました。

最初にすべきことは 1 つあります。VIM では、まともな IDE と同じ種類のグラフィック エクスペリエンスを得ることはできません。

とはいえ、VIMは本格的な IDE の多くの機能を実際に提供しており、それ以外にも多くの利点があります私はほぼすべての開発作業とすべてのテキスト ドキュメント ( Vim-LaTeXを使用) に VIM を使用しています – 実際には Apple のオフィス スイートである iWorks にお金を払っています。

ただし、まだ私を悩ませている点が 1 つあります。それは、IntelliSense を機能させることができないということです。私にとって、これは大きな問題です。特に、優れた IDE サポートが存在する VB、C#、または Java などの言語を使用する場合はそうです。

そのため、VIM の学習曲線は急勾配ですが、あるポイントを過ぎると、すべてがぎこちなくなります。実際、VIM の編集エクスペリエンスと比較すると、簿記は得意ですが、編集が苦手な IDE が突然ぎこちなく感じられることがわかります。

于 2009-08-21T08:33:55.747 に答える
1

ほとんどどこでも見つけることができます (または簡単にインストールできます) - UNIX、Linux、DOS、Windows、Mac、BeOS、および POSIX 準拠のシステムを含む、標準 C ライブラリを実装できるすべてのシステムで実行されます。

リモート サーバーにログインして、自信を持って構成ファイルを編集できる機能は、非常に貴重です。

于 2010-03-19T19:24:44.950 に答える
1

Vim はコード認識が苦手です。得意とするのはテキスト操作です。代わりに編集するのではなく、テキストを編集するためのツールを提供します。「小さな」編集を行うだけで、ときどき「知っておきたいvimコマンド」を読まなければ、提供される力を理解することはできません.

コードのフォーマット

フォーマットは = で行います。equalprg に外部プログラムを指定して、フォーマットを行うこともできます。

輸入整理

Vim は未使用のインポートを削除できませんが、インポート行を選択すると

:'<,'>sort

すべてのパッケージの簡単な概要

:vs .

これにより、現在の作業ディレクトリを含む垂直ウィンドウが開きます:)

結論として、vim は IDE を置き換えることはできませんが、テキストを編集できるようになります。

于 2009-08-21T15:35:20.240 に答える
0

私は vi よりも vim の方がはるかに好きで、それらをひとくくりにしないことを好みます。Vim には、非常に便利ですぐにわかるとは限らない機能がいくつか用意されています。すでに述べたのは画面分割です。また、ctags または exctags をチェックアウトすることもできます。これらを使用すると、vim 内からコード ベースをジャンプできます。呼び出されたメソッドの上にカーソルを置いたり、定義にジャンプしたり、そのメソッド内の定義にジャンプしたりできます。バグを追跡するのに非常に強力です。Cscope も同様のプログラムです。

Vim では、環境内で任意のシェル コマンドを実行することもでき、強力な検索および置換機能を備えています。

IDE はそれらのほとんどを提供しますが、vim は従来の GUI ベースの IDE に対して何を提供するのでしょうか? それは簡単です。CLI で実行されます。

これにより、開発ボックスにログインし、画面を実行し(なじみのない人のためにチェックアウトするもの:http://www.gnu.org/software/screen/)、開発ボックスの画面セッション内で複数のvimセッションを実行できます。その日の仕事を離れるとき、ビルドの実行中であっても、作業セッションを終了したときと同じように終了できるようになりました。翌日出勤すると、まるで外出していないかのように自分の環境から接続できます。

vim または vi が特に好まれるもう 1 つの理由は、ほぼすべての Unix 環境で使用できることです。

于 2010-03-19T19:58:43.933 に答える
0

いつものように:あなたがしなければならない仕事に応じてあなたのツールを選んでください!;-) Vim と Visual Studio を使用しています。1 つだけを選択する必要はありません。

  • IDE が必要な場合は、IDE を使用してください。Vim はテキスト操作用に作られています。
  • あらゆる言語に対応しています。Visual Studio で Ruby スクリプトを編集してみてください。
  • 大きなファイルのパフォーマンスは、ほとんどの IDE よりもはるかに優れています。IDE を使用して、10 万行以上のログファイルを分析してみてください。
  • 多くのプラットフォームで実行され、サーバー上のファイルを編集する必要がある場合は、リモート コンソール経由で使用できます。
  • ...

IDE は特殊なツールであり、作成された問題に適しています。Vim は信じられないほど柔軟で強力な汎用ツールです。

于 2009-08-21T08:25:07.607 に答える
0

これは明らかにホットな話題なので、私がコーディングに IDE エディターを好む理由のリストを示します。1) コマンドを覚えたり入力したりしなくても、コードのセクションを折りたたむことができるようにしたい (Vi(m) ができるかどうかはわかりません)。

2) コンパイル コマンドとオプションのライブラリを覚えるよりも、ワンクリックのコンパイル ボタン/コマンドを好む

3) 私はハイライト コピー ペースト操作をしなくても簡単な方が好きです。

さて、今ではあなたは絵を手に入れます。私はVi(m)をノックしているわけではありません.コーディング環境の要素と機能を視覚的に表現することで、頭がすっきりし、存在を知らない可能性のあるオプションの探索が促進されると思います.

于 2010-03-19T19:39:24.653 に答える