VimとIDEは2つの異なるものです。

vimとIDEについての別の記事を見て、自分の考えを共有することにしました-誰かに役立つと思われる場合、地獄は冗談ではありませんか?..



実際、この記事は、 「VIM:なぜ、IDEがあれば、どのように?」という記事の解説で別のユーザーが表明したアイデアの詳細な説明になります

基本的に、IDEはエディターと異なり、IDEはターゲット言語で編集されているコードの構文ツリー(または何らかの近似)で動作し、エディターは文字と文字列で動作します。



vimとIDEは異なるタスクのための異なるツールであるという考えから始めます。 まったく異なる、さらに重複しないタスク。



IDE



IDEのタスクは、プログラミング言語の1つでプログラムを開発することです。 IDEがプログラミング言語を「理解」するほど、開発者に提供できる便利な機能が増えます。 最も基本的なものから開始-構文の強調表示、そして最も高度なもので終了-潜在的なエラーの強調表示とリファクタリング。



例として、RoslynプロジェクトとVisual Studioを考えます。 これについては、1つの古い記事-Microsoft "Roslyn" CTPの概要で読むことができます。



マイクロソフト「Roslyn」CTPの紹介記事からの引用
以前は、コンパイラはブラックボックスのように機能していました。プログラムのソースコードを入力に送信し、出力でアセンブリを取得します。 コンパイラーが形成するすべての知識と情報は破棄され、誰も使用できなくなります。



Somaが彼のブログで書いているように、Visual Studio言語チームの一部はRoslynと呼ばれるプロジェクトに取り組んでいます。 その主な目標は、C#およびVBコンパイラを書き直し、マネージコードで言語サービスを作成することです。 クリーンで最新の管理可能なコードを使用して、当社のチームはより生産的になり、より速く革新し、より多くの機会をより速く、より良い品質で提供できるようになります。



さらに、C#およびVBコンパイラをすべての内部情報とともに開き、コード分析を利用できるようにします。 パブリックAPIを提供し、C#およびVB言語サービスで拡張ポイントを提供します。



これにより、VisualStudio拡張の新たな可能性が開かれます。強力なリファクタリングツールと言語分析ユーティリティを作成し、パーサー、セマンティックエンジン、コードおよびスクリプトジェネレーターをアプリケーションで使用できるようにします。




要するに、RoslynはコンパイラーにAPIを提供するプロジェクトです。 これにより、IDEは、コンパイラーと同様にプログラミング言語を「理解」できます。



Vim



Vimのタスクはテキスト編集です。 それだけです ポイント。 真剣に。 そして今、私が意味することを説明します。



主な「トリック」vim'a-テキスト要素の「理解」:単語、行、文、段落など Vimの最低レベルで最もシンプルなレベルは、テキストを操作するために調整されています。 余分なものを使用せず、構文の強調表示なしでもvimで作業してみてください。 これは忘れられない経験になることを保証します。

vimについてのHexletウェビナーで、 www.youtube.com / watch?v = 79OWQ1qJwtoのようなものが聞こえたようです。



しかし、そこにはvimをマスターする際の主な困難があります。vimが機能するという観点から考える必要があります。 これはIDEの問題ではありません-プログラミング言語を勉強し、IDEと同じ用語で作業します。 vimの場合、これは明らかではありません。 メンタルガイドを変更するのに時間がかかりました。 私はかつて考えていました:



この行またはコード内のこの場所に移動する必要があります。 そして、マウスを使ってカーソルを正しい場所に置きます。 今では少し違って見えます:



この行に行かなければなりません。 うーん...パブリックメソッドの宣言で次の行に移動します。 /公開

3dwの 3つの単語を削除する



これはすべて、最初の段階ではかなり不便に見えますが、比較的単純なアクションで複雑なことを行うことができます。 たとえば、ログがある場合、1つのコマンドで「例外」のないすべての行を削除できます。



さらに、テキスト要素の観点で機能し、より柔軟なマクロのシステムを使用できます。



あなたはまだ可能性について多くを書くことができますが、この記事はvimの「プラス」についてではないので、結論に行きます。



一緒に



読者はおそらく疑問を抱いていました。なぜこれらすべてのvim用プラグインなのでしょうか? これが彼の仕事ではない場合は?



さまざまなIDE機能をシミュレートするプラグインは、2つのツールを組み合わせようとする試みです。 IDEのプラグインがvimの作業を模倣するのと同じ方法で。



苦労してvimからIDEを作成することができます。 より簡単な方法で、vimの機能のいくつかをお気に入りのIDEに追加できます。 または、最も簡単な方法で行くことができます-vimを使用しないでください。 vimを使用すると、追加の「モード」の作業が可能になります。これは、プレーンテキストのようにコードを操作する方が便利な場合です。



結論



IDEとvimはタスクごとに異なるツールであり、これらの2つのツールを統合する理想的なオプションがないということだけが反対であると強調したかったのです。



私の意見では、IDEとテキストエディターが特定のAPIを介して相互作用する個別のモジュールである場合(IDEとRoslynコンパイラーの間で行われるように)最良の解決策になるでしょう。 そのため、テキストの操作に最適なエディターをIDEに埋め込むことができます。



All Articles